Commit graph

560 commits

Author SHA1 Message Date
Joey Hess
2051d80462 close 2012-01-05 23:42:06 -04:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
3b450cb6bc Added a comment: Thank you! 2012-01-06 03:38:33 +00:00
http://joey.kitenet.net/
cdcf0aac71 Added a comment 2012-01-06 03:08:28 +00:00
http://joey.kitenet.net/
8858c24210 Added a comment 2012-01-06 03:04:35 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
2f2e0f7e0e 2012-01-06 01:41:27 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
79b95aae09 2012-01-06 01:40:45 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
9cb3303a27 2012-01-06 01:40:04 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
aedd4c1984 2012-01-06 01:31:40 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
17d8646164 2012-01-06 01:27:53 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
47d98bb446 2012-01-06 01:27:26 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkey8WuXUh_x5JC2c9_it1CYRnVTgdGu1M
ba0c3eb904 2012-01-06 01:25:08 +00:00
Joey Hess
7e6a54f984 Added quickcheck to build dependencies, and fail if test suite cannot be built. 2012-01-03 14:52:20 -04:00
http://peter-simons.myopenid.com/
390982414b Added a comment 2012-01-03 18:09:42 +00:00
http://joey.kitenet.net/
69875de8ea Added a comment 2012-01-03 16:54:19 +00:00
http://peter-simons.myopenid.com/
b6e7b44a12 2012-01-03 16:32:35 +00:00
http://a-or-b.myopenid.com/
17735698f6 Added a comment 2012-01-03 00:49:43 +00:00
http://joey.kitenet.net/
ddc4b3de33 Added a comment 2012-01-03 00:41:08 +00:00
http://joey.kitenet.net/
eec59e7362 Added a comment 2012-01-03 00:35:00 +00:00
http://a-or-b.myopenid.com/
3e678b1140 2012-01-03 00:10:45 +00:00
http://joey.kitenet.net/
c87a814046 Added a comment 2011-12-24 16:49:13 +00:00
http://www.joachim-breitner.de/
ab1435310c Added a comment 2011-12-24 12:51:43 +00:00
http://www.joachim-breitner.de/
ffe9973ed5 Added a comment 2011-12-24 12:49:41 +00:00
http://adamspiers.myopenid.com/
4eafd43cce Added a comment: Any update on this? 2011-12-24 01:05:08 +00:00
http://joey.kitenet.net/
92de7c8dcd Added a comment 2011-12-20 14:56:12 +00:00
http://adamspiers.myopenid.com/
0de4341c97 Added a comment 2011-12-20 12:00:18 +00:00
Joey Hess
f0f84dbe48 close 2011-12-19 14:31:33 -04:00
http://joey.kitenet.net/
9b32d02a24 Added a comment 2011-12-19 18:22:25 +00:00
http://adamspiers.myopenid.com/
e341cdf0da Added a comment: extra level of indirection 2011-12-19 12:45:19 +00:00
http://www.joachim-breitner.de/
3f01795a26 2011-12-18 11:59:11 +00:00
http://gebi.myopenid.com/
ec11908799 2011-12-16 00:13:54 +00:00
Joey Hess
c4c965d602 detect and recover from branch push/commit race
Dealing with a race without using locking is exceedingly difficult and tricky.
Fully tested, I hope.

There are three places left where the branch can be updated, that are not
covered by the race recovery code. Let's prove they're all immune to the
race:

1. tryFastForwardTo checks to see if a fast-forward can be done,
   and then does git-update-ref on the branch to fast-forward it.

   If a push comes in before the check, then either no fast-forward
   will be done (ok), or the push set the branch to a ref that can
   still be fast-forwarded (also ok)

   If a push comes in after the check, the git-update-ref will
   undo the ref change made by the push. It's as if the push did not come
   in, and the next git-push will see this, and try to re-do it.
   (acceptable)

2. When creating the branch for the very first time, an empty index
   is created, and a commit of it made to the branch. The commit's ref
   is recorded as the current state of the index. If a push came in
   during that, it will be noticed the next time a commit is made to the
   branch, since the branch will have changed. (ok)

3. Creating the branch from an existing remote branch involves making
   the branch, and then getting its ref, and recording that the index
   reflects that ref.

   If a push creates the branch first, git-branch will fail (ok).

   If the branch is created and a racing push is then able to change it
   (highly unlikely!) we're still ok, because it first records the ref into
   the index.lck, and then updating the index. The race can cause the
   index.lck to have the old branch ref, while the index has the newly pushed
   branch merged into it, but that only results in an unnecessary update of
   the index file later on.
2011-12-11 20:41:35 -04:00
Joey Hess
81f311103d a new bug report to track a race 2011-12-11 16:41:56 -04:00
Joey Hess
0236bb020b update 2011-12-11 16:19:54 -04:00
Joey Hess
8680c415de slow, stupid, and safe index updating
Always merge the git-annex branch into .git/annex/index before making a
commit from the index.

This ensures that, when the branch has been changed in any way
(by a push being received, or changes pulled directly into it, or
even by the user checking it out, and committing a change), the index
reflects those changes.

This is much too slow; it needs to be optimised to only update the
index when the branch has really changed, not every time.

Also, there is an unhandled race, when a change is made to the branch
right after the index gets updated. I left it in for now because it's
unlikely and I didn't want to complicate things with additional locking
yet.
2011-12-11 15:05:53 -04:00
Joey Hess
59971c9230 new bug 2011-12-11 14:47:44 -04:00
Joey Hess
bf6a3b757a close 2011-12-11 01:15:27 -04:00
Joey Hess
10e8028a42 Fix bug in last version in getting contents from bare repositories. 2011-12-10 18:45:55 -04:00
http://schnouki.net/
bfdc9f28fc 2011-12-10 21:40:01 +00:00
Joey Hess
e3f1568e0f Fix caching of decrypted ciphers, which failed when drop had to check multiple different encrypted special remotes. 2011-12-08 16:01:46 -04:00
http://gebi.myopenid.com/
2568beee07 2011-12-08 14:24:08 +00:00
Joey Hess
5926be6f30 response 2011-12-07 12:36:15 -04:00
http://gebi.myopenid.com/
51b7b82870 2011-12-07 05:48:47 +00:00
http://gebi.myopenid.com/
919d58667a 2011-12-07 03:20:43 +00:00
Joey Hess
6f221f1fc3 response 2011-12-06 17:06:08 -04:00
http://gebi.myopenid.com/
adb1dc65bc 2011-12-06 20:25:06 +00:00
Joey Hess
480495beb4 Prevent key names from containing newlines.
There are several places where it's assumed a key can be written on one
line. One is in the format of the .git/annex/unused files. The difficult
one is that filenames derived from keys are fed into git cat-file --batch,
which has a line based input. (And no -z option.)

So, for now it's best to block such keys being created.
2011-12-06 13:03:09 -04:00
http://joey.kitenet.net/
cf5353acb4 Added a comment 2011-12-06 16:49:32 +00:00
https://www.google.com/accounts/o8/id?id=AItOawnXybLxkPMYpP3yw4b_I6IdC3cKTD-xEdU
01f7c74d1f 2011-12-06 13:05:11 +00:00
Joey Hess
7b08584c55 close 2011-12-02 16:59:09 -04:00
Joey Hess
6f29f9db72 rename 2011-12-02 16:15:18 -04:00