I tend to work on multiple machines that don't have direct access to
each and therefore keep my git repositories in sync using bundles.
This works fine for single branches - but how can I set things up so
that I can just
$ git pull <bundle>
or
$ git fetch <bundle>
and have git update all branches?
Regards
Jeff
On Sun, Aug 23, 2009 at 4:36 PM, Jeffrey
Ratcliffe[off-list ref] wrote:
I tend to work on multiple machines that don't have direct access to
each and therefore keep my git repositories in sync using bundles.
This works fine for single branches - but how can I set things up so
that I can just
$ git pull <bundle>
or
$ git fetch <bundle>
and have git update all branches?
1. Make sure you've got all of the refs you want in the bundle. I
usually use `git bundle create ... --all`
2. Set up a remote on the destination side with a url of wherever you
keep bundles (like /media/cdrom) and a fetch line like
refs/heads/*:refs/remotes/source/*
git remote add bundle /media/cdrom
git config --replace-all remotes.bundle.fetch refs/heads/*:refs/remotes/bundle/*
Since your destination machine is likely not connected to the
internet, you may also want copy all of the remotes too. I do that
with
git config --add remotes.bundle.fetch refs/remotes/*:refs/remotes/*
Beware of the use of the name "origin" with setups like this. If you
have branches under refs/remotes/origin/ on the machine you use to
create the bundle, you will should make sure you don't try to copy
refs from refs/heads and refs/remotes/origin to the same place
(because refs/remotes/origin is the natural place to store both).
Adam
Thanks for the help
2009/8/23 Adam Brewster [off-list ref]:
git remote add bundle /media/cdrom
git config --replace-all remotes.bundle.fetch refs/heads/*:refs/remotes/bundle/*
git config --add remotes.bundle.fetch refs/remotes/*:refs/remotes/*
On
$ git pull bundle
or
$ git fetch bundle
I get
fatal: '/media/cdrom': unable to chdir or not a git archive
fatal: The remote end hung up unexpectedly
Any ideas?
(I used the mount point of the USB stick where the bundles were but
the principle is the same)
Regards
Jeff
2009/8/23 Adam Brewster [off-list ref]:
quoted
git remote add bundle /media/cdrom
git config --replace-all remotes.bundle.fetch refs/heads/*:refs/remotes/bundle/*
git config --add remotes.bundle.fetch refs/remotes/*:refs/remotes/*
On
$ git pull bundle
or
$ git fetch bundle
I get
fatal: '/media/cdrom': unable to chdir or not a git archive
fatal: The remote end hung up unexpectedly
Sorry, that's supposed to be /media/cdrom/name-of-bundle