$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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
> https://svn.boost.org/trac/boost/wiki/TryModBoost 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.