Felipe Contreras wrote: > Todd Zullinger wrote: >> Felipe Contreras wrote: >>> If we are not in a git repository `git describe` will fail anyway. >> >> The parent directory may be a git repository though. The >> current code ensures that we're running `git describe` in >> the proper repository. > > How exactly does it do that? > > The current code expects the cwd to be the git repo, run it in any other > directory and it will generate GIT-VERSION-FILE in that directory, which is > clearly not intended. Whether it's fool proof isn't really my point. It did attempt to check that .git was a file or directory. Not checking at all isn't necessarily an improvement, was my concern. >> If we drop this, aren't we breaking things for someone >> building a git tarball which is in a subdirectory of a git >> repository? > > How exactly would this hypothetical person build such a tarball? > > git init /tmp/foo > mkdir -p /tmp/foo/bar > cd /tmp/foo/bar > make -C ~/dev/git dist If I have a git repo, say ~/fedora/git which contains the fedora packaging (spec file, etc.) and extract a git archive in this directory, the describe will now pick up the data from the parent git directory, won't it? $ git -C ~/fedora clone https://src.fedoraproject.org/rpms/git.git $ cd ~/fedora/git $ git -C ~/upstream/git archive --format=tar --prefix=git/ HEAD | tar xf - $ cd git $ make GIT-VERSION-GEN $ cat GIT-VERSION-FILE GIT_VERSION = The version file in the tarballs prevents this from happening in the most common case, but it still feels like this is loosening things a little more than it should. -- Todd