author | Junio C Hamano <junkio@cox.net> | |
Wed, 21 Feb 2007 05:54:39 +0000 (21:54 -0800) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Tue, 27 Feb 2007 23:44:40 +0000 (15:44 -0800) | ||
commit | ada5ef3b48be7ded62af1f9b7fdb71db3024ac71 | |
tree | f9ebafa7ae1dd97f011e374b2c4d41862cef562f | tree | snapshot |
parent | 4e4b55dd0f5b4644767265f7c16a8b370278ce56 | commit | diff |
Make 'cvs ci' lockless in git-cvsserver by using git-update-ref
This makes "ci" codepath lockless by following the usual
"remember the tip, do your thing, then compare and swap at the
end" update pattern using update-ref. Incidentally, by updating
the code that reads where the tip of the head is to use
show-ref, it makes it safe to use in a repository whose refs are
pack-pruned.
I noticed that other parts of the program are not yet pack-refs
safe, but tried to keep the changes to the minimum.
Signed-off-by: Junio C Hamano <junkio@cox.net>
This makes "ci" codepath lockless by following the usual
"remember the tip, do your thing, then compare and swap at the
end" update pattern using update-ref. Incidentally, by updating
the code that reads where the tip of the head is to use
show-ref, it makes it safe to use in a repository whose refs are
pack-pruned.
I noticed that other parts of the program are not yet pack-refs
safe, but tried to keep the changes to the minimum.
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-cvsserver.perl | diff | blob | history |