Commit graph

2526 commits

Author SHA1 Message Date
Joey Hess
4cca9cef0c
update 2014-04-09 16:43:43 -04:00
Joey Hess
33b8cff433 webapp: Show a network signal icon next to ssh remotes that it's currently connected with. 2014-04-09 15:26:41 -04:00
Joey Hess
356eec08a6
typo 2014-04-09 14:22:59 -04:00
Joey Hess
fb73792f72 make git-remote-daemon ssh transport robust
* Remote system might be available, and connection get lost. Should
  reconnect, but needs to avoid bad behavior (ie, constant reconnect
  attempts.) Use exponential backoff.

* Detect if old system had a too old git-annex-shell, and show the user
  a nice message in the webapp. Required parsing error messages, so perhaps
  this code shoudl be removed once enough time has passed..

* Switch the protocol to using remote URI's, rather than remote names.
  Names change. Also avoids issues with serialization of names containing
  whitespace.

This is nearly ready for merge into master now. I'd still like to make the ssh
transport smarter about reusing ssh connection caching during git pull.

This commit was sponsored by Jim Paris.
2014-04-09 14:14:55 -04:00
Joey Hess
ccfceb887c update 2014-04-08 15:30:32 -04:00
Joey Hess
fac7bca05b assistant: Now detects immediately when other repositories push changes to
a ssh remote, and pulls.

XMPP is no longer needed in this configuration!

Requires the remote server have git-annex-shell with notifychanges support.

(untested)

This commit was sponsored by Geog Wechslberger.
2014-04-08 15:23:50 -04:00
Joey Hess
9a4a3bfb43 fix STOP 2014-04-08 13:51:49 -04:00
Joey Hess
fa0cf81b26 cleaned up AnnexState handling in transports 2014-04-08 13:42:57 -04:00
Joey Hess
b3b07ab330 clarify 2014-04-08 12:09:24 -04:00
https://id.koumbit.net/anarcat
f9824f0f55 clarify that this is mostly done (i think?) 2014-04-07 04:41:56 +00:00
Joey Hess
43909723b3 added git-annex remotedaemon
So far, handling connecting to git-annex-shell notifychanges, and
pulling immediately when a change is pushed to a remote.

A little bit buggy (crashes after the first pull), but it already works!

This commit was sponsored by Mark Sheppard.
2014-04-06 19:10:23 -04:00
Joey Hess
0fbbec261d git-annex-shell: Added notifychanges command.
This will be used by the remote-daemon to quickly tell when changes have
been pushed from some other repository into a ssh remote.

Adjusted the remote-daemon protocol to communicate changed shas, rather
than git branch refs. This way, it can easily check if a sha is new.

