Add support for pushing to a remote repository using HTTP/DAV
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>maint
							parent
							
								
									9e5d2b4096
								
							
						
					
					
						commit
						58e60dd203
					
				|  | @ -0,0 +1,89 @@ | ||||||
|  | git-http-push(1) | ||||||
|  | ================ | ||||||
|  |  | ||||||
|  | NAME | ||||||
|  | ---- | ||||||
|  | git-http-push - Push missing objects using HTTP/DAV. | ||||||
|  |  | ||||||
|  |  | ||||||
|  | SYNOPSIS | ||||||
|  | -------- | ||||||
|  | 'git-http-push' [--complete] [--force] [--verbose] <url> <ref> [<ref>...] | ||||||
|  |  | ||||||
|  | DESCRIPTION | ||||||
|  | ----------- | ||||||
|  | Sends missing objects to remote repository, and updates the | ||||||
|  | remote branch. | ||||||
|  |  | ||||||
|  |  | ||||||
|  | OPTIONS | ||||||
|  | ------- | ||||||
|  | --complete:: | ||||||
|  | 	Do not assume that the remote repository is complete in its | ||||||
|  | 	current state, and verify all objects in the entire local | ||||||
|  | 	ref's history exist in the remote repository. | ||||||
|  |  | ||||||
|  | --force:: | ||||||
|  | 	Usually, the command refuses to update a remote ref that | ||||||
|  | 	is not an ancestor of the local ref used to overwrite it. | ||||||
|  | 	This flag disables the check.  What this means is that | ||||||
|  | 	the remote repository can lose commits; use it with | ||||||
|  | 	care. | ||||||
|  |  | ||||||
|  | --verbose:: | ||||||
|  | 	Report the list of objects being walked locally and the | ||||||
|  | 	list of objects successfully sent to the remote repository. | ||||||
|  |  | ||||||
|  | <ref>...: | ||||||
|  | 	The remote refs to update. | ||||||
|  |  | ||||||
|  |  | ||||||
|  | Specifying the Refs | ||||||
|  | ------------------- | ||||||
|  |  | ||||||
|  | A '<ref>' specification can be either a single pattern, or a pair | ||||||
|  | of such patterns separated by a colon ":" (this means that a ref name | ||||||
|  | cannot have a colon in it).  A single pattern '<name>' is just a  | ||||||
|  | shorthand for '<name>:<name>'. | ||||||
|  |  | ||||||
|  | Each pattern pair consists of the source side (before the colon) | ||||||
|  | and the destination side (after the colon).  The ref to be | ||||||
|  | pushed is determined by finding a match that matches the source | ||||||
|  | side, and where it is pushed is determined by using the | ||||||
|  | destination side. | ||||||
|  |  | ||||||
|  |  - It is an error if <src> does not match exactly one of the | ||||||
|  |    local refs. | ||||||
|  |  | ||||||
|  |  - If <dst> does not match any remote ref, either | ||||||
|  |  | ||||||
|  |    * it has to start with "refs/"; <dst> is used as the | ||||||
|  |      destination literally in this case. | ||||||
|  |  | ||||||
|  |    * <src> == <dst> and the ref that matched the <src> must not | ||||||
|  |      exist in the set of remote refs; the ref matched <src> | ||||||
|  |      locally is used as the name of the destination. | ||||||
|  |  | ||||||
|  | Without '--force', the <src> ref is stored at the remote only if | ||||||
|  | <dst> does not exist, or <dst> is a proper subset (i.e. an | ||||||
|  | ancestor) of <src>.  This check, known as "fast forward check", | ||||||
|  | is performed in order to avoid accidentally overwriting the | ||||||
|  | remote ref and lose other peoples' commits from there. | ||||||
|  |  | ||||||
|  | With '--force', the fast forward check is disabled for all refs. | ||||||
|  |  | ||||||
|  | Optionally, a <ref> parameter can be prefixed with a plus '+' sign | ||||||
|  | to disable the fast-forward check only on that ref. | ||||||
|  |  | ||||||
|  |  | ||||||
|  | Author | ||||||
|  | ------ | ||||||
|  | Written by Nick Hengeveld <nickh@reactrix.com> | ||||||
|  |  | ||||||
|  | Documentation | ||||||
|  | -------------- | ||||||
|  | Documentation by Nick Hengeveld | ||||||
|  |  | ||||||
|  | GIT | ||||||
|  | --- | ||||||
|  | Part of the gitlink:git[7] suite | ||||||
							
								
								
									
										13
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										13
									
								
								Makefile
								
								
								
								
							|  | @ -6,12 +6,16 @@ | ||||||
| # Define NO_OPENSSL environment variable if you do not have OpenSSL. You will | # Define NO_OPENSSL environment variable if you do not have OpenSSL. You will | ||||||
| # miss out git-rev-list --merge-order. This also implies MOZILLA_SHA1. | # miss out git-rev-list --merge-order. This also implies MOZILLA_SHA1. | ||||||
| # | # | ||||||
| # Define NO_CURL if you do not have curl installed.  git-http-pull is not | # Define NO_CURL if you do not have curl installed.  git-http-pull and | ||||||
| # built, and you cannot use http:// and https:// transports. | # git-http-push are not built, and you cannot use http:// and https:// | ||||||
|  | # transports. | ||||||
| # | # | ||||||
| # Define CURLDIR=/foo/bar if your curl header and library files are in | # Define CURLDIR=/foo/bar if your curl header and library files are in | ||||||
| # /foo/bar/include and /foo/bar/lib directories. | # /foo/bar/include and /foo/bar/lib directories. | ||||||
| # | # | ||||||
|  | # Define NO_EXPAT if you do not have expat installed.  git-http-push is | ||||||
|  | # not built, and you cannot push using http:// and https:// transports. | ||||||
|  | # | ||||||
| # Define NO_STRCASESTR if you don't have strcasestr. | # Define NO_STRCASESTR if you don't have strcasestr. | ||||||
| # | # | ||||||
| # Define PPC_SHA1 environment variable when running make to make use of | # Define PPC_SHA1 environment variable when running make to make use of | ||||||
|  | @ -223,6 +227,10 @@ ifndef NO_CURL | ||||||
| 		CURL_LIBCURL = -lcurl | 		CURL_LIBCURL = -lcurl | ||||||
| 	endif | 	endif | ||||||
| 	PROGRAMS += git-http-fetch$X | 	PROGRAMS += git-http-fetch$X | ||||||
|  | 	ifndef NO_EXPAT | ||||||
|  | 		EXPAT_LIBEXPAT = -lexpat | ||||||
|  | 		PROGRAMS += git-http-push$X | ||||||
|  | 	endif | ||||||
| endif | endif | ||||||
|  |  | ||||||
| ifndef SHELL_PATH | ifndef SHELL_PATH | ||||||
|  | @ -375,6 +383,7 @@ git-ssh-pull$X: rsh.o fetch.o | ||||||
| git-ssh-push$X: rsh.o | git-ssh-push$X: rsh.o | ||||||
|  |  | ||||||
| git-http-fetch$X: LIBS += $(CURL_LIBCURL) | git-http-fetch$X: LIBS += $(CURL_LIBCURL) | ||||||
|  | git-http-push$X: LIBS += $(CURL_LIBCURL) $(EXPAT_LIBEXPAT) | ||||||
| git-rev-list$X: LIBS += $(OPENSSL_LIBSSL) | git-rev-list$X: LIBS += $(OPENSSL_LIBSSL) | ||||||
|  |  | ||||||
| init-db.o: init-db.c | init-db.o: init-db.c | ||||||
|  |  | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	 Nick Hengeveld
						Nick Hengeveld