[Python-Dev] Expose Subversion revision number to Python
Phillip J. Eby
pje at telecommunity.com
Fri Dec 16 16:59:23 CET 2005
At 07:42 AM 12/16/2005 -0800, Michael Chermside wrote:
>Phillip writes:
> > FYI, this is not the true revision number; it's only the revision number in
> > which the directory was last modified, not the latest revision number
> > within the tree.
>
>Barry responds:
> > I opted against that for several reasons. First, I wanted to keep the
> > patch as simple as possible. Second, I didn't want to depend on Python
> > already being built [...] Third, I
> > think most Python developers will just svn up at the top of the source
> > tree, then rebuild, rather than svn up some buried sub-tree, cd back to
> > the top and rebuild from there.
>
>I agree with Barry. If you have done your "svn up" from anywhere other
>than the root, then you are building Python with a mix of revisions. I
>think that sys.build_number should produce undefined behavior when
>executing in a Python built from mixed revisions -- anyone doing this
>gets what they deserve.
The "Revision" from "svn info" isn't reliable; it doesn't actually relate
to what version of code is in the subtree. It can change when nothing has
changed.
For example, in my setuptools checkout, I just did an "svn up", and the
"Revision" is now 41708. But *nothing* in the tree has changed since
41701; this is simply the current highest SVN revision, repository
wide. When people change things in branches, the sandbox, PEPs, etc. -
that number will change, even though nothing changed in the trunk.
I suggest that having an SVN revision number that changes when no code has
actually changed is confusing and unreliable. SVN does track the actual
*changed* revision, it just takes a little more work to get it.
More information about the Python-Dev
mailing list