1. 31 5月, 2005 12 次提交
    • J
      [PATCH] Add -O<orderfile> option to diff-* brothers. · af5323e0
      Junio C Hamano 提交于
      A new diffcore filter diffcore-order is introduced.  This takes
      a text file each of whose line is a shell glob pattern.  Patches
      that match a glob pattern on an earlier line in the file are
      output before patches that match a later line, and patches that
      do not match any glob pattern are output last.
      
      A typical orderfile for git project probably should look like
      this:
      
          README
          Makefile
          Documentation
          *.h
          *.c
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      af5323e0
    • J
      [PATCH] Buglets fix in the new two scripts · 2036d841
      Junio C Hamano 提交于
      Should be obvious...
      
       - Use $VISUAL, $EDITOR, in this order if set, and fall back on
         vi.
      
       - Status R, C, D, N usually are followed by number, so adjust
         case arms to that pattern.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      2036d841
    • L
      git-resolve-script: use "git-apply --stat" instead of diffstat · 866b973b
      Linus Torvalds 提交于
      Not everybody necessarily even has diffstat installed.
      866b973b
    • N
      [PATCH] mkdelta enhancements (take 2) · 53d4b460
      Nicolas Pitre 提交于
      Although it was described as such, git-mkdelta didn't really attempt to
      find the best delta against any previous object in the list, but was
      only able to create a delta against the preceeding object.  This patch
      reworks the code to fix that limitation and hopefully makes it a bit
      clearer than before, including fixing the delta loop detection which was
      broken.
      
      This means that
      
      	git-mkdelta sha1 sha2 sha3 sha4 sha5 sha6
      
      will now create a sha2 delta against sha1, a sha3 delta against either
      sha2 or sha1 and keep the best one, a sha4 delta against either sha3,
      sha2 or sha1, etc.  The --max-behind argument limits that search for the
      best delta to the specified number of previous objects in the list.  If
      no limit is specified it is unlimited (note: it might run out of
      memory with long object lists).
      
      Also added a -q (quiet) switch so it is possible to have 3 levels of
      output: -q for nothing, -v for verbose, and if none of -q nor -v is
      specified then only actual changes on the object database are shown.
      
      Finally the git-deltafy-script has been updated accordingly, and some
      bugs fixed (thanks to Stephen C. Tweedie for spotting them).
      
      This version has been toroughly tested and I think it is ready
      for public consumption.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      53d4b460
    • L
      Add "commit" helper script · a3e870f2
      Linus Torvalds 提交于
      This is meant to make raw git not hugely less usable than something
      like raw CVS. I want to make a 1.0 release of the plumbing, and the
      actual commit part was just too intimidating.
      a3e870f2
    • J
      [PATCH] Add -B flag to diff-* brothers. · f345b0a0
      Junio C Hamano 提交于
      A new diffcore transformation, diffcore-break.c, is introduced.
      
      When the -B flag is given, a patch that represents a complete
      rewrite is broken into a deletion followed by a creation.  This
      makes it easier to review such a complete rewrite patch.
      
      The -B flag takes the same syntax as the -M and -C flags to
      specify the minimum amount of non-source material the resulting
      file needs to have to be considered a complete rewrite, and
      defaults to 99% if not specified.
      
      As the new test t4008-diff-break-rewrite.sh demonstrates, if a
      file is a complete rewrite, it is broken into a delete/create
      pair, which can further be subjected to the usual rename
      detection if -M or -C is used.  For example, if file0 gets
      completely rewritten to make it as if it were rather based on
      file1 which itself disappeared, the following happens:
      
          The original change looks like this:
      
      	file0     --> file0' (quite different from file0)
      	file1     --> /dev/null
      
          After diffcore-break runs, it would become this:
      
      	file0     --> /dev/null
      	/dev/null --> file0'
      	file1     --> /dev/null
      
          Then diffcore-rename matches them up:
      
      	file1     --> file0'
      
      The internal score values are finer grained now.  Earlier
      maximum of 10000 has been raised to 60000; there is no user
      visible changes but there is no reason to waste available bits.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f345b0a0
    • J
      [PATCH] diff: fix the culling of unneeded delete record. · 2cd68882
      Junio C Hamano 提交于
      The commit 15d061b4
      
          [PATCH] Fix the way diffcore-rename records unremoved source.
      
      still leaves unneeded delete records in its output stream by
      mistake, which was covered up by having an extra check to turn
      such a delete into a no-op downstream.  Fix the check in the
      diffcore-rename to simplify the output routine.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      2cd68882
    • J
      [PATCH] diff: further cleanup. · 9d429ff6
      Junio C Hamano 提交于
      When preparing data to feed the external diff, we should give
      the mode we obtained from the caller, even when we are dealing
      with a file with 0{40} SHA1 (i.e. the caller said "look at the
      filesystem"), since the mode passed by the caller via
      diff_addremove() or diff_change() is always trustworthy.
      
      This is _not_ a bugfix --- the existing code stat() on the file
      ifself and does the same computation on st.st_mode to compute
      the mode the same way the caller did to give the original mode.
      We cannot remove the stat() call from here, but the extra
      computation to create the mode value is unnecessary.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9d429ff6
    • J
      [PATCH] diff: code clean-up and removal of rename hack. · 01c4e70f
      Junio C Hamano 提交于
      A new macro, DIFF_PAIR_RENAME(), is introduced to distinguish a
      filepair that is a rename/copy (the definition of which is src
      and dst are different paths, of course).  This removes the hack
      used in the record_rename_pair() to always put a non-zero value
      in the score field.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      01c4e70f
    • J
      [PATCH] diff: consolidate various calls into diffcore. · befe8639
      Junio C Hamano 提交于
      The three diff-* brothers had a sequence of calls into diffcore
      that were almost identical.  Introduce a new diffcore_std()
      function that takes all the necessary arguments to consolidate
      it.  This will make later enhancements and changing the order of
      diffcore application simpler.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      befe8639
    • J
      [PATCH] diff-helper: Fix R/C score parsing under -z flag. · ddafa7e9
      Junio C Hamano 提交于
      The score number that follow R/C status were parsed but the
      parse pointer was not updated, causing the entire line to become
      unrecognized.  This patch fixes this problem.
      
      There was a test missing to catch this breakage, which this
      commit adds as t4009-diff-rename-4.sh.  The diff-raw tests used
      in related t4005-diff-rename-2.sh (the same test without -z) and
      t4007-rename-3.sh were stricter than necessarily, despite that
      the comment for the tests said otherwise.  This patch also
      corrects them.
      
      The documentation is updated to say that the status can
      optionally be followed by a number called "score"; it does not
      have to stay similarity index forever and there is no reason to
      limit it only to C and R.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ddafa7e9
    • L
      git-init-db: set up the full default environment · cad88fdf
      Linus Torvalds 提交于
      Create .git/refs/{heads,tags} and make .git/HEAD be a symlink to
      (the as yet non-existent) .git/refs/heads/master.
      cad88fdf
  2. 30 5月, 2005 19 次提交
  3. 28 5月, 2005 2 次提交
    • D
      [PATCH] check_file_directory_conflict path fix · 8310c2c0
      David Meybohm 提交于
      check_file_directory_conflict can give the wrong answers. This is
      because the wrong length is passed to cache_name_pos. The length
      passed should be the length of the whole path from the root, not
      the length of each path subcomponent.
      
      	$ git-init-db
      	defaulting to local storage area
      	$ mkdir path && touch path/file
      	$ git-update-cache --add path/file
      	$ rm path/file
      	$ mkdir path/file && touch path/file/f
      	$ git-update-cache --add path/file/f  <-- Conflict ignored
      	$
      Signed-off-by: NDavid Meybohm <dmeybohmlkml@bellsouth.net>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      8310c2c0
    • L
      git-diff-tree: simplify header output with '-z' · 84c1afd7
      Linus Torvalds 提交于
      No need to make them multiple lines, in fact we explicitly don't want that.
      
      This also fixes a 64-bit problem pointed out by Markus F.X.J. Oberhumer,
      where we gave "%.*s" a "ptrdiff_t" length argument instead of an "int".
      84c1afd7
  4. 27 5月, 2005 7 次提交