Le 27/09/2013 15:36, Jeff Squyres (jsquyres) a écrit :
> I'd say that git and the new Trac are now fully open for business.  I might 
> still do some shifting around of tags (see below), but otherwise, I think 
> everything is just about ready.
>
> I'm revamping make_dist_script and the nightly build script; I should finally 
> be able to commit those today, if all goes well.  However, I had to make some 
> changes to VERSION and some other surrounding infrastructure to make it all 
> work.  Specifically: git just does some things *differently* than SVN, so it 
> required some changes in the way that hwloc does things, infrastructure-wise. 
>  
>
> Two things:
>
> 1. I'm not excited about back-porting these changes all the way back to 
> hwloc-1.0 just so that we can make nightly tarballs for these branches which 
> aren't used any more.  I'm thinking that I should definitely make these 
> changes for master and the v1.7 branch.  Should I also do the v1.6 branch?

I don't think so. I am planning to only update the regression testing
for v1.7 as well.

BUT what if the stable OMPI 1.6 needs a hwloc fix? Should we keep the
hwloc v1.5 branch open?

> 2. With SVN, adding the r number in the tarball version was sufficient to 
> observe ordering of the tarballs.  For example:
>
>    hwloc-1.8r1234.tar.bz2
>    hwloc-1.8r1240.tar.bz2
>    hwloc-1.8r1255.tar.bz2
>    ...etc.
>
> With git, we only have a hash number.  So there's no obvious ordering of the 
> tarballs.  For example:
>
>    hwloc-1.8git11223344.tar.bz2
>    hwloc-1.8git00aa3344.tar.bz2
>    hwloc-1.8git99aa2277.tar.bz2
>    ...etc.
>
> However, there is "git describe" functionality which, in our case, can show 
> you how many commits you are beyond a given tag.  For example, I added a 
> "dev" tag on the master branch for the first pure-git commit (i.e., 1 beyond 
> the last SVN commit).  For example:
>
>     $ git clone g...@github.com:open-mpi/hwloc.git
>     ...clone completes successfully...
>     $ cd hwloc
>     $ git checkout master
>     $ git describe --always
>     dev-3-g51efdd1
>
> Where the "3" represents that we're 3 commits beyond the "dev" tag.  The "g" 
> just means "git", and the "51efdd1" is the hash of that commit.
>
> Hence, if we use that as our version string, we get tarballs named something 
> like this:
>
>     hwloc-dev-3-g51efdd1.tar.bz2
>     hwloc-dev-10-gf50a385.tar.bz2
>     ...etc.
>
> For the master branch, I think that's fine.  However, note that ***THIS IS 
> DIFFERENT THAN WHAT WE HAVE PREVIOUSLY DONE ON RELEASE BRANCHES!***
>
> For example, if you checkout the v1.7 branch:
>
>     $ git checkout v1.7
>     $ git describe --always
>     hwloc-1.7.2-4-g3a6f84c
>
> *** NOTE THE DIFFERENCE HERE:
>
> a) The last SVN nightly snapshot on the v1.7 branch was named 
>    hwloc-1.7.3rc1r5779.tar.bz2.
> b) The first git nightly snapshot on the v1.7 branch will be named 
>    hwloc-1.7.2-4-g3a6f84c.tar.bz2.
>
> Note "1.7.3rc1..." vs. "1.7.2...".  I.e., the git name will say "we're X 
> commits beyond the 1.7.2 tag", but the old SVN name was "we're at this 
> *upcoming* version".
>
> I think that this is ok (other projects use this "git describe" kind of 
> behavior for their nightly snapshots), but this is a change from what we used 
> to do, so I wanted to call it out specifically.
>
> Are you guys ok with this?
>

That'll work for me.

What about when we are actually doing a release where we don't want a
git-describe suffix ? Does the above apply to contrib/make_dist_tarball
in general? Or only to when it runs at night (in make dist only?) ?

Brice

Reply via email to