Skip to content

Commit

Permalink
git-bundle.txt: Add different strategies to create the bundle
Browse files Browse the repository at this point in the history
Signed-off-by: Santi Béjar <sbejar@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Santi Béjar authored and Junio C Hamano committed Feb 25, 2008
1 parent 8e0fbe6 commit 99d8ea2
Showing 1 changed file with 35 additions and 9 deletions.
44 changes: 35 additions & 9 deletions Documentation/git-bundle.txt
Original file line number Diff line number Diff line change
Expand Up @@ -99,36 +99,62 @@ Assume two repositories exist as R1 on machine A, and R2 on machine B.
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).
We want to update R2 with developments made on branch master in R1.

To create the bundle you have to specify the basis. You have some options:

- Without basis.
+
This is useful when sending the whole history.

------------
$ git bundle create mybundle master
------------

- Using temporally tags.
+
We set a tag in R1 (lastR2bundle) after the previous such transport,
and move it afterwards to help build the bundle.

in R1 on A:

------------
$ git-bundle create mybundle master ^lastR2bundle
$ git tag -f lastR2bundle master
------------

(move mybundle from A to B by some mechanism)
- Using a tag present in both repositories

------------
$ git bundle create mybundle master ^v1.0.0
------------

- A basis based on time.

------------
$ git bundle create mybundle master --since=10.days.ago
------------

in R2 on B:
- With a limit on the number of commits

------------
$ git-bundle verify mybundle
$ git-fetch mybundle refspec
$ git bundle create mybundle master -n 10
------------

where refspec is refInBundle:localRef
Then you move mybundle from A to B, and in R2 on B:

------------
$ git-bundle verify mybundle
$ git-fetch mybundle master:localRef
------------

Also, with something like this in your config:
With something like this in the config in R2:

------------------------
[remote "bundle"]
url = /home/me/tmp/file.bdl
fetch = refs/heads/*:refs/remotes/origin/*
------------------------

You can first sneakernet the bundle file to ~/tmp/file.bdl and
then these commands:
then these commands on machine B:

------------
$ git ls-remote bundle
Expand Down

0 comments on commit 99d8ea2

Please sign in to comment.