[conversion] Serious header integrity test failures.

This integrity test verifies that every header file present in svn branches/release and trunk is also present in git master and develop, respectively, and visa versa. The branches/release vs master comparison is in pretty good shape - no missing headers, but a small number of extra headers. Two libraries are affected. But the trunk vs develop comparison turned up problems in many libraries. For example, the whole Boost.Chrono stopwatches sub-directory is missing. These look serious. What is the fix? --Beman

On 24 November 2013 22:57, Beman Dawes
The extra functional/hash headers were deleted a long time ago. "Attic" directories were used by CVS for deleted files, so I'm guessing there was a mistake in the CVS to subversion conversion which confused the subversion to git conversion. It's a bit annoying, but not a show stopper.
But the trunk vs develop comparison turned up problems in many libraries. For example, the whole Boost.Chrono stopwatches sub-directory is missing.
That directory is in develop: https://github.com/boostorg/chrono/tree/develop/include/boost/chrono/stopwat... Maybe it's using the master branch for submodules. How are you checking it out?

On Sun, Nov 24, 2013 at 8:10 PM, Dave Abrahams
Ah! Excellent! That's easier than the script I was using. And the problem was definitely operator error on my part. Sorry for the noise. The corrected run shows four extra files, plus sync missing. See attached. The directory libs/sync is present in my super-project clone but is empty. Looking at boostorg on GitHub, sync doesn't have a master branch, so maybe is getting dropped on the floor as far as the clone goes? --Beman

On 25 November 2013 01:56, Beman Dawes
I just tried: git clone --recursive -b develop git@github.com:boostorg/boost.git boost-develop And that worked fine. I think you're doing a recursive clone of master and then switching to the branch. In which case I think you need to use 'git submodule update --init' to initialise modules on this branch before updating (untested and possibly wrong). Will most developers use this though? I imagine they'd check out the master and then use develop for the modules they care about.

On Mon, Nov 25, 2013 at 8:18 AM, Daniel James
At Dave's suggestion, I tried this last night: git clone --recursive git@github.com:boostorg/boost.git modular-boost cd modular-boost ... git checkout develop git module update It worked fine, and that's what I used to run the develop header file verification that worked correctly.
Will most developers use this though? I imagine they'd check out the master and then use develop for the modules they care about.
Yes. I was just working on https://svn.boost.org/trac/boost/wiki/TryModBoostto show what developers would actually do. I'd gotten this far: git clone --recursive git@github.com:boostorg/boost.git modular-boost cd modular-boost ./bootstrap.sh ./b2 headers git checkout master git submodule update cd libs/my-lib git checkout develop I tried to test the above, in modular-boost with develop checked out, and ran into the same problem others have reported: D:\modular-boost>git checkout master error: Your local changes to the following files would be overwritten by checkout: bootstrap.bat doc/test/test.svg Please, commit your changes or stash them before you can switch branches. Aborting We need to fix this ASAP, but that's a different thread. Is the sequence of commands above what the developer of my-lib should do to get started? Thanks, --Beman

On 25 November 2013 14:07, Beman Dawes
But it was missing sync, wasn't it? That's why I think you need to use 'git module update --init'.
I didn't need 'git checkout master' and 'git submodule update'. The wiki page says the modular-boost repo will be detached, but it wasn't for me (the submodules were).

On Nov 24, 2013, at 2:57 PM, Beman Dawes
I think there must be something wrong with your verification procedure. Please see https://github.com/boostorg/chrono/tree/develop/include/boost/chrono/stopwat... Doesn’t look missing to me.
participants (4)
-
Beman Dawes
-
Daniel James
-
Dave Abrahams
-
tim