summaryrefslogtreecommitdiff
path: root/send-pack.c
AgeCommit message (Collapse)AuthorFilesLines
2005-08-02Make send-pack --all and explicit ref mutually exclusive.Libravatar Junio C Hamano1-2/+5
send-pack had a confusing misfeature that "send-pack --all master" updated all refs, while "send-pack --all" did not do anything. Make --all and explicit refs mutually exclusive, and make sure "send-pack --all" updates all refs. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-26Fix potential send-pack SIGSEGVLibravatar Linus Torvalds1-1/+2
The check that the source is ahead of the destination incorrectly expects pop_most_recent_commit() to gracefully handle an empty list. Fix by just checking the list itself, rather than the return value of the pop function. [jc: I did the test script that demonstrated the problem] Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-19git-send-pack: verify that sender is a proper superset of receiverLibravatar Linus Torvalds1-10/+26
This should make sure that if you have multiple people pushing to the same tree, they cannot overwrite each others work, but have to merge before being able to update the common reference tree.
2005-07-16Merge three separate "fetch refs" functionsLibravatar Linus Torvalds1-34/+3
It really just boils down to one "get_remote_heads()" function, and a common "struct ref" structure definition.
2005-07-16git-send-pack: add "--all" option to send all refs to the other sideLibravatar Linus Torvalds1-10/+28
This affects only refs that the other side doesn't already have. The ones it has are still filtered by the ref selection.
2005-07-14[PATCH] Documentation: send/receive.Libravatar Junio C Hamano1-1/+2
This adds documentation for 'smarter push' family of commands. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-11git-send-pack: Fix duplicate refname matchLibravatar Linus Torvalds1-3/+0
Cut-and-paste dup noticed by Junio. It's not even harmless, since a match also causes that match to be invalidated, so this made it impossible to update an existing branch by name. I'd only tested the case of "ref doesn't exist at all on the other end", which worked fine.
2005-07-08Teach 'git-send-pack' to send new branches and tags.Libravatar Linus Torvalds1-17/+111
The protocol always supported it, but send-pack didn't actually know how to tell the other side about a new branch/tag. NOTE! You'll have to name it explicitly on the command line: if you don't name any branches, git-send-pack will default to the branches that already exist.
2005-07-05Add "git_path()" and "head_ref()" helper functions.Libravatar Linus Torvalds1-4/+1
"git_path()" returns a static pathname pointer into the git directory using a printf-like format specifier. "head_ref()" works like "for_each_ref()", except for just the HEAD.
2005-07-04Move ref path matching to connect.c libraryLibravatar Linus Torvalds1-21/+0
It's a generic thing for matching refs from the other side.
2005-07-04Factor out the ssh connection stuff from send-pack.cLibravatar Linus Torvalds1-73/+2
I want to use it for git-fetch-pack too.
2005-07-03Fix gcc warning in send-pack.cLibravatar Linus Torvalds1-0/+1
send_pack() was declared to return "int" (although nobody cared), but didn't actually return anything.
2005-06-30Do ref matching on the sender side rather than on receiverLibravatar Linus Torvalds1-3/+25
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".
2005-06-30git-send-pack: actually send the object packLibravatar Linus Torvalds1-12/+79
This concludes this lesson. I've actually successfully sent an update using the git-send-pack command. Probably tons of work still to do, and nasty debugging, but it's now actually potentially useful.
2005-06-29Add comment on what send-pack still needs to doLibravatar Linus Torvalds1-0/+11
Me tired.
2005-06-29Slow but steady progress on git pack receive/sendLibravatar Linus Torvalds1-25/+38
2005-06-29git-send-pack: start parsing local/remote reference differencesLibravatar Linus Torvalds1-3/+58
Right now it just shows which refs it picks up, and whether they are the same or changed on the remote end. Getting there..
2005-06-29Make send/receive-pack be closer to doing something interestingLibravatar Linus Torvalds1-4/+8
2005-06-29Start of "git-send-pack", the local part of sending off a packLibravatar Linus Torvalds1-0/+118
Like git-receive-pack, this is only partway done.