Commit graph

3939 commits

Author SHA1 Message Date
http://joeyh.name/
63290903aa Added a comment 2012-06-08 01:56:52 +00:00
Joey Hess
4f6b522d8c update 2012-06-07 21:40:31 -04:00
Joey Hess
109bd9c08b blog for the day 2012-06-07 21:37:59 -04:00
Joey Hess
7d78cbf97c use git queue for rm too 2012-06-07 21:17:10 -04:00
https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus
3f03e58dc6 removed 2012-06-07 20:25:14 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus
b778b9b345 Added a comment 2012-06-07 20:23:09 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus
021325ce71 Added a comment 2012-06-07 20:22:58 +00:00
Joey Hess
20f425be19 make watch use the queue
May not work. Certianly needs to flush the queue from time to time
when only symlink changes are being made.
2012-06-07 15:40:44 -04:00
Joey Hess
0a11b35d89 extend Git.Queue to be able to queue more than simple git commands
While I was in there, I noticed and fixed a bug in the queue size
calculations. It was never encountered only because Queue.add was
only ever run with 1 file in the list.
2012-06-07 15:19:44 -04:00
Joey Hess
727158ff55 Merge branch 'master' into watch 2012-06-07 13:48:55 -04:00
Joey Hess
4d1c114e4d initremote: Automatically describe a remote when creating it.
This ensures that all special remotes show up in git annex status.
Before, a special remote that was not manually described, and was not
a current git remote, did not show up there, although initremote did list
it.
2012-06-07 11:16:48 -04:00
Joey Hess
8408a91082 fixie 2012-06-07 10:37:06 -04:00
http://joeyh.name/
2478aca3c5 Added a comment 2012-06-07 04:48:15 +00:00
Joey Hess
5d4e09199c update message based on user feedback 2012-06-07 00:47:09 -04:00
https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck
c7efb2888c Added a comment: Wording 2012-06-07 03:43:19 +00:00
Joey Hess
d5de27ff40 tweak 2012-06-06 23:30:38 -04:00
Joey Hess
c56812980c document watch 2012-06-06 23:28:33 -04:00
Joey Hess
b8ae9528ab refactor 2012-06-06 23:20:09 -04:00
Joey Hess
b8f85f7a82 build watch on non-linux, just don't do anything 2012-06-06 22:49:32 -04:00
http://joeyh.name/
54f5462ad4 Added a comment 2012-06-06 23:25:57 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkmtR6oVColYKoU0SjBORLDGrwR10G-mKo
9ee59f62d5 Added a comment: Dropbox Inotify 2012-06-06 22:03:29 +00:00
Joey Hess
baf9c7102e blog for the day 2012-06-06 16:56:48 -04:00
Joey Hess
a79aebbe2a update 2012-06-06 16:54:39 -04:00
Joey Hess
c5b11561f0 handle running out of watch descriptors 2012-06-06 16:50:28 -04:00
Joey Hess
8aa194bf80 update 2012-06-06 15:51:34 -04:00
Joey Hess
db8effb8f3 ignore .gitignore and .gitattributes 2012-06-06 15:50:12 -04:00
Joey Hess
e17bc40c31 update 2012-06-06 15:24:51 -04:00
Joey Hess
81d4991fa3 thoughts 2012-06-06 15:13:18 -04:00
Joey Hess
899334223f fixed 2 races! Only 1 serious race to go! 2012-06-06 14:33:12 -04:00
Joey Hess
b819f644ad close the git add race
There's a race adding a new file to the annex: The file is moved to the
annex and replaced with a symlink, and then we git add the symlink. If
someone comes along in the meantime and replaces the symlink with
something else, such as a new large file, we add that instead. Which could
be bad..

This race is fixed by avoiding using git add, instead the symlink is
directly staged into the index.

It would be nice to make `git annex add` use this same technique.
I have not done so yet because it currently runs git update-index once per
file, which would slow does `git annex add`. A future enhancement would be
to extend the Git.Queue to include the ability to run update-index with
a list of Streamers.
2012-06-06 14:29:10 -04:00
Joey Hess
91db540769 add support for staging other types of blobs, like symlinks, into the index
Also added a utility TopFilePath type, which could stand to be used more
widely.
2012-06-06 14:26:15 -04:00
Joey Hess
993e6459a3 factor out nukeFile 2012-06-06 13:13:13 -04:00
Joey Hess
723eb19bbf split out utility functions 2012-06-06 13:07:30 -04:00
Joey Hess
4b32ea793d Merge branch 'master' into watch 2012-06-06 12:52:21 -04:00
Joey Hess
455fca65bf layout 2012-06-06 11:58:08 -04:00
Joey Hess
f596084a59 move hashObject to HashObject library and generalize it to support all git object types 2012-06-06 02:31:31 -04:00
Joey Hess
27cfeca4ea Merge branch 'master' into watch 2012-06-06 02:16:21 -04:00
Joey Hess
f1bd72ea54 factor out generic update-index code from unionmerge code 2012-06-06 00:10:34 -04:00
Joey Hess
141fa3c94d update 2012-06-06 00:01:17 -04:00
Joey Hess
d41c1134cb daily blog 2012-06-05 20:54:56 -04:00
Joey Hess
d05a22b5f6 closed a race, although a less likely similar one remains 2012-06-05 20:34:25 -04:00
Joey Hess
a7a729bce4 Merge branch 'master' into watch 2012-06-05 20:30:37 -04:00
Joey Hess
c981ccc077 add: Prevent (most) modifications from being made to a file while it is being added to the annex.
Anything that tries to open the file for write, or delete the file,
or replace it with something else, will not affect the add.

Only if a process has the file open for write before add starts
can it still change it while (or after) it's added to the annex.
(fsck will catch this later of course)
2012-06-05 20:28:34 -04:00
Joey Hess
5809f33f8b use createAnnexDirectory when setting up tmp dir 2012-06-05 20:25:32 -04:00
Joey Hess
f8d422fe24 update test suite 2012-06-05 19:54:44 -04:00
Joey Hess
d3cee987ca separate source of content from the filename associated with the key when generating a key
This already made migrate's code a lot simpler.
2012-06-05 19:51:03 -04:00
Joey Hess
e6b157cc09 Merge branch 'master' into watch 2012-06-05 19:03:44 -04:00
Joey Hess
77188ff04d update 2012-06-05 19:03:39 -04:00
Joey Hess
f93fbf9c76 Merge branch 'master' into watch 2012-06-05 18:54:31 -04:00
Joey Hess
b5c617b623 one more 2012-06-05 18:54:25 -04:00