Skip to content

Commit

Permalink
text: more Git updates
Browse files Browse the repository at this point in the history
A few updates for Git that were missed, including the new version
numbering scheme for nightly snapshot tarballs.
  • Loading branch information
jsquyres committed Oct 2, 2014
1 parent bb65835 commit 7dfc0c6
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 31 deletions.
16 changes: 8 additions & 8 deletions HACKING
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
Copyright (c) 2004-2005 The University of Tennessee and The University
of Tennessee Research Foundation. All rights
reserved.
Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
University of Stuttgart. All rights reserved.
Copyright (c) 2004-2005 The Regents of the University of California.
All rights reserved.
Expand All @@ -21,18 +21,18 @@ Overview

This file is here for those who are building/exploring OMPI in its
source code form, most likely through a developer's tree (i.e., a
Subversion or Mercurial checkout).
Git clone).


Debugging vs. Optimized Builds
==============================

If you are building Open MPI from a Subversion checkout, the default
build includes a lot of debugging features. This happens
automatically when when configure detects the hidden ".git" Git meta
directory (that is present in all Git clones) in your source tree, and
therefore activates a number of developer-only debugging features in
the Open MPI code base.
If you are building Open MPI from a Git clone, the default build
includes a lot of debugging features. This happens automatically when
when configure detects the hidden ".git" Git meta directory (that is
present in all Git clones) in your source tree, and therefore
activates a number of developer-only debugging features in the Open
MPI code base.

By definition, debugging builds will perform [much] slower than
optimized builds of Open MPI. You should *NOT* conduct timing tests
Expand Down
6 changes: 3 additions & 3 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
University of Stuttgart. All rights reserved.
Copyright (c) 2004-2005 The Regents of the University of California.
All rights reserved.
Copyright (c) 2008-2010 Cisco Systems, Inc. All rights reserved.
Copyright (c) 2008-2014 Cisco Systems, Inc. All rights reserved.
$COPYRIGHT$

Additional copyrights may follow
Expand All @@ -30,8 +30,8 @@ Developer Builds
================

If you have checked out a DEVELOPER'S COPY of Open MPI (i.e., you
checked out from subversion), you should read the HACKING file before
attempting to build Open MPI. You must then run:
cloned from Git), you should read the HACKING file before attempting
to build Open MPI. You must then run:

shell$ ./autogen.pl

Expand Down
56 changes: 36 additions & 20 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -1424,8 +1424,9 @@ binary interface (ABI) compatibility implications.
Software Version Number
-----------------------

Open MPI's version numbers are the union of several different values:
major, minor, release, and an optional quantifier.
The version number of Open MPI distribution tarballs are the union of
several different values: major, minor, release, and an optional
quantifier.

* Major: The major number is the first integer in the version string
(e.g., v1.2.3). Changes in the major number typically indicate a
Expand Down Expand Up @@ -1471,24 +1472,39 @@ major, minor, release, and an optional quantifier.
o rcX: Indicates a release candidate. X is an integer
indicating the number of the release candidate (e.g., v1.2.3rc4
indicates the 4th release candidate of version 1.2.3).
o rV or hgV: Indicates the Subversion / Mercurial repository
number string that the release was made from (V is usually an
integer for Subversion releases and usually a string for
Mercurial releases). Although all official Open MPI releases are
tied to a single, specific Subversion or Mercurial repository
number (which can be obtained from the ompi_info command), only
some releases have the Subversion / Mercurial repository number
in the version number. Development snapshot tarballs, for
example, have the Subversion repository included in the version
to reflect that they are a development snapshot of an upcoming
release (e.g., v1.2.3r1234 indicates a development snapshot of
version 1.2.3 corresponding to Subversion repository number
1234).

Quantifiers may be mixed together -- for example v1.2.3rc7r2345
indicates a development snapshot of an upcoming 7th release
candidate for version 1.2.3 corresponding to Subversion repository
number 2345.
o Prior to October 2014, nightly snapshot tarballs would include a
repository version number as well, such as r1234, indicating
that that snapshot tarball was built at Subversion r1234).

Starting in October 2014, although the major, minor, and release
values (and optional quantifiers) are reported in Open MPI nightly
snapshot tarballs, the filenames of these snapshot tarballs follow a
slightly different convention.

Specifically, the snapshot tarball filename contains three distinct
values:

* Most recent Git tag name on the branch from which the tarball was
created.

* An integer indicating how many Git commits have occurred since
that Git tag.

* The Git hash of the tip of the branch.

For example, a snapshot tarball filename of
"openmpi-v1.8.2-57-gb9f1fd9.tar.bz2" indicates that this tarball was
created from the v1.8 branch, 57 Git commits after the "v1.8.2" tag,
specifically at Git hash gb9f1fd9.

Open MPI's Git master branch contains a single "dev" tag. For
example, "openmpi-dev-8-gf21c349.tar.bz2" represents a snapshot
tarball created from the master branch, 8 Git commits after the "dev"
tag, specifically at Git hash gf21c349.

The exact value of the "number of Git commits past a tag" integer is
fairly meaningless; its sole purpose is to provide an easy,
human-recognizable ordering for snapshot tarballs.

Shared Library Version Number
-----------------------------
Expand Down

0 comments on commit 7dfc0c6

Please sign in to comment.