newvers.sh: accommodate git worktree

newvers.sh looks for a .vcs subdirectory (e.g. .git, .svn) to determine
which vcs info tool to run (e.g., git rev-parse, svn info).

(As of r308789 if a .vcs subdirectory is not found at ${TOPDIR} then
newvers.sh walks up successive parent directories, testing for the .vcs
subdirectory at each step.  This is done in case the FreeBSD source is
built in a subdirectory as part of some larger project, but either way
newvers.sh still tests for the .vcs subdirectory.)

However, when using git worktree there is no .git subdirectory but
rather a plain text .git file which contains a reference to the main
working tree.

Change findvcs() to test that the .vcs entry exists, regardless of type.

MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Ed Maste 2017-08-22 17:57:34 +00:00
parent 012faa32f9
commit 495947bcfa

View File

@ -62,7 +62,7 @@ findvcs()
savedir=$(pwd)
cd ${SYSDIR}/..
while [ $(pwd) != "/" ]; do
if [ -d "./$1" ]; then
if [ -e "./$1" ]; then
VCSDIR=$(pwd)"/$1"
cd ${savedir}
return 0