1. 15 1月, 2007 11 次提交
    • S
      Always perfer annotated tags in git-describe. · dccd0c2a
      Shawn O. Pearce 提交于
      Several people have suggested that its always better to describe
      a commit using an annotated tag, and to only use a lightweight tag
      if absolutely no annotated tag matches the input commit.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      dccd0c2a
    • N
      some doc updates · c14261ea
      Nicolas Pitre 提交于
      1) talk about "git merge" instead of "git pull ."
      
      2) suggest "git repo-config" instead of directly editing config files
      
      3) echo "URL: blah" > .git/remotes/foo is obsolete and should be
         "git repo-config remote.foo.url blah"
      
      4) support for partial URL prefix has been removed (see commit
         ea560e6d) so drop mention of it.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      c14261ea
    • J
      git log documentation: teach -<n> form. · adb7ba6b
      Junio C Hamano 提交于
      We say "this shows only the most often used ones"; so instead of
      teaching --max-number=<n> form, list -<n> form which is much
      easier to type.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      adb7ba6b
    • S
      Convert output messages in merge-recursive to past tense. · 89f40be2
      Shawn O. Pearce 提交于
      Now that we are showing the output messages for verbosity levels
      <5 after all actions have been performed (due to the progress meter
      running during the actions) it can be confusing to see messages in
      the present tense when the user is looking at a '100% done' message
      right above them.  Converting the messages to past tense will appear
      more correct in this case, and shouldn't affect a developer who is
      debugging the application and running it at a verbosity level >=5.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      89f40be2
    • S
      Display a progress meter during merge-recursive. · 3f6ee2d1
      Shawn O. Pearce 提交于
      Because large merges on slow systems can take up to a minute to
      execute we should try to keep the user entertained with a progress
      meter to let them know how far we have progressed through the
      current merge.
      
      The progress meter considers each entry in the in-memory index to
      be a unit, which means a single recursive merge will double the
      number of units in the progress meter.  Files which are unmerged
      after the 3-way tree merge are also considered a unit within the
      progress meter.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      3f6ee2d1
    • S
      Enable output buffering in merge-recursive. · 66a155bc
      Shawn O. Pearce 提交于
      Buffering all message output until a merge invocation is complete is
      necessary to prevent intereferring with a progress meter that would
      indicate the number of files completely merged, and how many remain.
      This change does not introduce a progress meter, but merely lays
      the groundwork to buffer the output.
      
      To aid debugging output buffering is only enabled if verbosity
      is lower than 5.  When using verbosity levels above 5 the user is
      probably debugging the merge program itself and does not want to
      see the output delayed, especially if they are stepping through
      portions of the code in a debugger.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      66a155bc
    • S
      Allow the user to control the verbosity of merge-recursive. · 8c3275ab
      Shawn O. Pearce 提交于
      Junio C Hamano <junkio@cox.net> writes:
      >
      > I think the output from merge-recursive can be categorized into 5
      > verbosity levels:
      >
      > 1. "CONFLICT", "Rename", "Adding here instead due to D/F conflict"
      > (outermost)
      >
      > 2. "Auto-merged successfully" (outermost)
      >
      > 3. The first "Merging X with Y".
      >
      > 4. outermost "Merging:\ntitle1\ntitle2".
      >
      > 5. outermost "found N common ancestors\nancestor1\nancestor2\n..."
      > and anything from inner merge.
      >
      > I would prefer the default verbosity level to be 2 (that is, show
      > both 1 and 2).
      
      and this change makes it so.  I think level 3 is probably pointless
      as its only one line of output above level 2, but I can see how some
      users may want to view it but not view the slightly more verbose
      output of level 4.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      8c3275ab
    • S
      Remove unnecessary call_depth parameter in merge-recursive. · 63889639
      Shawn O. Pearce 提交于
      Because the output_indent always matches the call_depth value
      there is no reason to pass around the call_depth to the merge
      function during each recursive invocation.
      
      This is a simple refactoring that will make the code easier to
      follow later on as I start to add output verbosity controls.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      63889639
    • J
      Merge branch 'jc/int' · f4b6c6b9
      Junio C Hamano 提交于
      * jc/int:
        More tests in t3901.
        Consistent message encoding while reusing log from an existing commit.
        t3901: test "format-patch | am" pipe with i18n
        Use log output encoding in --pretty=email headers.
      f4b6c6b9
    • J
      Merge branch 'sp/merge' (early part) · 6de33478
      Junio C Hamano 提交于
      * 'sp/merge' (early part):
        Improve merge performance by avoiding in-index merges.
      6de33478
    • J
      Merge branch 'jc/subdir' · 3681d40b
      Junio C Hamano 提交于
      * jc/subdir:
        Allow whole-tree operations to be started from a subdirectory
        Use cd_to_toplevel in scripts that implement it by hand.
        Define cd_to_toplevel shell function in git-sh-setup
      3681d40b
  2. 14 1月, 2007 10 次提交
  3. 13 1月, 2007 8 次提交
  4. 12 1月, 2007 11 次提交
    • B
      git-revert: Fix die before git-sh-setup defines it. · 397dfe67
      Bob Proulx 提交于
      The code previously checked it's own name and called 'die' upon
      an error.  However 'die' was not yet defined because git-sh-setup
      had not been sourced yet.  Instead simply write the error message
      to stderr and exit with an error as was originally desired.
      Signed-off-by: NBob Proulx <bob@proulx.com>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      397dfe67
    • M
      fix documentation for git-commit --no-verify · fc41be3b
      Michael S. Tsirkin 提交于
      Despite what the documentation claims, git-commit does not check commit
      for suspicious lines: all hooks are disabled by default,
      and the pre-comit hook could be changed to do something else.
      Signed-off-by: NMichael S. Tsirkin <mst@mellanox.co.il>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      fc41be3b
    • L
      Fix up totally buggered read_or_die() · 4494c656
      Linus Torvalds 提交于
      The "read_or_die()" function would silently NOT die for a partial read,
      and since it was of type "void" it obviously couldn't even return the
      partial number of bytes read.
      
      IOW, it was totally broken. This hopefully fixes it up.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      4494c656
    • L
      Clean up write_in_full() users · d34cf19b
      Linus Torvalds 提交于
      With the new-and-improved write_in_full() semantics, where a partial write
      simply always returns a real error (and always sets 'errno' when that
      happens, including for the disk full case), a lot of the callers of
      write_in_full() were just unnecessarily complex.
      
      In particular, there's no reason to ever check for a zero length or
      return: if the length was zero, we'll return zero, otherwise, if a disk
      full resulted in the actual write() system call returning zero the
      write_in_full() logic would have correctly turned that into a negative
      return value, with 'errno' set to ENOSPC.
      
      I really wish every "write_in_full()" user would just check against "<0"
      now, but this fixes the nasty and stupid ones.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      d34cf19b
    • J
      reflog-expire: brown paper bag fix. · 9bbaa6cc
      Junio C Hamano 提交于
      When --stale-fix is not passed, the code did not initialize the
      two commit objects properly.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      9bbaa6cc
    • J
      GIT v1.5.0-rc1 · ba70de01
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      ba70de01
    • J
      94d23673
    • S
      Chose better tag names in git-describe after merges. · 80dbae03
      Shawn O. Pearce 提交于
      Recently git.git itself encountered a situation on its master and
      next branches where git-describe stopped reporting 'v1.5.0-rc0-gN'
      and instead started reporting 'v1.4.4.4-gN'.  This appeared to be
      a backward jump in version numbering.
      
        maint     o-------------------4
                  \                    \
        master     o-o-o-o-o-o-o-5-o-C-o-W
      
      The issue is that commit C in the diagram claims it is version
      1.5.0, as the tag v1.5.0 is placed on commit 5.  Yet commit W
      claims it is version 1.4.4.4 as the tag v1.5.0 has an older tag
      date than the v1.4.4.4 tag.
      
      As it turns out this situation is very common.  A bug fix applied
      to maint and later merged into master occurs frequently enough that
      it should Just Work Right(tm).
      
      Rather than taking the first tag that gets found git-describe will
      now generate a list of all possible tags and select the one which
      has the most number of commits in common with HEAD (or whatever
      revision the user requested the description of).
      
      This rule is based on the principle shown in the diagram above.
      There are a large number of commits on the primary development branch
      'master' which do not appear in the 'maint' branch, and many of
      these are already tagged as part of v1.5.0-rc0.  Additionally these
      commits are not in v1.4.4.4, as they are part of the v1.5.0 release
      still being developed.  The v1.5.0-rc0 tag is more descriptive of
      W than v1.4.4.4 is, and therefore should be used.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      80dbae03
    • J
      Merge branch 'jc/bare' · e861ce16
      Junio C Hamano 提交于
      * jc/bare:
        Disallow working directory commands in a bare repository.
        git-fetch: allow updating the current branch in a bare repository.
        Introduce is_bare_repository() and core.bare configuration variable
        Move initialization of log_all_ref_updates
      e861ce16
    • J
      Merge branch 'ar/merge-recursive' · 141d21b8
      Junio C Hamano 提交于
      * ar/merge-recursive:
        merge-recursive: do not use on-file index when not needed.
        Speed-up recursive by flushing index only once for all entries
      141d21b8
    • J
      Merge branch 'jc/detached-head' · c388761c
      Junio C Hamano 提交于
      * jc/detached-head:
        git-checkout: handle local changes sanely when detaching HEAD
        git-checkout: safety check for detached HEAD checks existing refs
        git-checkout: fix branch name output from the command
        git-checkout: safety when coming back from the detached HEAD state.
        git-checkout: rewording comments regarding detached HEAD.
        git-checkout: do not warn detaching HEAD when it is already detached.
        Detached HEAD (experimental)
        git-branch: show detached HEAD
        git-status: show detached HEAD
      c388761c