summaryrefslogtreecommitdiff
path: root/http-push.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'lt/logopt'Junio C Hamano2006-04-181-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lt/logopt: Fix "git log --stat": make sure to set recursive with --stat. combine-diff: show diffstat with the first parent. git.c: LOGSIZE is unused after log printing cleanup. Log message printout cleanups (#3): fix --pretty=oneline Log message printout cleanups (#2) Log message printout cleanups rev-list --header: output format fix Fixes for option parsing log/whatchanged/show - log formatting cleanup. Simplify common default options setup for built-in log family. Tentative built-in "git show" Built-in git-whatchanged. rev-list option parser fix. Split init_revisions() out of setup_revisions() Fix up rev-list option parsing. Fix up default abbrev in setup_revisions() argument parser. Common option parsing for "git log --diff" and friends
| * Split init_revisions() out of setup_revisions()Junio C Hamano2006-04-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merging all three option parsers related to whatchanged is unarguably the right thing, but the fallout was too big to scare me away. Let's try it once again, but once step at time. This splits out init_revisions() call from setup_revisions(), so that the callers can set different defaults to match the traditional benaviour. The rev-list command is still broken in a big way, which is the topic of next step. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | rev-list --boundary: show boundary commits even when limited otherwise.Junio C Hamano2006-04-161-5/+5
|/ | | | | | | | | The boundary commits are shown for UI like gitk to draw them as soon as topo-order sorting allows, and should not be omitted by get_revision() filtering logic. As long as their immediate child commits are shown, we should not filter them out. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'jc/diff' into nextJunio C Hamano2006-04-111-0/+1
|\ | | | | | | | | | | | | * jc/diff: blame and friends: adjust to multiple pathspec change. git log --full-diff tree-diff: do not assume we use only one pathspec
| * blame and friends: adjust to multiple pathspec change.Junio C Hamano2006-04-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | This makes things that include revision.h build again. Blame is also built, but I am not sure how well it works (or how well it worked to begin with) -- it was relying on tree-diff to be using whatever pathspec was used the last time, which smells a bit suspicious. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Replace index() with strchr().Dennis Stosberg2006-04-111-3/+3
|/ | | | | | | strchr() is more portable than index() and is used everywhere in git already. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Make "--parents" logs also be incrementalLinus Torvalds2006-04-081-5/+5
| | | | | | | | | | | | | | | | | | | The parent rewriting feature caused us to create the whole history in one go, and then simplify it later, because of how rewrite_parents() had been written. However, with a little tweaking, it's perfectly possible to do even that one incrementally. Right now, this doesn't really much matter, because every user of "--parents" will probably generally _also_ use "--topo-order", which will cause the old non-incremental behaviour anyway. However, I'm hopeful that we could make even the topological sort incremental, or at least _partially_ so (for example, make it incremental up to the first merge). In the meantime, this at least moves things in the right direction, and removes a strange special case. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Replace xmalloc+memset(0) with xcalloc.Peter Eriksen2006-04-041-4/+2
| | | | | Signed-off-by: Peter Eriksen <s022018@student.dtu.dk> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Fix sparse warnings about non-ANSI function prototypesRene Scharfe2006-04-021-1/+1
| | | | | Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
* http-push.c: squelch C90 warnings.Junio C Hamano2006-03-211-8/+12
| | | | | | | If you write code after declarations in a block, gcc scolds you with "warning: ISO C90 forbids mixed declarations and code". Signed-off-by: Junio C Hamano <junkio@cox.net>
* http-push: don't assume char is signedNick Hengeveld2006-03-201-1/+1
| | | | | | | | Declare remote_dir_exists[] as signed char to be sure that values of -1 are valid. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* http-push: add support for deleting remote branchesNick Hengeveld2006-03-201-1/+218
| | | | | | | | | | | | | | | Processes new command-line arguments -d and -D to remove a remote branch if the following conditions are met: - one branch name is present on the command line - the specified branch name matches exactly one remote branch name - the remote HEAD is a symref - the specified branch is not the remote HEAD - the remote HEAD resolves to an object that exists locally (-d only) - the specified branch resolves to an object that exists locally (-d only) - the specified branch is an ancestor of the remote HEAD (-d only) Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* http-push: cleanupNick Hengeveld2006-03-101-24/+33
| | | | | | | | More consistent usage string, condense push output, remove extra slashes in URLs, fix unused variables, include HTTP method name in failure messages. Signed-off-by: Junio C Hamano <junkio@cox.net>
* http-push: support for updating remote info/refsNick Hengeveld2006-03-101-11/+536
| | | | | | | | | If info/refs exists on the remote, get a lock on info/refs, make sure that there is a local copy of the object referenced in each remote ref (in case someone else added a tag we don't have locally), do all the refspec updates, and generate and send an updated info/refs file. Signed-off-by: Junio C Hamano <junkio@cox.net>
* http-push: improve remote lock managementNick Hengeveld2006-03-101-73/+76
| | | | | | | Associate the remote locks with the remote repo, add a function to check and refresh all current locks. Signed-off-by: Junio C Hamano <junkio@cox.net>
* http-push: refactor remote file/directory processingNick Hengeveld2006-03-101-137/+106
| | | | | | | | Replace single-use functions with one that can get a list of remote collections and pass file/directory information to user-defined functions for processing. Signed-off-by: Junio C Hamano <junkio@cox.net>
* HTTP slot reuse fixesNick Hengeveld2006-03-101-19/+41
| | | | | | | | Incorporate into http-push a fix related to accessing slot results after the slot was reused, and fix a case in run_active_slot where a finished slot wasn't detected if the slot was reused. Signed-off-by: Junio C Hamano <junkio@cox.net>
* http-push: fix revision walkNick Hengeveld2006-03-101-8/+5
| | | | | | | The revision walk was not including tags because setup_revisions zeroes out the revs flags. Pass --objects so it picks up all the necessary bits. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Update http-push functionalityNick Hengeveld2006-03-071-334/+726
| | | | | | | | | | | | 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>
* Merge branch 'jc/subdir'Junio C Hamano2005-11-301-0/+1
|\
| * Make networking commands to work from a subdirectory.Junio C Hamano2005-11-281-0/+1
| | | | | | | | | | | | | | | | | | 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>
* | http-push cleanupNick Hengeveld2005-11-291-2/+3
|/ | | | | | | | | 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>
* Fix typo in http-push.cJan Andres2005-11-281-1/+1
| | | | | | Typo resulted in accessing past the beginning of a string causing segfaults. [jc: signoffs?]
* Decide whether to build http-push in the MakefileNick Hengeveld2005-11-191-9/+0
| | | | | | | | | 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>
* http-push memory/fd cleanupNick Hengeveld2005-11-191-3/+14
| | | | | | | Clean up memory and file descriptor usage Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Improve XML parsing in http-pushNick Hengeveld2005-11-191-156/+163
| | | | | | | | | 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>
* Isolate shared HTTP request functionalityNick Hengeveld2005-11-191-448/+36
| | | | | | | | | | | | 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>
* sparse fixes for http-{fetch,push}.cPeter Hagervall2005-11-081-13/+13
| | | | | | | | 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>
* Small bugfixes for http-push.cJohannes Schindelin2005-11-071-2/+12
| | | | | | | | | | | | 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>
* Make http-push smarter about creating remote dirsNick Hengeveld2005-11-071-1/+9
| | | | | | | | 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>
* http-push.c: include with angle bracket, not dq.Paul Collins2005-11-061-1/+1
| | | | | | | | 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>
* Refresh the remote lock if it is about to expireNick Hengeveld2005-11-061-27/+79
| | | | | | | 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>
* Improve lock handlingNick Hengeveld2005-11-061-54/+147
| | | | | | | | 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>
* Support remote references with slashes in their namesNick Hengeveld2005-11-061-3/+39
| | | | | | | 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>
* Verify remote packs, speed up pending request queueNick Hengeveld2005-11-061-16/+21
| | | | | | | | 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>
* Add support for pushing to a remote repository using HTTP/DAVNick Hengeveld2005-11-061-0/+1625
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>