chiark / gitweb /
dgit: fetch: Introduce new dofetch()
[dgit.git] / dgit
diff --git a/dgit b/dgit
index 5802a2126e51b25ec45f726a9c4498d5fe3ffcc5..c7336ddd84b7ea28f5a379ffb328948910059528 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -3738,10 +3738,14 @@ END
     printdone "fetched into ".lrref();
 }
 
-sub pull () {
+sub dofetch () {
     my $multi_fetched = fork_for_multisuite(sub { });
     fetch_one() unless $multi_fetched; # parent
-    return if $multi_fetched eq '0'; # child
+    finish 0 if $multi_fetched eq '0'; # child
+}
+
+sub pull () {
+    dofetch();
     runcmd_ordryrun_local @git, qw(merge -m),"Merge from $csuite [dgit]",
         lrref();
     printdone "fetched to ".lrref()." and merged into HEAD";
@@ -4624,9 +4628,7 @@ sub fetchpullargs () {
 sub cmd_fetch {
     parseopts();
     fetchpullargs();
-    my $multi_fetched = fork_for_multisuite(sub { });
-    finish 0 if $multi_fetched;
-    fetch_one();
+    dofetch();
 }
 
 sub cmd_pull {