Re: bundles with multiple branches
On Sun, Aug 23, 2009 at 4:36 PM, Jeffrey Ratcliffe<jeffrey.ratcliffe@gmail.com> wrote:
Show 14 quoted lines
> 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