This commit was sponsored by Carlos Trijueque Albarran.
2014-04-05 16:10:39 -04:00
http://johan.kiviniemi.name/
0c48ba389e Added a comment: Rolling hash chunking 2014-04-04 14:16:25 +00:00
Joey Hess
18b85e6caf
update 2014-04-03 15:28:36 -04:00
Joey Hess
5735f73af6
update 2014-04-03 15:25:14 -04:00
Joey Hess
4d5c01bc52
big todo 2014-04-03 15:23:53 -04:00
Joey Hess
dde5f8527c
update 2014-04-03 15:07:34 -04:00
Joey Hess
160abff4f6
reload 2014-04-03 14:56:29 -04:00
Joey Hess
32f44e7b83
add design for git-remote-daemon 2014-04-03 14:53:09 -04:00
Joey Hess
9b707f0116
windows fix try 2 2014-04-02 18:02:32 -04:00
Joey Hess
8e21d26cd1 update roadmap month 2014-04-02 17:14:19 -04:00
216.115.165.4
4e90050b34 poll vote (Google Drive) 2014-03-21 20:46:26 +00:00
131.130.79.56
c6b714c8df poll vote (Google Drive) 2014-03-21 12:07:22 +00:00
Joey Hess
fac8198a2f fix up old comments that used format=txt, which is no longer enabled 2014-03-20 12:09:09 -04:00
Joey Hess
07678409c7 link to another place this could be used, perhaps 2014-03-18 15:53:06 -04:00
Joey Hess
21b8461483 link to another item 2014-03-18 15:31:41 -04:00
192.171.33.111
f58b37daa2 poll vote (/sdcard/annex) 2014-03-17 16:08:53 +00:00
93.128.10.19
bac2bd7d49 poll vote (/sdcard/annex) 2014-03-16 12:38:41 +00:00
78.53.214.75
7ad37ffd6f poll vote (DCIM directory (photos and videos only)) 2014-03-16 10:18:12 +00:00
194.197.235.109
a109d50684 poll vote (/sdcard/annex) 2014-03-16 07:53:27 +00:00
http://joeyh.name/
593d9a7537 Added a comment 2014-03-15 21:30:52 +00:00
bremner
739f3d56a1 Added a comment: convenient way to query metadata? 2014-03-15 20:58:28 +00:00
bremner
747193b590 removed 2014-03-15 20:54:57 +00:00
bremner
664a45b082 Added a comment: How to read metadata conveniently? 2014-03-15 20:49:00 +00:00
Joey Hess
05336116a4 implemntation plan 2014-03-13 19:37:41 -04:00
Joey Hess
69a1aaa40f
doubled speed with esqeleto 2014-03-13 11:09:05 -04:00
Joey Hess
3e86d35e84
fixed slow query on normalized table; still 10x slower than current .map files 2014-03-13 09:38:20 -04:00
Joey Hess
46aab35eb0 add 2014-03-12 18:11:35 -04:00
166.70.207.2
eb7e77bf34 poll vote (Tahoe-LAFS) 2014-03-11 20:35:18 +00:00
Joey Hess
ba4df0f112 update roadmap month 2014-03-05 13:27:18 -04:00
Joey Hess
d0fce426c4 pre-commit-annex hook script to automatically extract metadata from lots of types of files
Using the extract(1) program to do the heavy lifting.

Decided to make git-annex run pre-commit-annex when committing. Since
git-annex pre-commit also runs it, it'll be run when git commit is run too,
via the pre-commit hook. This basically gives back the pre-commit hook
that git-annex took away. The implementation avoids repeatedly looking
for the hook script when the assistant is running and committing
repeatedly; only checks if the hook is available once.

To make the script simpler, made git-annex metadata -s field?=value
only set a field when it's not already got a value.

This commit was sponsored by bak.
2014-03-02 20:11:58 -04:00
Joey Hess
34059c09e2 update 2014-03-02 16:27:04 -04:00
Joey Hess
06e39e6a79 update 2014-03-02 15:53:31 -04:00
Joey Hess
06e9080f01 metadata: FIeld names are now case insensative. 2014-02-25 18:45:09 -04:00
https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus
e52f64f202 Added a comment 2014-02-25 09:57:09 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus
5ebabc0841 Added a comment 2014-02-25 09:51:17 +00:00
Joey Hess
0506764fc3 update 2014-02-24 14:45:19 -04:00
Joey Hess
a26ae550a5 more todos 2014-02-23 00:25:35 -04:00
Joey Hess
5758f34e72 Merge branch 'master' of ssh://git-annex.branchable.com 2014-02-23 00:13:55 -04:00
Joey Hess
7498c5dd96 annex.genmetadata can be set to make git-annex automatically set metadata (year and month) when adding files 2014-02-23 00:08:29 -04:00
https://www.google.com/accounts/o8/id?id=AItOawm3vKzS4eOWYpKMoYXqMIjNsIg_nYF-loU
bf0d1d6017 Added a comment: Already existing metadata implementation 2014-02-22 21:45:26 +00:00
Joey Hess
c6fae24f7c etoolong 2014-02-22 16:37:13 -04:00
Joey Hess
2d2a480325 Merge branch 'master' of ssh://git-annex.branchable.com 2014-02-22 16:35:48 -04:00
Joey Hess
079b35a1a8 views: add automatically constructed file location metadata
When constructing views, metadata is available about the location of the
file in the view's reference branch. Allows incorporating parts of the
directory hierarchy in a view.

For example `git annex view tag=* podcasts/=*` makes a view in the form
tag/showname.

Performance impact: I benchmarked git annex view tag=* in the conference
proceedings repo to take 6.459s before this change, and 6.544s after.

