1. 24 Feb, 2013 1 commit
  2. 12 Jan, 2012 1 commit
  3. 27 Sep, 2010 2 commits
    • Ævar Arnfjörð Bjarmason's avatar
      perl: use "use warnings" instead of -w · 3328aced
      Ævar Arnfjörð Bjarmason authored
      Change the Perl scripts to turn on lexical warnings instead of setting
      the global $^W variable via the -w switch.
      
      The -w sets warnings for all code that interpreter runs, while "use
      warnings" is lexically scoped. The former is probably not what the
      authors wanted.
      
      As an auxiliary benefit it's now possible to build Git with:
      
          PERL_PATH='/usr/bin/env perl'
      
      Which would previously result in failures, since "#!/usr/bin/env perl -w"
      doesn't work as a shebang.
      Signed-off-by: Ævar Arnfjörð Bjarmason's avatarÆvar Arnfjörð Bjarmason <avarab@gmail.com>
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      3328aced
    • Ævar Arnfjörð Bjarmason's avatar
      perl: bump the required Perl version to 5.8 from 5.6.[21] · d48b2841
      Ævar Arnfjörð Bjarmason authored
      Formalize our dependency on perl 5.8, bumped from 5.6.[12]. We already
      used the three-arg form of open() which was introduced in 5.6.1, but
      t/t9700/test.pl explicitly depended on 5.6.2.
      
      However git-add--interactive.pl has been failing on the 5.6 line since
      it was introduced in v1.5.0-rc0~12^2~2 back in 2006 due to this open
      syntax:
      
          sub run_cmd_pipe {
                 my $fh = undef;
                 open($fh, '-|', @_) or die;
                 return <$fh>;
          }
      
      Which when executed dies on "Can't use an undefined value as
      filehandle reference". Several of our tests also fail on 5.6 (even
      more when compiled with NO_PERL_MAKEMAKER=1):
      
          t2016-checkout-patch.sh
          t3904-stash-patch.sh
          t3701-add-interactive.sh
          t7105-reset-patch.sh
          t7501-commit.sh
          t9700-perl-git.sh
      
      Our code is bitrotting on 5.6 with no-one interested in fixing it, and
      pinning us to such an ancient release of Perl is keeping us from using
      useful features introduced in the 5.8 release.
      
      The 5.6 series is now over 10 years old, and the 5.6.2 maintenance
      release almost 7. 5.8 on the other hand is more than 8 years old.
      
      All the modern Unix-like operating systems have now upgraded to it or
      a later version, and 5.8 packages are available for old IRIX, AIX
      Solaris and Tru64 systems.
      Signed-off-by: Ævar Arnfjörð Bjarmason's avatarÆvar Arnfjörð Bjarmason <avarab@gmail.com>
      Acked-by: 's avatarTor Arntsen <tor@spacetec.no>
      Acked-by: 's avatarRandal L. Schwartz <merlyn@stonehenge.com>
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      d48b2841
  4. 06 Jul, 2009 2 commits
  5. 18 Jun, 2009 1 commit
  6. 29 May, 2009 1 commit
    • Nick Woolley's avatar
      git-cvsexportcommit can't commit files which have been removed from CVS · 54d5cc0e
      Nick Woolley authored
      If a file X is removed from CVS, it goes into the Attic directory, and CVS
      reports it as 'no file X' but with status 'Up-to-date'.  cvsexportcommit
      misinterprets this as an existing file and tries to commit a file with the
      same name.  Correctly identify these files, so that new files with the
      same name can be committed.
      
      Add a test to t9200-git-cvsexportcommit.sh, which tests that we can
      re-commit a removed filename which remains in CVS's attic. This adds a
      file 'attic_gremlin' in CVS, then "removes" it, then tries to commit a
      file with the same name from git.
      Signed-off-by: 's avatarNick Woolley <git.wu-lee@noodlefactory.co.uk>
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      54d5cc0e
  7. 13 Jul, 2008 1 commit
    • Stephan Beyer's avatar
      Make usage strings dash-less · 1b1dd23f
      Stephan Beyer authored
      When you misuse a git command, you are shown the usage string.
      But this is currently shown in the dashed form.  So if you just
      copy what you see, it will not work, when the dashed form
      is no longer supported.
      
      This patch makes git commands show the dash-less version.
      
      For shell scripts that do not specify OPTIONS_SPEC, git-sh-setup.sh
      generates a dash-less usage string now.
      Signed-off-by: 's avatarStephan Beyer <s-beyer@gmx.net>
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      1b1dd23f
  8. 21 May, 2008 1 commit
  9. 15 May, 2008 2 commits
    • Johannes Schindelin's avatar
      cvsexportcommit: introduce -W for shared working trees (between Git and CVS) · d775734c
      Johannes Schindelin authored
      If you have a CVS checkout, it is easy to import the CVS history by
      calling "git cvsimport".  However, interacting with the CVS repository
      using "git cvsexportcommit" was cumbersome, since that script assumes
      separate working directories for Git and CVS.
      
      Now, you can call cvsexportcommit with the -W option.  This will
      automatically discover the GIT_DIR, and it will check out the parent
      commit before exporting the commit.
      
      The intended workflow is this:
      
      $ CVSROOT=$URL cvs co module
      $ cd module
      $ git cvsimport
      hack, hack, hack, making two commits, cleaning them up using rebase -i.
      $ git cvsexportcommit -W -c -p -u HEAD^
      $ git cvsexportcommit -W -c -p -u HEAD
      Signed-off-by: Johannes Schindelin's avatarJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      d775734c
    • Johannes Schindelin's avatar
      cvsexportcommit: chomp only removes trailing whitespace · 57e0e3eb
      Johannes Schindelin authored
      In commit fef3a7cc(cvsexportcommit: be graceful when "cvs status"
      reorders the arguments), caution was taken to get the status even
      for files with leading or trailing whitespace.
      
      However, the author of that commit missed that chomp() removes only
      trailing newlines.  With help of the mailing list, the author realized
      his mistake and provided this patch.
      
      The idea is that we do not want to rely on a certain layout of the
      output of "cvs status".  Therefore we only call it with files that are
      unambiguous after stripping leading and trailing whitespace.
      Signed-off-by: Johannes Schindelin's avatarJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      57e0e3eb
  10. 27 Feb, 2008 1 commit
  11. 20 Feb, 2008 1 commit
    • Johannes Schindelin's avatar
      cvsexportcommit: be graceful when "cvs status" reorders the arguments · fef3a7cc
      Johannes Schindelin authored
      In my use cases, "cvs status" sometimes reordered the passed filenames,
      which often led to a misdetection of a dirty state (when it was in
      reality a clean state).
      
      I finally tracked it down to two filenames having the same basename.
      
      So no longer trust the order of the results blindly, but actually check
      the file name.
      
      Since "cvs status" only returns the basename (and the complete path on the
      server which is useless for our purposes), run "cvs status" several times
      with lists consisting of files with unique (chomped) basenames.
      
      Be a bit clever about new files: these are reported as "no file <blabla>",
      so in order to discern it from existing files, prepend "no file " to the
      basename.
      
      In other words, one call to "cvs status" will not ask for two files
      "blabla" (which does not yet exist) and "no file blabla" (which exists).
      
      This patch makes cvsexportcommit slightly slower, when the list of changed
      files has non-unique basenames, but at least it is accurate now.
      Signed-off-by: Johannes Schindelin's avatarJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      fef3a7cc
  12. 13 Feb, 2008 1 commit
  13. 14 Dec, 2007 1 commit
    • Jeff King's avatar
      cvsexportcommit: fix massive commits · 38a5b1d6
      Jeff King authored
      Because we feed the changed filenames to CVS on the command
      line, it was possible for massive commits to overflow the
      system exec limits. Instead, we now do an xargs-like split
      of the arguments.
      
      This means that we lose some of the atomicity of calling CVS
      in one shot. Since CVS commits are not atomic, but the CVS
      protocol is, the possible effects of this are not clear;
      however, since CVS doesn't provide a different interface,
      this is our only option for large commits (short of writing
      a CVS client library).
      
      The argument size limit is arbitrarily set to 64kB. This
      should be high enough to trigger only in rare cases where it
      is necessary, so normal-sized commits are not affected by
      the atomicity change.
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      38a5b1d6
  14. 02 Nov, 2007 1 commit
  15. 01 Nov, 2007 1 commit
  16. 19 Oct, 2007 1 commit
  17. 17 Oct, 2007 1 commit
  18. 16 Oct, 2007 1 commit
  19. 25 Jul, 2007 1 commit
  20. 07 Jun, 2007 1 commit
    • Junio C Hamano's avatar
      War on whitespace · a6080a0a
      Junio C Hamano authored
      This uses "git-apply --whitespace=strip" to fix whitespace errors that have
      crept in to our source files over time.  There are a few files that need
      to have trailing whitespaces (most notably, test vectors).  The results
      still passes the test, and build result in Documentation/ area is unchanged.
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      a6080a0a
  21. 25 May, 2007 1 commit
  22. 15 May, 2007 1 commit
  23. 10 Apr, 2007 1 commit
  24. 28 Feb, 2007 1 commit
  25. 21 Feb, 2007 1 commit
  26. 05 Feb, 2007 1 commit
  27. 11 Dec, 2006 1 commit
  28. 04 Dec, 2006 1 commit
  29. 13 Nov, 2006 1 commit
  30. 29 Sep, 2006 1 commit
  31. 24 Jul, 2006 1 commit
  32. 10 Jul, 2006 1 commit
  33. 09 Jul, 2006 1 commit
  34. 17 Jun, 2006 1 commit
  35. 28 May, 2006 3 commits