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 | ||||
| # 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 | ||||
| # built, and you cannot use http:// and https:// transports. | ||||
| # Define NO_CURL if you do not have curl installed.  git-http-pull and | ||||
| # 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 | ||||
| # /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 PPC_SHA1 environment variable when running make to make use of | ||||
|  | @ -223,6 +227,10 @@ ifndef NO_CURL | |||
| 		CURL_LIBCURL = -lcurl | ||||
| 	endif | ||||
| 	PROGRAMS += git-http-fetch$X | ||||
| 	ifndef NO_EXPAT | ||||
| 		EXPAT_LIBEXPAT = -lexpat | ||||
| 		PROGRAMS += git-http-push$X | ||||
| 	endif | ||||
| endif | ||||
|  | ||||
| ifndef SHELL_PATH | ||||
|  | @ -375,6 +383,7 @@ git-ssh-pull$X: rsh.o fetch.o | |||
| git-ssh-push$X: rsh.o | ||||
|  | ||||
| git-http-fetch$X: LIBS += $(CURL_LIBCURL) | ||||
| git-http-push$X: LIBS += $(CURL_LIBCURL) $(EXPAT_LIBEXPAT) | ||||
| git-rev-list$X: LIBS += $(OPENSSL_LIBSSL) | ||||
|  | ||||
| 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