FWIW, I considered making the syntax for this be podcasts/*, which might
be easier for the user to learn. However, I think it's not as good:

* The user has to then juggle two different syntaxes, and podcasts/* will
  be expanded by the shell so they also need to quote it, while podcasts/=*
  is unlikely to be expanded by the shell.
* It would allow for things like podcasts/*/* and *.mp3 which do not
  map well into views.

This commit was sponsored by Aurélien Pinceaux.
2014-02-22 16:27:53 -04:00
https://id.koumbit.net/anarcat
505db554f6 add missing traillink, so that we don't jump from disaster recovery to telehash.. 2014-02-22 05:19:52 +00:00
Joey Hess
ddba85bf72
bold 2014-02-20 16:42:24 -04:00
Joey Hess
991f0ad5c2 update roadmap 2014-02-20 16:38:49 -04:00
Joey Hess
19faebd962 better syntax for directory metadata 2014-02-20 16:36:30 -04:00
Joey Hess
73ed2f8ec1 remove spam 2014-02-20 14:57:48 -04:00
Joey Hess
bbb7440162
better proposed syntax for filename derived metadata 2014-02-20 13:04:57 -04:00
Joey Hess
c7489ad4e2
todo: metadata derived from master branch filename 2014-02-20 13:00:05 -04:00
Joey Hess
2f52fa60d1 todo: git annex add while on view, what to do? 2014-02-20 12:37:28 -04:00
Joey Hess
19bec37590 todo: assistant support 2014-02-20 12:34:11 -04:00
Joey Hess
0dba83aa87
update 2014-02-19 17:50:30 -04:00
Joey Hess
67fd06af76 add git annex view command
(And a vpop command, which is still a bit buggy.)

Still need to do vadd and vrm, though this also adds their documentation.

Currently not very happy with the view log data serialization. I had to
lose the TDFA regexps temporarily, so I can have Read/Show instances of
View. I expect the view log format will change in some incompatable way
later, probably adding last known refs for the parent branch to View
or something like that.

Anyway, it basically works, although it's a bit slow looking up the
metadata. The actual git branch construction is about as fast as it can be
using the current git plumbing.

This commit was sponsored by Peter Hogg.
2014-02-18 18:22:20 -04:00
https://www.google.com/accounts/o8/id?id=AItOawlVsvZpOtQ_ukVysPjQxJEBlKCM5lsgPkk
dcbb0bfc9e Added a comment: nice 2014-02-15 09:51:32 +00:00
Joey Hess
7a0b485c4d
reference branch 2014-02-13 11:39:03 -04:00
Joey Hess
9f7e76130e add metadata command to get/set metadata
Adds metadata log, and command.

Note that unsetting field values seems to currently be broken.
And in general this has had all of 2 minutes worth of testing.

This commit was sponsored by Julien Lefrique.
2014-02-12 21:30:33 -04:00
Joey Hess
1b79d18a40 data types and serialization for metadata
A very haskell commit! Just data types, instances to serialize the metadata
to a nice format, and QuickCheck tests.

