diff --git a/Documentation/git-fetch-script.txt b/Documentation/git-fetch-script.txt new file mode 100644 index 0000000000..937df05dbc --- /dev/null +++ b/Documentation/git-fetch-script.txt @@ -0,0 +1,47 @@ +git-fetch-script(1) +=================== +v0.1, July 2005 + +NAME +---- +git-fetch-script - Download objects and a head from another repository. + + +SYNOPSIS +-------- +'git-fetch-script' [ | tag ] + + +DESCRIPTION +----------- +Fetches a named head or a tag from another repository, along +with the objects necessary to complete that head or tag. The +head to pull defaults to HEAD if unspecified. The head or tag +fetched from the remote repository is stored in +$GIT_DIR/FETCH_HEAD. + +When a is specified, the fetched from the remote is +also copied to the local $GIT_DIR/tags/ file. When no + nor is specified, and was specified +with the short-hand notation (i.e. naming a file under the +$GIT_DIR/branches directory), the head fetched from the remote +repository is also copied to the local $GIT_DIR/heads/ +file. + + +OPTIONS +------- +include::pull-fetch-param.txt[] + + +Author +------ +Written by Linus Torvalds and Junio C Hamano + +Documentation +-------------- +Documentation by David Greaves, Junio C Hamano and the git-list . + +GIT +--- +Part of the link:git.html[git] suite diff --git a/Documentation/git-pull-script.txt b/Documentation/git-pull-script.txt index 44fd09a97a..ec1e7a2a90 100644 --- a/Documentation/git-pull-script.txt +++ b/Documentation/git-pull-script.txt @@ -4,22 +4,28 @@ v0.1, May 2005 NAME ---- -git-pull-script - Script used by Linus to pull and merge a remote repository +git-pull-script - Pull and merge from another repository. SYNOPSIS -------- -'git-pull-script' +'git-pull-script' [ | tag ] + DESCRIPTION ----------- -This script is used by Linus to pull from a remote repository and perform -a merge. +Runs 'git-fetch-script' with the given parameters, then +'git-resolve-script' to merge the local HEAD and FETCH_HEAD. + + +OPTIONS +------- +include::pull-fetch-param.txt[] Author ------ -Written by Linus Torvalds +Written by Linus Torvalds and Junio C Hamano Documentation -------------- diff --git a/Documentation/git.txt b/Documentation/git.txt index 916a0b7f08..ffc27d5d7a 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -121,6 +121,9 @@ The interrogate commands may create files - and you can force them to touch the working file set - but in general they don't +Synching repositories +~~~~~~~~~~~~~~~~~~~~~ + link:git-clone-script.html[git-clone-script]:: Clones a repository into the current repository (user interface) @@ -128,10 +131,14 @@ link:git-clone-pack.html[git-clone-pack]:: Clones a repository into the current repository (engine for ssh and local transport) -link:git-pull-script.html[git-pull-script]:: +link:git-fetch-script.html[git-pull-script]:: Pull from a repote repository via various protocols (user interface). +link:git-pull-script.html[git-pull-script]:: + Fetch from and merge with a repote repository via + various protocols (user interface). + link:git-http-pull.html[git-http-pull]:: Downloads a remote GIT repository via HTTP diff --git a/Documentation/pull-fetch-param.txt b/Documentation/pull-fetch-param.txt new file mode 100644 index 0000000000..7ae4ba0bd8 --- /dev/null +++ b/Documentation/pull-fetch-param.txt @@ -0,0 +1,36 @@ +:: + The "remote" repository to pull from. One of the + following notations can be used to name the repository + to pull from: + + Rsync URL + rsync://remote.machine/path/to/repo.git/ + + HTTP(s) URL + http://remote.machine/path/to/repo.git/ + + GIT URL + git://remote.machine/path/to/repo.git/ + remote.machine:/path/to/repo.git/ + + Local directory + /path/to/repo.git/ + + In addition to that, as a short-hand, the name of a file + in $GIT_DIR/branches directory can be specified; the + named file should contain a single line, a URL in one of + the above formats, optionally followed by a hash '#' and + the name of remote head. + +:: + The remote head name to fetch from. That is, make the + objects reachable from the commit recorded in + $GIT_DIR/refs/heads/ in the remote repository + available locally. + +tag :: + The remote head tag to fetch from. That is, make the + objects reachable from the commit recorded in + $GIT_DIR/refs/tags/ in the remote repository + available locally. + diff --git a/Documentation/tutorial.txt b/Documentation/tutorial.txt index 8088fd3dce..925ef2c401 100644 --- a/Documentation/tutorial.txt +++ b/Documentation/tutorial.txt @@ -810,6 +810,34 @@ pull from: course, you will pay the price of more disk usage to hold multiple working trees, but disk space is cheap these days. ] +It is likely that you will be pulling from the same remote +repository from time to time. As a short hand, you can store +the remote repository URL in a file under .git/branches/ +directory, like this: + + mkdir -p .git/branches + echo rsync://kernel.org/pub/scm/git/git.git/ \ + >.git/branches/linus + +and use the filenae to "git pull" instead of the full URL. +The contents of a file under .git/branches can even be a prefix +of a full URL, like this: + + echo rsync://kernel.org/pub/.../jgarzik/ + >.git/branches/jgarzik + +Examples. + + (1) git pull linus + (2) git pull linus tag v0.99.1 + (3) git pull jgarzik/netdev-2.6.git/ e100 + +the above are equivalent to: + + (1) git pull rsync://kernel.org/pub/scm/git/git.git/ HEAD + (2) git pull rsync://kernel.org/pub/scm/git/git.git/ tag v0.99.1 + (3) git pull rsync://kernel.org/pub/.../jgarzik/netdev-2.6.git e100 + Publishing your work --------------------