Boost logo

Boost :

Subject: Re: [boost] [git] Problems with Boost.Sync
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2013-12-07 13:41:28


On Saturday 07 December 2013 18:23:07 Daniel James wrote:
> On 7 December 2013 18:11, Andrey Semashev <andrey.semashev_at_[hidden]> wrote:
> > Hi,
> >
> > My first experience with git is failing miserably. I was trying to
> > checkout
> > Boost.Sync, which is not present in the normal checkout as described in
> > the
>
> > wiki [1]. It is only present in the develop branch, so I thought I have to
do:
> If you want to check out develop the easiest thing to do is a straight
> clone:
>
> git clone --recursive -b develop git_at_[hidden]:boostorg/boost.git
>
> If you've got a clean check out of master you need to first checkout
> develop in the master repo, and then update the submodules:
>
> git checkout origin/develop -b develop
> git submodule update --init
>
> The '--init' is used to initialise the sync submodules before updating.
>
> > git submodule foreach --recursive git checkout develop
> >
> > That didn't help, so I also did
> >
> > git checkout develop
> > git pull
> >
> > The last command failed with the error:
> >
> > First, rewinding head to replay your work on top of it...
>
> It's tricky to know what to do as I don't know what you've done to the
> repo. You might have committed something into it. If you're sure
> there's nothing in your clone of the main repo that want to keep, then
> try something like this (assuming that you're on the master branch):
>
> git reset --hard origin/master
> git submodule update
>
> Then try checking out develop as above.

Thanks, but it didn't work:

$ git reset --hard origin/master
HEAD is now at d10b384 Update log, smart_ptr.
$ git submodule update

[lots of "Submodule path 'X': checked out 'Y']

$ git checkout origin/develop -b develop
fatal: A branch named 'develop' already exists.
$ git checkout develop
Already on 'develop'
Your branch and 'origin/develop' have diverged,
and have 5557 and 9770 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)
lastique_at_lastique-pc:~/src/boost$ git pull
First, rewinding head to replay your work on top of it...
Applying: Fixed serialization of the wave tool.
Using index info to reconstruct a base tree...
M libs/wave
Falling back to patching base and 3-way merge...
warning: Failed to merge submodule libs/wave (commits don't follow merge-base)
Auto-merging libs/wave
CONFLICT (submodule): Merge conflict in libs/wave
Failed to merge in the changes.
Patch failed at 0001 Fixed serialization of the wave tool.
The copy of the patch that failed is found in:
   /home/lastique/src/boost/.git/rebase-apply/patch

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".

$ git rebase --abort
$ git submodule update --init

The last command didn't do anything, there is still no libs/sync. I guess,
I'll have to do a clean checkout again.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk