
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: 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... 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". I swear I didn't even touch wave! The mentioned patch is: b17f63d8d907c50d3a91e064c62ec47bfcc38050 diff --git a/libs/wave b/libs/wave index 55350dd2f9d1ce39aa253c49e9e10f073f776a35..96207efc61d549b9a810f067bfefe2bf55c28a65 160000 --- a/libs/wave +++ b/libs/wave @@ -1 +1 @@ -Subproject commit 55350dd2f9d1ce39aa253c49e9e10f073f776a35 +Subproject commit 96207efc61d549b9a810f067bfefe2bf55c28a65 This looks like a superproject metadata for the submodule, and I have no idea to what I should apply this patch. I'm at a loss. 1. How can I get rid of this error? 2. How can I checkout Boost.Sync?

On 7 December 2013 18:11, Andrey Semashev
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@github.com: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.

On 7 December 2013 18:11, Andrey Semashev
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:
Also, it might be best to clone sync inside the master branch, so that you can test it against the stable versions of the other libraries. We need better guidance on how to add new libraries.

On Saturday 07 December 2013 18:33:44 Daniel James wrote:
On 7 December 2013 18:11, Andrey Semashev
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: Also, it might be best to clone sync inside the master branch, so that you can test it against the stable versions of the other libraries. We need better guidance on how to add new libraries.
Boost.Sync is not ready to be released yet. It was only present in svn trunk, so now it is only present in develop.

On 7 December 2013 18:43, Andrey Semashev
On Saturday 07 December 2013 18:33:44 Daniel James wrote:
On 7 December 2013 18:11, Andrey Semashev
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: Also, it might be best to clone sync inside the master branch, so that you can test it against the stable versions of the other libraries. We need better guidance on how to add new libraries.
Boost.Sync is not ready to be released yet. It was only present in svn trunk, so now it is only present in develop.
Yes, I understand that. You can still clone a copy onto your hard drive in the right location.

On Saturday 07 December 2013 18:23:07 Daniel James wrote:
On 7 December 2013 18:11, Andrey Semashev
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@github.com: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@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.

On 7 December 2013 18:41, Andrey Semashev
On Saturday 07 December 2013 18:23:07 Daniel James wrote:
(assuming that you're on the master branch):
You were on the develop branch, so you've just reset it to the master branch. If you're still on the develop branch do this: git reset --hard origin/develop git submodule update --init

On Saturday 07 December 2013 18:47:25 Daniel James wrote:
On 7 December 2013 18:41, Andrey Semashev
wrote: On Saturday 07 December 2013 18:23:07 Daniel James wrote:
(assuming that you're on the master branch): You were on the develop branch, so you've just reset it to the master branch. If you're still on the develop branch do this:
git reset --hard origin/develop git submodule update --init
Oh, that did it! Thanks.
participants (2)
-
Andrey Semashev
-
Daniel James