1. 29 12月, 2005 1 次提交
  2. 28 12月, 2005 4 次提交
  3. 27 12月, 2005 4 次提交
  4. 24 12月, 2005 5 次提交
  5. 23 12月, 2005 4 次提交
  6. 22 12月, 2005 8 次提交
  7. 21 12月, 2005 5 次提交
  8. 20 12月, 2005 9 次提交
    • J
      Racy GIT · 29e4d363
      Junio C Hamano 提交于
      This fixes the longstanding "Racy GIT" problem, which was pretty
      much there from the beginning of time, but was first
      demonstrated by Pasky in this message on October 24, 2005:
      
          http://marc.theaimsgroup.com/?l=git&m=113014629716878
      
      If you run the following sequence of commands:
      
      	echo frotz >infocom
              git update-index --add infocom
              echo xyzzy >infocom
      
      so that the second update to file "infocom" does not change
      st_mtime, what is recorded as the stat information for the cache
      entry "infocom" exactly matches what is on the filesystem
      (owner, group, inum, mtime, ctime, mode, length).  After this
      sequence, we incorrectly think "infocom" file still has string
      "frotz" in it, and get really confused.  E.g. git-diff-files
      would say there is no change, git-update-index --refresh would
      not even look at the filesystem to correct the situation.
      
      Some ways of working around this issue were already suggested by
      Linus in the same thread on the same day, including waiting
      until the next second before returning from update-index if a
      cache entry written out has the current timestamp, but that
      means we can make at most one commit per second, and given that
      the e-mail patch workflow used by Linus needs to process at
      least 5 commits per second, it is not an acceptable solution.
      Linus notes that git-apply is primarily used to update the index
      while processing e-mailed patches, which is true, and
      git-apply's up-to-date check is fooled by the same problem but
      luckily in the other direction, so it is not really a big issue,
      but still it is disturbing.
      
      The function ce_match_stat() is called to bypass the comparison
      against filesystem data when the stat data recorded in the cache
      entry matches what stat() returns from the filesystem.  This
      patch tackles the problem by changing it to actually go to the
      filesystem data for cache entries that have the same mtime as
      the index file itself.  This works as long as the index file and
      working tree files are on the filesystems that share the same
      monotonic clock.  Files on network mounted filesystems sometimes
      get skewed timestamps compared to "date" output, but as long as
      working tree files' timestamps are skewed the same way as the
      index file's, this approach still works.  The only problematic
      files are the ones that have the same timestamp as the index
      file's, because two file updates that sandwitch the index file
      update must happen within the same second to trigger the
      problem.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      29e4d363
    • J
      format-patch: make sure header and body are separated. · a5c21d6e
      Junio C Hamano 提交于
      Since log message in a commit object is defined to be binary
      blob, it could be something without an empty line between the
      title line and the body text.  Be careful to format such into
      a form suitable for e-mail submission.  There must be an empty
      line between the headers and the body.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      a5c21d6e
    • J
      diff --abbrev: document --abbrev=<n> form. · 913419fc
      Junio C Hamano 提交于
      It was implemented there but was not advertised.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      913419fc
    • J
      diff: --abbrev option · 47dd0d59
      Junio C Hamano 提交于
      When I show transcripts to explain how something works, I often
      find myself hand-editing the diff-raw output to shorten various
      object names in the output.
      
      This adds --abbrev option to the diff family, which shortens
      diff-raw output and diff-tree commit id headers.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      47dd0d59
    • J
      xread/xwrite: do not worry about EINTR at calling sites. · 1c15afb9
      Junio C Hamano 提交于
      We had errno==EINTR check after read(2)/write(2) sprinkled all
      over the places, always doing continue.  Consolidate them into
      xread()/xwrite() wrapper routines.
      
      Credits for suggestion goes to HPA -- bugs are mine.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      1c15afb9
    • J
      tests: make scripts executable · 1fdfd05d
      Junio C Hamano 提交于
      just for consistency.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      1fdfd05d
    • J
      Remove "octopus". · e32faa8a
      Junio C Hamano 提交于
      We still advertise "git resolve" as a standalone command, but never
      "git octopus", so nobody should be using it and it is safe to
      retire it.  The functionality is still available as a strategy
      backend.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      e32faa8a
    • J
      Remove unused cmd-rename.sh · ba922cce
      Junio C Hamano 提交于
      This file is a remnant from the big command rename which happened
      quite some time ago.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      ba922cce
    • J
      Remove generated files */*.py[co] · d89056c2
      Junio C Hamano 提交于
      We missed ones in the compat/ subdirectory.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      d89056c2