summaryrefslogtreecommitdiff
path: root/local-pull.c
AgeCommit message (Collapse)AuthorFilesLines
2005-08-02[PATCH] Parallelize the pull algorithmLibravatar barkalow@iabervon.org1-0/+4
This processes objects in two simultaneous passes. Each object will first be given to prefetch(), as soon as it is possible to tell that it will be needed, and then will be given to fetch(), when it is the next object that needs to be parsed. Unless an implementation does something with prefetch(), this should have no effect. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-29[PATCH] Unify usage strings declarationLibravatar Petr Baudis1-1/+1
All usage strings are now declared as static const char []. This is carried over from my old git-pb branch. Signed-off-by: Petr Baudis <pasky@ucw.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-29[PATCH] mmap error handlingLibravatar Pavel Roskin1-1/+1
I have reviewed all occurrences of mmap() in git and fixed three types of errors/defects: 1) The result is not checked. 2) The file descriptor is closed if mmap() succeeds, but not when it fails. 3) Various casts applied to -1 are used instead of MAP_FAILED, which is specifically defined to check mmap() return value. [jc: This is a second round of Pavel's patch. He fixed up the problem that close() potentially clobbering the errno from mmap, which the first round had.] Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-06-27[PATCH] Remove "delta" object representation.Libravatar Junio C Hamano1-4/+0
Packed delta files created by git-pack-objects seems to be the way to go, and existing "delta" object handling code has exposed the object representation details to too many places. Remove it while we refactor code to come up with a proper interface in sha1_file.c. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-22[PATCH] local-pull: implement fetch_ref()Libravatar Junio C Hamano1-3/+28
This makes "-w ref" usable for git-local-pull. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-06[PATCH] Generic support for pulling refsLibravatar Daniel Barkalow1-0/+5
This adds support to pull.c for requesting a reference and writing it to a file. All of the git-*-pull programs get stubs for now. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-05[PATCH] pull: gracefully recover from delta retrieval failure.Libravatar Junio C Hamano1-1/+3
This addresses a concern raised by Jason McMullan in the mailing list discussion. After retrieving and storing a potentially deltified object, pull logic tries to check and fulfil its delta dependency. When the pull procedure is killed at this point, however, there was no easy way to recover by re-running pull, since next run would have found that we already have that deltified object and happily reported success, without really checking its delta dependency is satisfied. This patch introduces --recover option to git-*-pull family which causes them to re-validate dependency of deltified objects we are fetching. A new test t5100-delta-pull.sh covers such a failure mode. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-02[PATCH] Handle deltified object correctly in git-*-pull family.Libravatar Junio C Hamano1-1/+3
When a remote repository is deltified, we need to get the objects that a deltified object we want to obtain is based upon. The initial parts of each retrieved SHA1 file is inflated and inspected to see if it is deltified, and its base object is asked from the remote side when it is. Since this partial inflation and inspection has a small performance hit, it can optionally be skipped by giving -d flag to git-*-pull commands. This flag should be used only when the remote repository is known to have no deltified objects. Rsync transport does not have this problem since it fetches everything the remote side has. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-22Include file cleanups..Libravatar Linus Torvalds1-7/+0
Add <limits.h> to the include files handled by "cache.h", and remove extraneous #include directives from various .c files. The rule is that "cache.h" gets all the basic stuff, so that we'll have as few system dependencies as possible.
2005-05-09Do not report size of the object that cannot be written in local-pull.cLibravatar Junio C Hamano1-2/+1
Reporting st.st_size with %ld is simply wrong, as H Peter Anvin says. No other pull drivers report the failure with size anyway, so yank it out. This is a cop-out patch but should be good enough. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-07[PATCH] Add #include <limits.h> so that git compiles under SolarisLibravatar Thomas Glanzmann1-0/+1
<JC> Editorial Note. We may want to include standard headers in one of those headers everybody includes, e.g. cache.h, to reduce clutters, but this commit is as Thomas posted to the GIT list. Date: Sat, 7 May 2005 10:41:41 +0200 Signed-off-by: Thomas Glanzmann <sithglan@stud.uni-erlangen.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-06Implement -v (verbose) option for pull methods other than local transport.Libravatar Junio C Hamano1-10/+4
This moves the private "say()" function to pull.c, renames it to "pull_say()", and introduces a global variable "get_verbosely" that makes the pull backends report what they fetch. The -v option is added to git-rpull and git-http-pull to match git-local-pull. The documentation is updated to describe these pull commands. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-04Short-cut error return path in git-local-pull.Libravatar Junio C Hamano1-9/+16
When git-local-pull with -l option gets ENOENT attempting to create a hard link, there is no point falling back to other copy methods. With this patch, git-local-pull detects such a case and gives up copying the file early. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-01[PATCH] git-local-pull updatesLibravatar Junio C Hamano1-24/+41
This is to be applied on top of the previous patch to add git-local-pull command. In addition to the '-l' (attempt hardlink before anything else) and the '-s' (then attempt symlink) flags, it adds '-n' (do not fall back to file copy) flag. Also it updates the comments. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-01[PATCH] Add git-local-pull.Libravatar Junio C Hamano1-0/+110
This adds the git-local-pull command as a smaller brother of http-pull and rpull. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>