From 214d6c979756a0acfcfa52d88d07ba882cde56d7 Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Sun, 3 May 2015 11:34:21 -0500 Subject: on upgrade of git branch check against remote --- src/rebar_git_resource.erl | 11 +++++++---- src/rebar_prv_upgrade.erl | 1 - 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/rebar_git_resource.erl b/src/rebar_git_resource.erl index 3b77da2..4e7485c 100644 --- a/src/rebar_git_resource.erl +++ b/src/rebar_git_resource.erl @@ -31,11 +31,14 @@ needs_update(Dir, {git, Url, {tag, Tag}}) -> ?DEBUG("Comparing git tag ~s with ~s", [Tag, Current1]), not ((Current1 =:= Tag) andalso compare_url(Dir, Url)); needs_update(Dir, {git, Url, {branch, Branch}}) -> - {ok, Current} = rebar_utils:sh(?FMT("git symbolic-ref -q --short HEAD", []), + %% Fetch remote so we can check if the branch has changed + {ok, _} = rebar_utils:sh(?FMT("git fetch", []), + [{cd, Dir}]), + %% Check for new commits to origin/Branch + {ok, Current} = rebar_utils:sh(?FMT("git log HEAD..origin/~s --oneline", [Branch]), [{cd, Dir}]), - Current1 = string:strip(string:strip(Current, both, $\n), both, $\r), - ?DEBUG("Comparing git branch ~s with ~s", [Branch, Current1]), - not ((Current1 =:= Branch) andalso compare_url(Dir, Url)); + ?DEBUG("Checking git branch ~s for updates", [Branch]), + not ((Current =:= []) andalso compare_url(Dir, Url)); needs_update(Dir, {git, Url, "master"}) -> needs_update(Dir, {git, Url, {branch, "master"}}); needs_update(Dir, {git, Url, Ref}) -> diff --git a/src/rebar_prv_upgrade.erl b/src/rebar_prv_upgrade.erl index d7d2921..05845e4 100644 --- a/src/rebar_prv_upgrade.erl +++ b/src/rebar_prv_upgrade.erl @@ -140,4 +140,3 @@ info_useless(Old, New) -> || Name <- Old, not lists:member(Name, New)], ok. - -- cgit v1.1 From d4c7dea7351435eaafe56a23845d8772e4bac0ac Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Sun, 3 May 2015 11:51:52 -0500 Subject: only fetch branch needed, remove rebar_vsn_plugins from erlware_commons --- rebar.config | 2 +- rebar.lock | 6 +----- src/rebar_git_resource.erl | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/rebar.config b/rebar.config index 89acac7..abd34c5 100644 --- a/rebar.config +++ b/rebar.config @@ -46,4 +46,4 @@ ]}. %% Overrides -{overrides, [{override, erlware_commons, [{plugins, []}]}]}. +{overrides, [{override, erlware_commons, [{deps, []}, {plugins, []}]}]}. diff --git a/rebar.lock b/rebar.lock index 2198e33..79be02c 100644 --- a/rebar.lock +++ b/rebar.lock @@ -1,8 +1,4 @@ -[{<<"rebar_vsn_plugin">>, - {git,"https://github.com/erlware/rebar_vsn_plugin.git", - {ref,"fd40c960c7912193631d948fe962e1162a8d1334"}}, - 2}, - {<<"relx">>, +[{<<"relx">>, {git,"https://github.com/tsloughter/relx.git", {ref,"6e0d048d3840464539deddd9d5b53e9f421edee4"}}, 0}, diff --git a/src/rebar_git_resource.erl b/src/rebar_git_resource.erl index 4e7485c..07c9b4d 100644 --- a/src/rebar_git_resource.erl +++ b/src/rebar_git_resource.erl @@ -32,7 +32,7 @@ needs_update(Dir, {git, Url, {tag, Tag}}) -> not ((Current1 =:= Tag) andalso compare_url(Dir, Url)); needs_update(Dir, {git, Url, {branch, Branch}}) -> %% Fetch remote so we can check if the branch has changed - {ok, _} = rebar_utils:sh(?FMT("git fetch", []), + {ok, _} = rebar_utils:sh(?FMT("git fetch origin ~s", [Branch]), [{cd, Dir}]), %% Check for new commits to origin/Branch {ok, Current} = rebar_utils:sh(?FMT("git log HEAD..origin/~s --oneline", [Branch]), -- cgit v1.1