Merge branch 'ak/cvsserver-stabilize-use-of-hash-keys'
authorJunio C Hamano <gitster@pobox.com>
Mon, 4 Nov 2013 22:58:05 +0000 (14:58 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 4 Nov 2013 22:58:05 +0000 (14:58 -0800)
* ak/cvsserver-stabilize-use-of-hash-keys:
cvsserver: Determinize output to combat Perl 5.18 hash randomization

1  2 
git-cvsserver.perl
diff --combined git-cvsserver.perl
index 74d1cc7db040c4d4fa736567be9340e4b4070863,349338d9665d7e3ddad4348a27d87793f7487f14..95e69b19a70ba63f2055d6a2ec3f9af0092a0832
@@@ -107,7 -107,7 +107,7 @@@ my $work 
  $log->info("--------------- STARTING -----------------");
  
  my $usage =
 -    "Usage: git cvsserver [options] [pserver|server] [<directory> ...]\n".
 +    "usage: git cvsserver [options] [pserver|server] [<directory> ...]\n".
      "    --base-path <path>  : Prepend to requested CVSROOT\n".
      "                          Can be read from GIT_CVSSERVER_BASE_PATH\n".
      "    --strict-paths      : Don't allow recursing into subdirectories\n".
@@@ -430,10 -430,10 +430,10 @@@ sub req_validrequest
  
      $log->debug("req_validrequests");
  
-     $log->debug("SEND : Valid-requests " . join(" ",keys %$methods));
+     $log->debug("SEND : Valid-requests " . join(" ",sort keys %$methods));
      $log->debug("SEND : ok");
  
-     print "Valid-requests " . join(" ",keys %$methods) . "\n";
+     print "Valid-requests " . join(" ",sort keys %$methods) . "\n";
      print "ok\n";
  }
  
@@@ -2124,7 -2124,7 +2124,7 @@@ sub req_dif
              print "M retrieving revision $meta2->{revision}\n"
          }
          print "M diff ";
-         foreach my $opt ( keys %{$state->{opt}} )
+         foreach my $opt ( sort keys %{$state->{opt}} )
          {
              if ( ref $state->{opt}{$opt} eq "ARRAY" )
              {
@@@ -2911,7 -2911,7 +2911,7 @@@ sub filenamespli
  }
  
  # Cleanup various junk in filename (try to canonicalize it), and
 -# add prependdir to accomodate running CVS client from a
 +# add prependdir to accommodate running CVS client from a
  # subdirectory (so the output is relative to top directory of the project).
  sub filecleanup
  {
@@@ -4050,7 -4050,7 +4050,7 @@@ sub updat
              close FILELIST;
  
              # Detect deleted files
-             foreach my $file ( keys %$head )
+             foreach my $file ( sort keys %$head )
              {
                  unless ( exists $seen_files->{$file} or $head->{$file}{filehash} eq "deleted" )
                  {
      }
  
      $self->delete_head();
-     foreach my $file ( keys %$head )
+     foreach my $file ( sort keys %$head )
      {
          $self->insert_head(
              $file,
@@@ -4338,7 -4338,7 +4338,7 @@@ sub getAnyHea
  =head2 getRevisionDirMap
  
  A "revision dir map" contains all the plain-file filenames associated
 -with a particular revision (treeish), organized by directory:
 +with a particular revision (tree-ish), organized by directory:
  
    $type = $out->{$dir}{$fullName}
  
@@@ -4583,7 -4583,7 +4583,7 @@@ sub getmet
      #     the numerical value of the corresponding byte plus
      #     100.
      #      - "plus 100" avoids "0"s, and also reduces the
 -    #        likelyhood of a collision in the case that someone someday
 +    #        likelihood of a collision in the case that someone someday
      #        writes an import tool that tries to preserve original
      #        CVS revision numbers, and the original CVS data had done
      #        lots of branches off of branches and other strangeness to