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.
This commit is contained in:
David Reid 2011-02-07 15:32:12 -08:00 committed by Tuncer Ayaz
parent 63de05d914
commit 3241165ced

View file

@ -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),