summaryrefslogtreecommitdiff
path: root/http-push.c
AgeCommit message (Collapse)Author
2006-03-08Update http-push functionalityNick Hengeveld
This brings http-push functionality more in line with the ssh/git version, by borrowing bits from send-pack and rev-list to process refspecs and revision history in more standard ways. Also, the status of remote objects is determined using PROPFIND requests for the object directory rather than HEAD requests for each object - while it may be less efficient for small numbers of objects, this approach is able to get the status of all remote loose objects in a maximum of 256 requests. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-30Merge branch 'jc/subdir'Junio C Hamano
2005-11-29http-push cleanupNick Hengeveld
The malloc patch from Jan Andres fixed the problem that was causing a segfault when freeing the lock token, and Johannes Schindelin found and fixed a problem when no URL is specified on the command line. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-29Make networking commands to work from a subdirectory.Junio C Hamano
These are whole-tree operations and there is not much point making them operable from within a subdirectory, but it is easy to do so, and using setup_git_directory() upfront helps git:// proxy specification picked up from the correct place. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-29Fix typo in http-push.cJan Andres
Typo resulted in accessing past the beginning of a string causing segfaults. [jc: signoffs?]
2005-11-20Decide whether to build http-push in the MakefileNick Hengeveld
The decision about whether to build http-push or not belongs in the Makefile. This follows Junio's suggestion to determine whether curl is new enough to support http-push. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-20http-push memory/fd cleanupNick Hengeveld
Clean up memory and file descriptor usage Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-20Improve XML parsing in http-pushNick Hengeveld
Improved XML parsing - replace specialized doc parser callbacks with generic functions that track the parser context and use document-specific callbacks to process that data. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-20Isolate shared HTTP request functionalityNick Hengeveld
Move shared HTTP request functionality out of http-fetch and http-push, and replace the two fwrite_buffer/fwrite_buffer_dynamic functions with one fwrite_buffer function that does dynamic buffering. Use slot callbacks to process responses to fetch object transfer requests and push transfer requests, and put all of http-push into an #ifdef check for curl multi support. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-09sparse fixes for http-{fetch,push}.cPeter Hagervall
Make a bunch of needlessly global functions static, and replace two K&R-style declarations. Signed-off-by: Peter Hagervall <hager@cs.umu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-07Small bugfixes for http-push.cJohannes Schindelin
This patch fixes three things: - older libexpat does not know about enum XML_Status - as in my patch for http-fetch, do not rely on a curl result in free()d data - calloc the new_lock structure Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-07Make http-push smarter about creating remote dirsNick Hengeveld
Remember object directories known to exist in the remote repo and don't bother trying to create them. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-07http-push.c: include with angle bracket, not dq.Paul Collins
Do not search the current directory when including expat.h, since it is not supplied by git. Signed-off-by: Paul Collins <paul@briny.ondioline.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-06Refresh the remote lock if it is about to expireNick Hengeveld
Refresh the remote lock if it is about to expire Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-06Improve lock handlingNick Hengeveld
Improve lock handling: parse the server response for the timeout, owner, and lock token Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-06Support remote references with slashes in their namesNick Hengeveld
Support remote references with slashes in their names Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-06Verify remote packs, speed up pending request queueNick Hengeveld
Verify that remote packs exist before using the pack index, add requests to the beginning of the queue to locate pending requests faster. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-06Add support for pushing to a remote repository using HTTP/DAVNick Hengeveld
Add support for pushing to a remote repository using HTTP/DAV Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>