This seems to have fallen on the floor...
Original send date: Thu, 1 Jun 2017 19:43:43 +1000

Avoid going splat if --depth is not given

Commit 6b4a9c5 indroduced the --depth parameter to limit the commit history
pulled by when cloning, giving a nice speedup. But in the process it broke
running without the --depth parameter. The first invocation of
'./build --main-git' works fine, but the second falls over like so:

  fatal: No such remote or remote group: media_tree/master
  Can't update from the upstream tree at ./build line 430.

The fix is to check whether that remote has been defined before trying
to update from it.

Signed-off-by: Vincent McIntyre <vincent.mcint...@gmail.com>
---
 build | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/build b/build
index a4cd38e..d7f51c2 100755
--- a/build
+++ b/build
@@ -427,8 +427,13 @@ if (@git == 2) {
                        }
                }
        } elsif ($workdir eq "") {
-               system("git --git-dir media/.git remote update 
'$rname/$git[1]'") == 0
-                       or die "Can't update from the upstream tree";
+               if (check_git("remote", "$rname/$git[1]")) {
+                       system("git --git-dir media/.git remote update 
'$rname/$git[1]'") == 0
+                               or die "Can't update from the upstream tree";
+               } else {
+                       system("git --git-dir media/.git remote update origin") 
== 0
+                               or die "Can't update from the upstream tree";
+               }
        }
 
        if ($workdir eq "") {

Reply via email to