Documentation: minor grammatical fixes and rewording in git-bundle.txt
This commit also converts all reference specifications to a monospaced font, as the embedded ~ character used in some of the references sometimes causes the text up to the next ~ to be displayed incorrectly as a subscript when the HTML pages are generated. This was tested with asciidoc 8.2.5. Signed-off-by: David J. Mellor <dmellor@whistlingcat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
a42dea3281
commit
1d52b02696
@ -19,13 +19,13 @@ DESCRIPTION
|
|||||||
|
|
||||||
Some workflows require that one or more branches of development on one
|
Some workflows require that one or more branches of development on one
|
||||||
machine be replicated on another machine, but the two machines cannot
|
machine be replicated on another machine, but the two machines cannot
|
||||||
be directly connected so the interactive git protocols (git, ssh,
|
be directly connected, and therefore the interactive git protocols (git,
|
||||||
rsync, http) cannot be used. This command provides support for
|
ssh, rsync, http) cannot be used. This command provides support for
|
||||||
'git-fetch' and 'git-pull' to operate by packaging objects and references
|
'git-fetch' and 'git-pull' to operate by packaging objects and references
|
||||||
in an archive at the originating machine, then importing those into
|
in an archive at the originating machine, then importing those into
|
||||||
another repository using 'git-fetch' and 'git-pull'
|
another repository using 'git-fetch' and 'git-pull'
|
||||||
after moving the archive by some means (i.e., by sneakernet). As no
|
after moving the archive by some means (i.e., by sneakernet). As no
|
||||||
direct connection between repositories exists, the user must specify a
|
direct connection between the repositories exists, the user must specify a
|
||||||
basis for the bundle that is held by the destination repository: the
|
basis for the bundle that is held by the destination repository: the
|
||||||
bundle assumes that all objects in the basis are already in the
|
bundle assumes that all objects in the basis are already in the
|
||||||
destination repository.
|
destination repository.
|
||||||
@ -43,7 +43,7 @@ verify <file>::
|
|||||||
bundle format itself as well as checking that the prerequisite
|
bundle format itself as well as checking that the prerequisite
|
||||||
commits exist and are fully linked in the current repository.
|
commits exist and are fully linked in the current repository.
|
||||||
'git-bundle' prints a list of missing commits, if any, and exits
|
'git-bundle' prints a list of missing commits, if any, and exits
|
||||||
with non-zero status.
|
with a non-zero status.
|
||||||
|
|
||||||
list-heads <file>::
|
list-heads <file>::
|
||||||
Lists the references defined in the bundle. If followed by a
|
Lists the references defined in the bundle. If followed by a
|
||||||
@ -53,14 +53,14 @@ list-heads <file>::
|
|||||||
unbundle <file>::
|
unbundle <file>::
|
||||||
Passes the objects in the bundle to 'git-index-pack'
|
Passes the objects in the bundle to 'git-index-pack'
|
||||||
for storage in the repository, then prints the names of all
|
for storage in the repository, then prints the names of all
|
||||||
defined references. If a reflist is given, only references
|
defined references. If a list of references is given, only
|
||||||
matching those in the given list are printed. This command is
|
references matching those in the list are printed. This command is
|
||||||
really plumbing, intended to be called only by 'git-fetch'.
|
really plumbing, intended to be called only by 'git-fetch'.
|
||||||
|
|
||||||
[git-rev-list-args...]::
|
[git-rev-list-args...]::
|
||||||
A list of arguments, acceptable to 'git-rev-parse' and
|
A list of arguments, acceptable to 'git-rev-parse' and
|
||||||
'git-rev-list', that specify the specific objects and references
|
'git-rev-list', that specifies the specific objects and references
|
||||||
to transport. For example, "master~10..master" causes the
|
to transport. For example, `master\~10..master` causes the
|
||||||
current master reference to be packaged along with all objects
|
current master reference to be packaged along with all objects
|
||||||
added since its 10th ancestor commit. There is no explicit
|
added since its 10th ancestor commit. There is no explicit
|
||||||
limit to the number of references and objects that may be
|
limit to the number of references and objects that may be
|
||||||
@ -71,24 +71,24 @@ unbundle <file>::
|
|||||||
A list of references used to limit the references reported as
|
A list of references used to limit the references reported as
|
||||||
available. This is principally of use to 'git-fetch', which
|
available. This is principally of use to 'git-fetch', which
|
||||||
expects to receive only those references asked for and not
|
expects to receive only those references asked for and not
|
||||||
necessarily everything in the pack (in this case, 'git-bundle' is
|
necessarily everything in the pack (in this case, 'git-bundle' acts
|
||||||
acting like 'git-fetch-pack').
|
like 'git-fetch-pack').
|
||||||
|
|
||||||
SPECIFYING REFERENCES
|
SPECIFYING REFERENCES
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
'git-bundle' will only package references that are shown by
|
'git-bundle' will only package references that are shown by
|
||||||
'git-show-ref': this includes heads, tags, and remote heads. References
|
'git-show-ref': this includes heads, tags, and remote heads. References
|
||||||
such as master~1 cannot be packaged, but are perfectly suitable for
|
such as `master\~1` cannot be packaged, but are perfectly suitable for
|
||||||
defining the basis. More than one reference may be packaged, and more
|
defining the basis. More than one reference may be packaged, and more
|
||||||
than one basis can be specified. The objects packaged are those not
|
than one basis can be specified. The objects packaged are those not
|
||||||
contained in the union of the given bases. Each basis can be
|
contained in the union of the given bases. Each basis can be
|
||||||
specified explicitly (e.g., ^master~10), or implicitly (e.g.,
|
specified explicitly (e.g. `^master\~10`), or implicitly (e.g.
|
||||||
master~10..master, --since=10.days.ago master).
|
`master\~10..master`, `--since=10.days.ago master`).
|
||||||
|
|
||||||
It is very important that the basis used be held by the destination.
|
It is very important that the basis used be held by the destination.
|
||||||
It is okay to err on the side of conservatism, causing the bundle file
|
It is okay to err on the side of caution, causing the bundle file
|
||||||
to contain objects already in the destination as these are ignored
|
to contain objects already in the destination, as these are ignored
|
||||||
when unpacking at the destination.
|
when unpacking at the destination.
|
||||||
|
|
||||||
EXAMPLE
|
EXAMPLE
|
||||||
@ -97,13 +97,13 @@ EXAMPLE
|
|||||||
Assume you want to transfer the history from a repository R1 on machine A
|
Assume you want to transfer the history from a repository R1 on machine A
|
||||||
to another repository R2 on machine B.
|
to another repository R2 on machine B.
|
||||||
For whatever reason, direct connection between A and B is not allowed,
|
For whatever reason, direct connection between A and B is not allowed,
|
||||||
but we can move data from A to B via some mechanism (CD, email, etc).
|
but we can move data from A to B via some mechanism (CD, email, etc.).
|
||||||
We want to update R2 with developments made on branch master in R1.
|
We want to update R2 with development made on the branch master in R1.
|
||||||
|
|
||||||
To bootstrap the process, you can first create a bundle that doesn't have
|
To bootstrap the process, you can first create a bundle that does not have
|
||||||
any basis. You can use a tag to remember up to what commit you sent out
|
any basis. You can use a tag to remember up to what commit you last
|
||||||
in order to make it easy to later update the other repository with
|
processed, in order to make it easy to later update the other repository
|
||||||
incremental bundle,
|
with an incremental bundle:
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
machineA$ cd R1
|
machineA$ cd R1
|
||||||
@ -111,17 +111,17 @@ machineA$ git bundle create file.bundle master
|
|||||||
machineA$ git tag -f lastR2bundle master
|
machineA$ git tag -f lastR2bundle master
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
Then you sneakernet file.bundle to the target machine B. Because you don't
|
Then you transfer file.bundle to the target machine B. If you are creating
|
||||||
have to have any object to extract objects from such a bundle, not only
|
the repository on machine B, then you can clone from the bundle as if it
|
||||||
you can fetch/pull from a bundle, you can clone from it as if it was a
|
were a remote repository instead of creating an empty repository and then
|
||||||
remote repository.
|
pulling or fetching objects from the bundle:
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
machineB$ git clone /home/me/tmp/file.bundle R2
|
machineB$ git clone /home/me/tmp/file.bundle R2
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
This will define a remote called "origin" in the resulting repository that
|
This will define a remote called "origin" in the resulting repository that
|
||||||
lets you fetch and pull from the bundle. $GIT_DIR/config file in R2 may
|
lets you fetch and pull from the bundle. The $GIT_DIR/config file in R2 will
|
||||||
have an entry like this:
|
have an entry like this:
|
||||||
|
|
||||||
------------------------
|
------------------------
|
||||||
@ -130,12 +130,12 @@ have an entry like this:
|
|||||||
fetch = refs/heads/*:refs/remotes/origin/*
|
fetch = refs/heads/*:refs/remotes/origin/*
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
You can fetch/pull to update the resulting mine.git repository after
|
To update the resulting mine.git repository, you can fetch or pull after
|
||||||
replacing the bundle you store at /home/me/tmp/file.bundle with incremental
|
replacing the bundle stored at /home/me/tmp/file.bundle with incremental
|
||||||
updates from here on.
|
updates.
|
||||||
|
|
||||||
After working more in the original repository, you can create an
|
After working some more in the original repository, you can create an
|
||||||
incremental bundle to update the other:
|
incremental bundle to update the other repository:
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
machineA$ cd R1
|
machineA$ cd R1
|
||||||
@ -143,8 +143,8 @@ machineA$ git bundle create file.bundle lastR2bundle..master
|
|||||||
machineA$ git tag -f lastR2bundle master
|
machineA$ git tag -f lastR2bundle master
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
and sneakernet it to the other machine to replace /home/me/tmp/file.bundle,
|
You then transfer the bundle to the other machine to replace
|
||||||
and pull from it.
|
/home/me/tmp/file.bundle, and pull from it.
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
machineB$ cd R2
|
machineB$ cd R2
|
||||||
@ -152,49 +152,49 @@ machineB$ git pull
|
|||||||
----------------
|
----------------
|
||||||
|
|
||||||
If you know up to what commit the intended recipient repository should
|
If you know up to what commit the intended recipient repository should
|
||||||
have the necessary objects for, you can use that knowledge to specify the
|
have the necessary objects, you can use that knowledge to specify the
|
||||||
basis, giving a cut-off point to limit the revisions and objects that go
|
basis, giving a cut-off point to limit the revisions and objects that go
|
||||||
in the resulting bundle. The previous example used lastR2bundle tag
|
in the resulting bundle. The previous example used lastR2bundle tag
|
||||||
for this purpose, but you can use other options you would give to
|
for this purpose, but you can use any other options that you would give to
|
||||||
the linkgit:git-log[1] command. Here are more examples:
|
the linkgit:git-log[1] command. Here are more examples:
|
||||||
|
|
||||||
You can use a tag that is present in both.
|
You can use a tag that is present in both:
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
$ git bundle create mybundle v1.0.0..master
|
$ git bundle create mybundle v1.0.0..master
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
You can use a basis based on time.
|
You can use a basis based on time:
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
$ git bundle create mybundle --since=10.days master
|
$ git bundle create mybundle --since=10.days master
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
Or you can use the number of commits.
|
You can use the number of commits:
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
$ git bundle create mybundle -10 master
|
$ git bundle create mybundle -10 master
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
You can run `git-bundle verify` to see if you can extract from a bundle
|
You can run `git-bundle verify` to see if you can extract from a bundle
|
||||||
that was created with a basis.
|
that was created with a basis:
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
$ git bundle verify mybundle
|
$ git bundle verify mybundle
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
This will list what commits you must have in order to extract from the
|
This will list what commits you must have in order to extract from the
|
||||||
bundle and will error out if you don't have them.
|
bundle and will error out if you do not have them.
|
||||||
|
|
||||||
A bundle from a recipient repository's point of view is just like a
|
A bundle from a recipient repository's point of view is just like a
|
||||||
regular repository it fetches/pulls from. You can for example map
|
regular repository which it fetches or pulls from. You can, for example, map
|
||||||
refs, like this example, when fetching:
|
references when fetching:
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
$ git fetch mybundle master:localRef
|
$ git fetch mybundle master:localRef
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
Or see what refs it offers.
|
You can also see what references it offers.
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
$ git ls-remote mybundle
|
$ git ls-remote mybundle
|
||||||
|
Loading…
Reference in New Issue
Block a user