Subject: Re: [boost] Git: maintaining super-project
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2013-12-04 03:16:04
On Wed, Dec 4, 2013 at 12:06 PM, Vladimir Prus <ghost_at_[hidden]> wrote:
> On 04.12.2013 11:32, Andrey Semashev wrote:
>> I just checked out the super-project:
>> git clone --recursive http://github.com/boostorg/boost.git
>> It actually said:
>> Submodule path 'libs/program_options': checked out
>> But after these commands I saw the newer revisions:
>> cd modular-boost/libs/program_options
>> git checkout master
>> Switched to branch 'master'
>> git log -1
>> commit 9d7c9875265ec7fec03aabf18e3d53c3e5e1a46c
>> Author: Vladimir Prus <vladimir_at_[hidden]>
>> Date: Wed Dec 4 09:17:17 2013 +0400
>> Remove tabs.
>> I'm not sure what the "Submodule" line means, but it seems the
>> repository is cloned with the newer revisions.
> That's because git does complete repository clone. But then, it checks out
> the revision
> specified for each submodule (see 'git ls-tree master:libs' the the exact
> I don't think it can automatically checkout symbolic reference (such as
> 'master'), so
> either we need to document things like 'git submodule foreach' use, or use
> some scripting
> to update submodule references periodically.
man git-submodule says that the submodule involves something called
"gitlink", which refers to the particular revision. I don't know what
this is but is it possible to specify HEAD instead of the specific
revisions in gitlinks? If that is possible then
git clone -b master --recursive http://github.com/boostorg/boost.git
would probably do what is expected?