Properly handle a new patch-branch that is only available locally.
authorWayne Davison <wayned@samba.org>
Sun, 23 Mar 2008 14:33:24 +0000 (07:33 -0700)
committerWayne Davison <wayned@samba.org>
Sun, 23 Mar 2008 16:53:15 +0000 (09:53 -0700)
support/patch-update

index e2fe8c9..f6eb47f 100755 (executable)
@@ -55,19 +55,21 @@ if ($incl_generated_files) {
 }
 my $last_touch = time;
 
 }
 my $last_touch = time;
 
-my(@patches, %local_patch);
+my(%patches, %local_patch);
 
 # Start by finding all patches so that we can load all possible parents.
 open(PIPE, '-|', 'git', 'branch', '-a') or die $!;
 while (<PIPE>) {
     if (m# origin/patch/(.*)#) {
 
 # Start by finding all patches so that we can load all possible parents.
 open(PIPE, '-|', 'git', 'branch', '-a') or die $!;
 while (<PIPE>) {
     if (m# origin/patch/(.*)#) {
-       push(@patches, $1);
+       $patches{$1} = 1;
     } elsif (m# patch/(.*)#) {
     } elsif (m# patch/(.*)#) {
-       $local_patch{$1} = 1;
+       $patches{$1} = $local_patch{$1} = 1;
     }
 }
 close PIPE;
 
     }
 }
 close PIPE;
 
+my @patches = sort keys %patches;
+
 my(%parent, %description);
 foreach my $patch (@patches) {
     my $branch = ($local_patch{$patch} ? '' : 'origin/') . "patch/$patch";
 my(%parent, %description);
 foreach my $patch (@patches) {
     my $branch = ($local_patch{$patch} ? '' : 'origin/') . "patch/$patch";