This commit was sponsored by Andreas Leha.
2014-02-12 17:57:32 -04:00
Joey Hess
b7ffe599e8
unify fields and tags 2014-02-11 16:27:27 -04:00
Joey Hess
8108efbe9f typo 2014-02-11 11:47:45 -04:00
Joey Hess
94145e8f73
cleanup 2014-02-11 11:40:49 -04:00
Joey Hess
2e5c33883d
correction 2014-02-11 11:40:09 -04:00
Joey Hess
aa06e913e5
every idea that came to me in my sleep. there were rather a lot of them 2014-02-11 11:37:53 -04:00
Joey Hess
5e8dee6cb0 interesting new design just gelled.. almost 2014-02-11 10:48:52 -04:00
http://schnouki.net/
4515fa10aa Added a comment 2014-02-11 13:44:10 +00:00
http://joeyh.name/
36b1365701 Added a comment 2014-02-11 01:36:52 +00:00
Joey Hess
94f3718dfe
fix missing SETCONFIG Value 2014-02-10 21:11:48 -04:00
Joey Hess
da8ca05a02 Merge branch 'master' of ssh://git-annex.branchable.com 2014-02-10 15:28:24 -04:00
Joey Hess
54c587b617 telehash security 2014-02-10 14:56:16 -04:00
http://schnouki.net/
1e0a3addea Added a comment 2014-02-10 18:22:56 +00:00
Joey Hess
cb8dfe8dd3 update 2014-02-07 15:18:38 -04:00
139.80.40.12
1ec1029040 poll vote (Tahoe-LAFS) 2014-02-04 03:04:23 +00:00
https://thargos.myopenid.com/
8e411771d1 typo 2014-01-27 12:47:03 +00:00
Joey Hess
02896ee15d preferred content stability analysis 2014-01-22 15:55:44 -04:00
https://id.koumbit.net/anarcat
d979f2fbdf a separate sync daemon has many advantages indeed 2014-01-20 18:41:59 +00:00
Joey Hess
514a4efb7a Merge branch 'master' of ssh://git-annex.branchable.com 2014-01-20 14:30:39 -04:00
https://www.google.com/accounts/o8/id?id=AItOawm_YXzEdPHzbSGVwtmTR7g1BqDtTnIBB5s
1ba8ea0c8a Added a comment: Chunk it 2014-01-20 16:22:21 +00:00
Joey Hess
df5e2e3d65 gathd 2014-01-19 19:19:19 -04:00
https://www.google.com/accounts/o8/id?id=AItOawmz8d2M0lQDYWLSbDQSjYRHfrQkWKgPu60
8e2d2a77a5 Added a comment: re: long polling 2014-01-17 20:27:40 +00:00
http://joeyh.name/
33029e4958 Added a comment 2014-01-16 03:03:48 +00:00
https://www.google.com/accounts/o8/id?id=AItOawmz8d2M0lQDYWLSbDQSjYRHfrQkWKgPu60
9b9475525c Added a comment: long polling in Widget form 2014-01-16 00:08:12 +00:00
Richard Hartmann
6fcb0f79d1 Telelhash 2014-01-14 00:25:32 +01:00
http://joeyh.name/
980e43611a Added a comment 2014-01-13 18:45:34 +00:00
Joey Hess
c20f31a1ad add GETAVAILABILITY to external special remote protocol
And some reworking of types, and added an annex-availability git config
setting.
2014-01-13 14:41:10 -04:00
Joey Hess
57edce8ad9 external special remote protocol: Added GETGITDIR. 2014-01-13 14:00:09 -04:00
Joey Hess
eea93b4e2e add telehash design page; update roadmap 2014-01-13 13:08:58 -04:00
https://www.google.com/accounts/o8/id?id=AItOawmkBwMWvNKZZCge_YqobCSILPMeK6xbFw8
cc765f47d2 removed 2014-01-11 15:43:35 +00:00
https://www.google.com/accounts/o8/id?id=AItOawmkBwMWvNKZZCge_YqobCSILPMeK6xbFw8
f7a7d30edc removed 2014-01-11 15:42:07 +00:00
https://www.google.com/accounts/o8/id?id=AItOawmkBwMWvNKZZCge_YqobCSILPMeK6xbFw8
fb44a4c779 Added a comment: Feature request 2014-01-11 15:41:48 +00:00
https://www.google.com/accounts/o8/id?id=AItOawmkBwMWvNKZZCge_YqobCSILPMeK6xbFw8
ee9e9febd9 Added a comment: Feature request 2014-01-11 15:41:30 +00:00
https://www.google.com/accounts/o8/id?id=AItOawmkBwMWvNKZZCge_YqobCSILPMeK6xbFw8
61b9ac4309 Added a comment 2014-01-10 13:16:31 +00:00
Joey Hess
5e23dfabd6 add DEBUG 2014-01-07 13:23:58 -04:00
Joey Hess
375842aee8 notes on long-running network connections 2014-01-06 17:06:55 -04:00
http://joeyh.name/
33b8f9b474 Added a comment 2014-01-06 15:04:34 +00:00
https://www.google.com/accounts/o8/id?id=AItOawnRRUUZo3W7pAoRoST8P_l0PtUBhvYuzDg
281fd02329 Added a comment: exactly this use case: cloud remotes too small 2014-01-06 00:31:36 +00:00
Joey Hess
3e68c1c2fd add remote state logs
This allows a remote to store a piece of arbitrary state associated with a
key. This is needed to support Tahoe, where the file-cap is calculated from
the data stored in it, and used to retrieve a key later. Glacier also would
be much improved by using this.

