pydata/pandas — pull request #6217 by y-p (2014-02-01 07:36:21+00:00)
Title: BLD: setup.py version strings. handle shallow clones and installing from sdist

Travis exposed a corner case in our handling of version strings since the `git-describe` shakeup.

Previously (~ 10.1, version strings were of the form:
```
v0.10.1 # release
v0.10.1.dev # dev, no git available
v0.10.1.dev-abcd1234 # dev, git available
```

Now that we use git-describe, here's the case breakdown:
- release
- dev, no git
- dev, no git and pandas/version.py exists (installing from sdist) # *
- dev, git available
- dev, git but shallow clone (no tags) (travis) # *

the * cases were hard to see coming (I didn't) and so the current logic does not handle
them gracefully, and weird version strings result.

Behavior summary following this PR:
```
v0.13.1 # release
v0.13.1.dev # dev, no git available, matches old behavior
v0.13.1.dev-abcd1234 # dev, git available but no tags (pip tarball), matches old behavior
foo # dev, no git available, pandas/version.py exists and contains foo
0.13.0-509-ga134eb6 # dev, git available, tags available (normal dev situation), normal new behavior.
```

Slightly dangerous to merge shortly before a release, but it would be worse
to keep this brokenness for months until 0.14.