1. 06 Feb, 2008 2 commits
  2. 05 Feb, 2008 4 commits
  3. 04 Feb, 2008 6 commits
  4. 03 Feb, 2008 11 commits
  5. 02 Feb, 2008 4 commits
    • Junio C Hamano's avatar
      Sane use of test_expect_failure · 41ac414e
      Junio C Hamano authored
      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: default avatarJunio C Hamano <[email protected]>
      41ac414e
    • Junio C Hamano's avatar
      Update stale documentation links from the main documentation. · 6ce8e44a
      Junio C Hamano authored
      This could have been part of the 1.5.4 commit, but it isn't.
      Signed-off-by: default avatarJunio C Hamano <[email protected]>
      6ce8e44a
    • Junio C Hamano's avatar
      GIT 1.5.4 · c3c13529
      Junio C Hamano authored
      Signed-off-by: default avatarJunio C Hamano <[email protected]>
      c3c13529
    • Junio C Hamano's avatar
      Fix "git checkout -b foo ':/substring'" · 7dc46429
      Junio C Hamano authored
      Because ':/substring' extended SHA1 expression cannot take
      postfix modifiers such as ^{tree} and ^{commit}, we would need
      to do it in multiple steps.  With the patch, you can start a new
      branch from a randomly-picked commit whose message has the named
      string in it.
      Signed-off-by: default avatarJunio C Hamano <[email protected]>
      7dc46429
  6. 31 Jan, 2008 7 commits
  7. 30 Jan, 2008 6 commits