aboutsummaryrefslogtreecommitdiff
path: root/receive-pack.c
Commit message (Collapse)AuthorAge
* [PATCH] Add update-server-info.Junio C Hamano2005-07-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The git-update-server-info command prepares informational files to help clients discover the contents of a repository, and pull from it via a dumb transport protocols. Currently, the following files are produced. - The $repo/info/refs file lists the name of heads and tags available in the $repo/refs/ directory, along with their SHA1. This can be used by git-ls-remote command running on the client side. - The $repo/info/rev-cache file describes the commit ancestry reachable from references in the $repo/refs/ directory. This file is in an append-only binary format to make the server side friendly to rsync mirroring scheme, and can be read by git-show-rev-cache command. - The $repo/objects/info/pack file lists the name of the packs available, the interdependencies among them, and the head commits and tags contained in them. Along with the other two files, this is designed to help clients to make smart pull decisions. The git-receive-pack command is changed to invoke it at the end, so just after a push to a public repository finishes via "git push", the server info is automatically updated. In addition, building of the rev-cache file can be done by a standalone git-build-rev-cache command separately. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Make "upload-pack" match git-fetch-pack usageLinus Torvalds2005-07-08
| | | | | Do the default "try xyz.git xyz fails" thing for the directory we get passed in.
* [PATCH] Let umask do its work upon filesystem object creation.Junio C Hamano2005-07-06
| | | | | | | | IIRC our strategy was to let the users' umask take care of the final mode bits. This patch fixes places that deviate from it. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Fix sparse warnings.Linus Torvalds2005-07-03
| | | | | Mainly making a lot of local functions and variables be marked "static", but there was a "zero as NULL" warning in there too.
* Fix up "for_each_ref()" to be more usable, and use it in git-fsck-cacheLinus Torvalds2005-07-03
| | | | | It needed to take the GIT_DIR information into account, something that the original receive-pack usage just never cared about.
* Generalize the "show each ref" code in receice-packLinus Torvalds2005-07-02
| | | | This turns it into a generic "do xyz for each ref" library function.
* Do ref matching on the sender side rather than on receiverLinus Torvalds2005-06-30
| | | | | | | | | | | | This makes the receiver always send a full list of valid refs, which will allow us to do better packs, as well as handle creation of new refs. Eventually. Right now we just moved the matching and enabled it. So now you can do git-send-pack host:path branch1 branch2 to only send branches "branch1" and "branch2".
* Add support for "forcing" a ref on the remote sideLinus Torvalds2005-06-30
| | | | | | | | | A "old ref" of all zeroes is considered a "don't care" ref, and allows us to say "write the new ref regardless of what the old ref contained (or even if it existed at all)". This allows (if git-send-pack were to do it) creating new refs, and fixing up old ones.
* git-receive-pack: implement ref switch command handlingLinus Torvalds2005-06-30
| | | | | | After unpacking the object pack successfully, we go through the list of refs, and verify that they still contain their expected values. Then we replace them with the new ones.
* git-receive-pack: start parsing ref update commandsLinus Torvalds2005-06-29
| | | | We don't act on them yet, but we parse them.
* Slow but steady progress on git pack receive/sendLinus Torvalds2005-06-29
|
* Make send/receive-pack be closer to doing something interestingLinus Torvalds2005-06-29
|
* Add first cut at "git-receive-pack"Linus Torvalds2005-06-29
It's not working yet, but it's at the point where I want to be able to track my changes. The theory of operation is that this is the "remote" side of a "git push". It can tell us what references the remote side has, receives out reference update commands and a pack-file, and can execute the unpacking command.