Boost logo

Boost :

Subject: Re: [boost] Equivalent of "svn update"?
From: Ahmed Charles (acharles_at_[hidden])
Date: 2013-12-07 15:30:00

> From: lists_at_[hidden]
> To: boost_at_[hidden]
> Date: Sat, 7 Dec 2013 21:45:20 +0200
> Subject: [boost] Equivalent of "svn update"?
> I've followed the instructions at
> and everything worked
> fine.
> I then switched to branch develop in libs/bind and libs/smart_ptr, did
> developmental things there. Switched to master, did a merge, switched back
> to develop, did more things, git pushed the changes. This also worked fine.
> Now, what do I need to do to achieve the equivalent of "svn update", that
> is, to update all other libraries to reflect changes that others might have
> done in the meantime?
> When I do "git status" at the "modular-boost" directory (which I've named
> "boost"), I get:
> C:\Projects\boost-git\boost>git status
> # On branch master
> # Changes not staged for commit:
> # (use "git add <file>..." to update what will be committed)
> # (use "git checkout -- <file>..." to discard changes in working
> directory)
> # (commit or discard the untracked or modified content in submodules)
> #
> # modified: libs/bind (new commits)
> # modified: libs/smart_ptr (new commits)
> # modified: tools/build (untracked content)
> #
> # Untracked files:
> # (use "git add <file>..." to include in what will be committed)
> #
> # b2.exe
> # bin.v2/
> # bjam.exe
> # boost/
> # bootstrap.log
> # project-config.jam
> no changes added to commit (use "git add" and/or "git commit -a")
> That looks correct. Now, what do I need to do to update the master and all
> submodules to their latest state? Is it "git submodule update --init", "git
> pull", or something else? And would I then need to again checkout develop
> (or master, if I happen to be on that branch) in libs/bind and
> libs/smart_ptr?

The steps are (I think, mostly exhaustively):

1. Decide whether you want to test against the develop branch of other libs or the master branch.
2. Run in the super project:
git checkout <branch>
git pull
git submodule update # this will change bind and smart_ptr to some other checkin
cd libs/bind
git checkout develop
cd ../smart_ptr
git checkout develop
3. Run your tests.

I haven't tested this exact sequence, but I've done things that are similar. If something goes wrong, just send another mail.

Boost list run by bdawes at, gregod at, cpdaniel at, john at