summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Reid <dreid@mochimedia.com>2011-02-07 15:32:12 -0800
committerTuncer Ayaz <tuncer.ayaz@gmail.com>2011-02-13 16:05:42 +0100
commit3241165ced709246935701f0b638d759e54316a2 (patch)
tree6e49aacbae5a579fe3079e78f579685b37f46f8a
parent63de05d914f3c2bef6dcfc6cf966400d93c9c80d (diff)
Support 2 forms of implicit HEAD for git
In git origin/HEAD is a pointer to the default branch. This patch allows two alternatives to explicitly specifying "HEAD" in git VC specs. The first is a 2 arity form {git, Url} and the second is {git, Url, ""} which worked in pre-update-deps rebars.
-rw-r--r--src/rebar_deps.erl8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/rebar_deps.erl b/src/rebar_deps.erl
index 99ede3d..69f5fc1 100644
--- a/src/rebar_deps.erl
+++ b/src/rebar_deps.erl
@@ -303,6 +303,10 @@ download_source(AppDir, {hg, Url, Rev}) ->
rebar_utils:sh(?FMT("hg clone -U ~s ~s", [Url, filename:basename(AppDir)]),
[{cd, filename:dirname(AppDir)}]),
rebar_utils:sh(?FMT("hg update ~s", [Rev]), [{cd, AppDir}]);
+download_source(AppDir, {git, Url}) ->
+ download_source(AppDir, {git, Url, "HEAD"});
+download_source(AppDir, {git, Url, ""}) ->
+ download_source(AppDir, {git, Url, "HEAD"});
download_source(AppDir, {git, Url, {branch, Branch}}) ->
ok = filelib:ensure_dir(AppDir),
rebar_utils:sh(?FMT("git clone -n ~s ~s", [Url, filename:basename(AppDir)]),
@@ -344,6 +348,10 @@ update_source(Dep) ->
Dep
end.
+update_source(AppDir, {git, Url}) ->
+ update_source(AppDir, {git, Url, "HEAD"});
+update_source(AppDir, {git, Url, ""}) ->
+ update_source(AppDir, {git, Url, "HEAD"});
update_source(AppDir, {git, _Url, {branch, Branch}}) ->
ShOpts = [{cd, AppDir}],
rebar_utils:sh("git fetch origin", ShOpts),