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 // If there are no SSH keys, the commit-msg hook must be installed via
// HTTP(S) // HTTP(S)
if (hostKeys.isEmpty()) { if (hostKeys.isEmpty()) {
String p = ".git/hooks/commit-msg"; String p = "$gitdir/hooks/commit-msg";
return String.format( 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); getGerritUrl(canonicalWebUrl), p);
} }
@@ -530,7 +530,7 @@ public class CommitValidators {
sshPort = 22; 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); sshPort, currentUser.getUserName(), sshHost);
} }