diff options
author | Fred Hebert <mononcqc@ferd.ca> | 2016-05-18 07:53:25 -0400 |
---|---|---|
committer | Fred Hebert <mononcqc@ferd.ca> | 2016-05-18 07:53:25 -0400 |
commit | 3dc62dba5d1dd4980d508931fb45ce20e39ed250 (patch) | |
tree | 25e35c89ef6b56d5e64193625dd0cf75b27bb8f3 | |
parent | 5586b1b3121ffd18a9422330e44f076fae1921af (diff) | |
parent | 8db9bc4e1d833603b3598515c18627f92d5b6e94 (diff) |
Merge pull request #1198 from postHawk/fix-1185
#1185 fix windows git working directory
-rw-r--r-- | src/rebar_git_resource.erl | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/rebar_git_resource.erl b/src/rebar_git_resource.erl index 5a6a5ef..ff43f76 100644 --- a/src/rebar_git_resource.erl +++ b/src/rebar_git_resource.erl @@ -18,9 +18,16 @@ lock(AppDir, {git, Url, _}) -> lock(AppDir, {git, Url}); lock(AppDir, {git, Url}) -> AbortMsg = io_lib:format("Locking of git dependency failed in ~s", [AppDir]), + Dir = rebar_utils:escape_double_quotes(AppDir), {ok, VsnString} = - rebar_utils:sh("git --git-dir=\"" ++ rebar_utils:escape_double_quotes(AppDir) ++ "/.git\" rev-parse --verify HEAD", - [{use_stdout, false}, {debug_abort_on_error, AbortMsg}]), + case os:type() of + {win32, _} -> + rebar_utils:sh("git rev-parse --git-dir=\"" ++ Dir ++ "/.git\" --work-tree=\"" ++ Dir ++ "\" --verify HEAD", + [{use_stdout, false}, {debug_abort_on_error, AbortMsg}]); + _ -> + rebar_utils:sh("git --git-dir=\"" ++ Dir ++ "/.git\" rev-parse --verify HEAD", + [{use_stdout, false}, {debug_abort_on_error, AbortMsg}]) + end, Ref = string:strip(VsnString, both, $\n), {git, Url, {ref, Ref}}. |