Use rev-parse to find gitdir when generating commit-msg hook hint

This updates the Change-Id validator hint to advise the user to use
"git rev-parse --git-dir" to find the proper gitdir, in case the
user is using submodules.  Also, the gitdir is stored into a temp
variable, because msysgit has an unusual behavior related to the
path returned by rev-parse otherwise.

Change-Id: Ie4fcd0a73bd1cee12a052f38541f83aa8821c886
This commit is contained in:
Doug Kelly
2013-11-21 17:10:19 -06:00
committed by David Pursehouse
parent d0b6de2d6a
commit dd57e969b7

View File

@@ -507,9 +507,9 @@ public class CommitValidators {
// If there are no SSH keys, the commit-msg hook must be installed via
// HTTP(S)
if (hostKeys.isEmpty()) {
String p = ".git/hooks/commit-msg";
String p = "$gitdir/hooks/commit-msg";
return String.format(
" curl -o %s %s/tools/hooks/commit-msg ; chmod +x %s", p,
" gitdir=$(git rev-parse --git-dir) curl -o %s %s/tools/hooks/commit-msg ; chmod +x %s", p,
getGerritUrl(canonicalWebUrl), p);
}
@@ -530,7 +530,7 @@ public class CommitValidators {
sshPort = 22;
}
return String.format(" scp -p -P %d %s@%s:hooks/commit-msg .git/hooks/",
return String.format(" gitdir=$(git rev-parse --git-dir) scp -p -P %d %s@%s:hooks/commit-msg $gitdir/hooks/",
sshPort, currentUser.getUserName(), sshHost);
}