GETSTATE and SETSTATE are added to the external special remote protocol.

Note that the state is left as-is even when a key is removed from a remote.
It's up to the remote to decide when it wants to clear the state.

The remote state log, $KEY.log.rmt, is a UUID-based log. However,
rather than using the old UUID-based log format, I created a new variant
of that format. The new varient is more space efficient (since it lacks the
"timestamp=" hack, and easier to parse (and the parser doesn't mess with
whitespace in the value), and avoids compatability cruft in the old one.

This seemed worth cleaning up for these new files, since there could be a
lot of them, while before UUID-based logs were only used for a few log
files at the top of the git-annex branch. The transition code has also
been updated to handle these new UUID-based logs.

This commit was sponsored by Daniel Hofer.
2014-01-03 16:35:57 -04:00
https://www.google.com/accounts/o8/id?id=AItOawmH-n1yD04qmSeXKKzYaXFTN1ciFWVb5As
a1dd7d46e1 Added a comment: Can't seem to get the configuration I am looking for from the webapp 2014-01-02 23:41:44 +00:00
http://joeyh.name/
15a4588116 Added a comment 2014-01-02 00:15:28 +00:00
Joey Hess
8e3032df2d added GETWANTED, SETWANTED for Tobias's flickr remote
This was unexpectedly difficult because of a depdenency cycle. To parse a
preferred content expression involves several things that need to operate
on the list of remotes. Which needs Remote.External. The only way to avoid
this cycle (I tried breaking it at several points) was to skip parsing the
expression in SETWANTED.

That's sorta ok, because git-annex already has to deal with unparsable
preferred content expressions being stored, in order to handle eg,
upgrades. But I'm still not very happy that I cannot check it.

I feel this is a strong indication that I need to beware of further
bloating the special remote protocol interface.
2014-01-01 20:12:20 -04:00
Joey Hess
0e2fe4a7ab tweak this month 2013-12-31 17:50:11 -04:00
Joey Hess
9b5a74827c devblog 2013-12-31 17:44:35 -04:00
Joey Hess
8dbf230afe Merge branch 'master' of ssh://git-annex.branchable.com 2013-12-31 16:39:50 -04:00
Joey Hess
341b72fd9a update roadmap 2013-12-31 15:55:11 -04:00
http://joeyh.name/
07ca84612d Added a comment 2013-12-31 19:16:16 +00:00
https://www.google.com/accounts/o8/id?id=AItOawmkBwMWvNKZZCge_YqobCSILPMeK6xbFw8
66dd1c3151 Added a comment 2013-12-31 18:20:32 +00:00
http://joeyh.name/
3a683ed3c7 Added a comment 2013-12-31 17:56:34 +00:00
Joey Hess
1eebb1ecec Merge branch 'master' of ssh://git-annex.branchable.com 2013-12-31 13:53:34 -04:00
Joey Hess
ed1fcab6d7 external special remote protocol: Added GETUUID. 2013-12-31 13:50:18 -04:00
https://www.google.com/accounts/o8/id?id=AItOawmkBwMWvNKZZCge_YqobCSILPMeK6xbFw8
540cbd26be Added a comment: Feature requests 2013-12-31 14:05:45 +00:00
http://joeyh.name/
376ca250b1 Added a comment 2013-12-29 17:50:23 +00:00
Joey Hess
edc662ec20 mention that INITREMOTE is also called by git-annex enableremote 2013-12-29 13:44:39 -04:00
Joey Hess
054e4f17e2 implement PREPARE-FAILURE for Tobias 2013-12-29 13:39:25 -04:00
https://www.google.com/accounts/o8/id?id=AItOawmkBwMWvNKZZCge_YqobCSILPMeK6xbFw8
c96c0a367a Added a comment: Feature requests 2013-12-28 13:57:35 +00:00
Joey Hess
8cfaadf55c add webapp support to TODO 2013-12-27 16:37:58 -04:00
Joey Hess
445b7b41b9 add credential storage support for external special remotes & update example 2013-12-27 16:01:43 -04:00
Joey Hess
0014599dd9 hint about PROGRESS throttling 2013-12-27 14:39:56 -04:00
Joey Hess
3cd8f1bb13 todo: url lists 2013-12-27 13:09:35 -04:00
Joey Hess
9125a25738 defer SETSTATE and GETSTATE for now
TAHOE-LAFS may use these eventually, but that's TBD and none of git-annex's
own special remotes need that, except for the web special remote's urls.
2013-12-27 13:07:56 -04:00
Joey Hess
a7f3724e21 implement GETCONFIG and SETCONFIG
Changed protocol spec to make SETCONFIG only store it persistently when run
during INITREMOTE. I see no reason to support storing it persistently at
other times, and doing so would unnecessarily complicate the code.

Also, letting that be done would probably result in use for storing data that
doesn't really belong there, and special remote authors who don't
understand how the union merging works would probably be surprised the
results.
2013-12-27 12:37:23 -04:00
Joey Hess
0c972961bb update 2013-12-27 12:04:51 -04:00
Joey Hess
526a7bb2b4 improve comments 2013-12-27 02:56:52 -04:00
Joey Hess
3289155e28 don't send PREPARE before INITREMOTE
That complicated special remote programs, because they had to avoid making
PREPARE fail if some configuration is missing, because the remote might not
be initialized yet. Instead, complicate git-annex slightly by only sending
PREPARE immediately before some other request other than INITREMOTE (or
PREPARE of course).
2013-12-27 02:49:10 -04:00
Joey Hess
6d504b57e7 make some requests optional, simplify and future-proof protocol more 2013-12-27 02:11:06 -04:00
Joey Hess
0de9135bc0 external special remote documentation and example script 2013-12-26 18:15:18 -04:00
Joey Hess
38694ed582 simplify PROGRESS
Only one transfer will be running at a time, per external special remote.
2013-12-26 16:18:38 -04:00
Joey Hess
8803e36814 future-proofing 2013-12-25 20:04:31 -04:00
Joey Hess
1dc930063a basic data types and serialization for external special remote protocol
This is mostly straightforward, but did turn out quite nicely stronly
typed, and with a quite nice automatic tokenization and parsing of received
messages.

Made a few minor changes to the protocol to clear up ambiguities and make
it easier to parse. Note particularly that setting remote configuration
is moved to a separate command, which allows a remote to set arbitrary data.
2013-12-25 17:54:57 -04:00
Richard Hartmann
b11d88dd17 doc/: s/amoung/among/gi
Qouth ye olde [Wiktionary](http://en.wiktionary.org/wiki/amoung)

Archaic spelling of among.
2013-12-18 22:09:18 +01:00
http://joeyh.name/
4c5dc8df0e removed 2013-12-18 20:12:16 +00:00
https://www.google.com/accounts/o8/id?id=AItOawnN99WKdpXGRJD8xpJxfsoumA9ZVCBjxrE
5b0dcfc4f5 Added a comment: nice 2013-12-18 18:12:18 +00:00
178.12.110.165
59f6cbdef6 poll vote (/sdcard/annex) 2013-12-18 01:06:53 +00:00
Joey Hess
f833f92cd0 remove done todo about upgrading 2013-12-17 16:31:34 -04:00
Joey Hess
0419f241a4 I think I've convinced myself that the assistant is safe on windows despite the lack of lsof 2013-12-17 14:07:37 -04:00
http://joeyh.name/
5ff2706c06 Added a comment 2013-12-16 20:42:24 +00:00
Joey Hess
081cfba131 Merge branch 'master' of ssh://git-annex.branchable.com 2013-12-16 16:33:17 -04:00
https://www.google.com/accounts/o8/id?id=AItOawmicVKRM8vJX4wPuAwlLEoS2cjmFXQkjkE
72363ca72f Added a comment: not useful for "plain directory" special remote? 2013-12-16 20:10:19 +00:00
Joey Hess
81d051cad5 simplify 2013-12-16 11:36:19 -04:00
Joey Hess
145de01ebe use messages for query responses to allow communicating error 2013-12-16 10:30:28 -04:00
Joey Hess
87662ec14c rename HAS to CHECKPRESENT for consistency with hook special remote 2013-12-13 15:32:06 -04:00