1. 30 4月, 2008 1 次提交
  2. 02 2月, 2008 1 次提交
    • J
      Sane use of test_expect_failure · 41ac414e
      Junio C Hamano 提交于
      Originally, test_expect_failure was designed to be the opposite
      of test_expect_success, but this was a bad decision.  Most tests
      run a series of commands that leads to the single command that
      needs to be tested, like this:
      
          test_expect_{success,failure} 'test title' '
      	setup1 &&
              setup2 &&
              setup3 &&
              what is to be tested
          '
      
      And expecting a failure exit from the whole sequence misses the
      point of writing tests.  Your setup$N that are supposed to
      succeed may have failed without even reaching what you are
      trying to test.  The only valid use of test_expect_failure is to
      check a trivial single command that is expected to fail, which
      is a minority in tests of Porcelain-ish commands.
      
      This large-ish patch rewrites all uses of test_expect_failure to
      use test_expect_success and rewrites the condition of what is
      tested, like this:
      
          test_expect_success 'test title' '
      	setup1 &&
              setup2 &&
              setup3 &&
              ! this command should fail
          '
      
      test_expect_failure is redefined to serve as a reminder that
      that test *should* succeed but due to a known breakage in git it
      currently does not pass.  So if git-foo command should create a
      file 'bar' but you discovered a bug that it doesn't, you can
      write a test like this:
      
          test_expect_failure 'git-foo should create bar' '
              rm -f bar &&
              git foo &&
              test -f bar
          '
      
      This construct acts similar to test_expect_success, but instead
      of reporting "ok/FAIL" like test_expect_success does, the
      outcome is reported as "FIXED/still broken".
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      41ac414e
  3. 03 7月, 2007 1 次提交
  4. 08 9月, 2005 1 次提交
    • J
      Big tool rename. · 215a7ad1
      Junio C Hamano 提交于
      As promised, this is the "big tool rename" patch.  The primary differences
      since 0.99.6 are:
      
        (1) git-*-script are no more.  The commands installed do not
            have any such suffix so users do not have to remember if
            something is implemented as a shell script or not.
      
        (2) Many command names with 'cache' in them are renamed with
            'index' if that is what they mean.
      
      There are backward compatibility symblic links so that you and
      Porcelains can keep using the old names, but the backward
      compatibility support  is expected to be removed in the near
      future.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      215a7ad1
  5. 20 5月, 2005 3 次提交
    • L
      Fix up previous commit · de809dbb
      Linus Torvalds 提交于
      Add '-R' flag to diff-tree, and change the test subdirectory
      shell files to be executable (something that Junio couldn't
      get me to do through the pure patch with my current patch
      handling infrastructure).
      de809dbb
    • J
      [PATCH] diff overhaul · 57fe64a4
      Junio C Hamano 提交于
      This cleans up the way calls are made into the diff core from diff-tree
      family and diff-helper.  Earlier, these programs had "if
      (generating_patch)" sprinkled all over the place, but those ugliness are
      gone and handled uniformly from the diff core, even when not generating
      patch format.
      
      This also allowed diff-cache and diff-files to acquire -R
      (reverse) option to generate diff in reverse.  Users of
      diff-tree can swap two trees easily so I did not add -R there.
      
      [ Linus' note: I'll add -R to "diff-tree" too, since a "commit
        diff" doesn't have another tree to switch around: the other
        tree is always the parent(s) of the commit ]
      
      Also -M<digits-as-mantissa> suggestion made by Linus has been
      implemented.
      
      Documentation updates are also included.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      57fe64a4
    • J
      [PATCH] Implement git-checkout-cache -u to update stat information in the cache. · 415e96c8
      Junio C Hamano 提交于
      With -u flag, git-checkout-cache picks up the stat information
      from newly created file and updates the cache.  This removes the
      need to run git-update-cache --refresh immediately after running
      git-checkout-cache.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      415e96c8