1. 02 7月, 2008 1 次提交
  2. 24 5月, 2008 1 次提交
  3. 15 5月, 2008 1 次提交
  4. 12 5月, 2008 1 次提交
  5. 04 5月, 2008 1 次提交
  6. 30 4月, 2008 1 次提交
  7. 10 4月, 2008 1 次提交
    • J
      log: teach "terminator" vs "separator" mode to "--pretty=format" · 4da45bef
      Junio C Hamano 提交于
      This attached patch introduces a single bit "use_terminator" in "struct
      rev_info", which is normally false (i.e. most formats use separator
      semantics) but by flipping it to true, you can ask for terminator
      semantics just like oneline format does.
      
      The function get_commit_format(), which is what parses "--pretty=" option,
      now takes a pointer to "struct rev_info" and updates its commit_format and
      use_terminator fields.  It used to return the value of type "enum
      cmit_fmt", but all the callers assigned it to rev->commit_format.
      
      There are only two cases the code turns use_terminator on.  Obviously, the
      traditional oneline format (--pretty=oneline) is one of them, and the new
      case is --pretty=tformat:... that acts like --pretty=format:... but flips
      the bit on.
      
      With this, "--pretty=tformat:%H %s" acts like --pretty=oneline.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      4da45bef
  8. 06 3月, 2008 1 次提交
    • D
      log/show/whatchanged: introduce format.pretty configuration · 94c22a5e
      Denis Cheng 提交于
      When running log/show/whatchanged from the command line, the user may
      want to use a preferred format without having to pass --pretty=<fmt>
      option every time from the command line.  This teaches these three
      commands to honor a new configuration variable, format.pretty.
      
      The --pretty option given from the command line will override the
      configured format.
      
      The earlier patch fixed the in-tree callers that run these commands
      for purposes other than showing the output directly to the end user
      (the only other in-tree caller is "git bisect visualize", whose output
      directly goes to the end user and should be affected by this patch).
      
      Similar fixes will be needed for end-user scripts that parse the
      output from these commands and expect them to be in the default pretty
      format.
      Signed-off-by: NDenis Cheng <crquan@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      94c22a5e
  9. 03 3月, 2008 2 次提交
  10. 29 2月, 2008 1 次提交
  11. 28 2月, 2008 1 次提交
  12. 26 2月, 2008 1 次提交
    • D
      Improve collection of information for format-patch --cover-letter · 2bda2cf4
      Daniel Barkalow 提交于
      Use the "boundary" feature to find the origin (or find that there are
      multiple origins), and use the actual list of commits to pass to
      shortlog.
      
      This makes all cover letter include shortlogs, and all cover letters
      for series with a single boundary commit include diffstats (if there
      are multiple boundary commits it's unclear what would be meaningful as
      a diffstat). Note that the single boundary test is empirical, not
      theoretical; even a -2 limiting condition will give a diffstat if there's
      only one boundary commit in this particular case.
      Signed-off-by: NDaniel Barkalow <barkalow@iabervon.org>
      2bda2cf4
  13. 20 2月, 2008 4 次提交
  14. 19 2月, 2008 1 次提交
  15. 18 2月, 2008 2 次提交
  16. 12 2月, 2008 2 次提交
  17. 20 12月, 2007 1 次提交
  18. 12 12月, 2007 1 次提交
    • J
      shortlog: default to HEAD when the standard input is a tty · 3384a2df
      Junio C Hamano 提交于
      Instead of warning the user that it is expecting git log output from
      the standard input (and waiting for the user to type the log from
      the keyboard, which is a silly thing to do), default to traverse from
      HEAD when there is no rev parameter given and the standard input is
      a tty.
      
      This factors out a useful helper "add_head()" from builtin-diff.c to a
      more appropriate place revision.c while renaming it to more descriptive
      name add_head_to_pending(), as that is what the function is about.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      3384a2df
  19. 09 12月, 2007 1 次提交
    • J
      Re-fix "builtin-commit: fix --signoff" · 774751a8
      Junio C Hamano 提交于
      An earlier fix to the said commit was incomplete; it mixed up the
      meaning of the flag parameter passed to the internal fmt_ident()
      function, so this corrects it.
      
      git_author_info() and git_committer_info() can be told to issue a
      warning when no usable user information is found, and optionally can be
      told to error out.  Operations that actually use the information to
      record a new commit or a tag will still error out, but the caller to
      leave reflog record will just silently use bogus user information.
      
      Not warning on misconfigured user information while writing a reflog
      entry is somewhat debatable, but it is probably nicer to the users to
      silently let it pass, because the only information you are losing is who
      checked out the branch.
      
       * git_author_info() and git_committer_info() used to take 1 (positive
         int) to error out with a warning on misconfiguration; this is now
         signalled with a symbolic constant IDENT_ERROR_ON_NO_NAME.
      
       * These functions used to take -1 (negative int) to warn but continue;
         this is now signalled with a symbolic constant IDENT_WARN_ON_NO_NAME.
      
       * fmt_ident() function implements the above error reporting behaviour
         common to git_author_info() and git_committer_info().  A symbolic
         constant IDENT_NO_DATE can be or'ed in to the flag parameter to make
         it return only the "Name <email@address.xz>".
      
       * fmt_name() is a thin wrapper around fmt_ident() that always passes
         IDENT_ERROR_ON_NO_NAME and IDENT_NO_DATE.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      774751a8
  20. 14 11月, 2007 1 次提交
    • L
      Fix parent rewriting in --early-output · 7dc0fe3b
      Linus Torvalds 提交于
      We cannot tell a node that has been checked and found not to be
      interesting (which does not have the TREECHANGE flag) from a
      node that hasn't been checked if it is interesting or not,
      without relying on something else, such as object->parsed.
      
      But an object can get the "parsed" flag for other reasons.
      Which means that "TREECHANGE" has the wrong polarity.
      
      This changes the way how the path pruning logic marks an
      uninteresting commits.  From now on, we consider a commit
      interesting by default, and explicitly mark the ones we decided
      to prune.  The flag is renamed to "TREESAME".
      
      Then, this fixes the logic to show the early output with
      incomplete pruning.  It basically says "a commit that has
      TREESAME set is kind-of-UNINTERESTING", but obviously in a
      different way than an outright UNINTERESTING commit.  Until we
      parse and examine enough parents to determine if a commit
      becomes surely "kind-of-UNINTERESTING", we avoid rewriting
      the ancestry so that later rounds can fix things up.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      7dc0fe3b
  21. 12 11月, 2007 1 次提交
  22. 08 11月, 2007 1 次提交
    • J
      format-patch -s: add MIME encoding header if signer's name requires so · acef41c9
      Junio C Hamano 提交于
      When the body of the commit log message contains a non-ASCII character,
      format-patch correctly emitted the encoding header to mark the resulting
      message as such.  However, if the original message was fully ASCII, the
      command line switch "-s" was given to add a new sign-off, and
      the signer's name was not ASCII only, the resulting message would have
      contained non-ASCII character but was not marked as such.
      
      This was cherry-picked from the fix in 'master'
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      acef41c9
  23. 06 11月, 2007 2 次提交
    • L
      revision walker: mini clean-up · 53b2c823
      Linus Torvalds 提交于
      This removes the unnecessary indirection of "revs->prune_fn",
      since that function is always the same one (or NULL), and there
      is in fact not even an abstraction reason to make it a function
      (i.e. its not called from some other file and doesn't allow us
      to keep the function itself static or anything like that).
      
      It then just replaces it with a bit that says "prune or not",
      and if not pruning, every commit gets TREECHANGE.
      
      That in turn means that
      
       - if (!revs->prune_fn || (flags & TREECHANGE))
       - if (revs->prune_fn && !(flags & TREECHANGE))
      
      just become
      
       - if (flags & TREECHANGE)
       - if (!(flags & TREECHANGE))
      
      respectively.
      
      Together with adding the "single_parent()" helper function, the "complex"
      conditional now becomes
      
      	if (!(flags & TREECHANGE) && rev->dense && single_parent(commit))
      		continue;
      
      Also indirection of "revs->dense" checking is thrown away the
      same way, because TREECHANGE bit is set appropriately now.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      53b2c823
    • L
      Enhance --early-output format · 252a7c02
      Linus Torvalds 提交于
      This makes --early-output a bit more advanced, and actually makes it
      generate multiple "Final output:" headers as it updates things
      asynchronously. I realize that the "Final output:" line is now illogical,
      since it's not really final until it also says "done", but
      
      It now _always_ generates a "Final output:" header in front of any commit
      list, and that output header gives you a *guess* at the maximum number of
      commits available. However, it should be noted that the guess can be
      completely off: I do a reasonable job estimating it, but it is not meant
      to be exact.
      
      So what happens is that you may get output like this:
      
       - at 0.1 seconds:
      
      	Final output: 2 incomplete
      	.. 2 commits listed ..
      
       - half a second later:
      
      	Final output: 33 incomplete
      	.. 33 commits listed ..
      
       - another half a second after that:
      
      	Final output: 71 incomplete
      	.. 71 commits listed ..
      
       - another half second later:
      
      	Final output: 136 incomplete
      	.. 100 commits listed: we hit the --early-output limit, and
      	.. will only output 100 commits, and after this you'll not
      	.. see an "incomplete" report any more since you got as much
      	.. early output as you asked for!
      
       - .. and then finally:
      
      	Final output: 73106 done
      	.. all the commits ..
      
      The above is a real-life scenario on my current kernel tree after having
      flushed all the caches.
      
      Tested with the experimental gitk patch that Paul sent out, and by looking
      at the actual log output (and verifying that my commit count guesses
      actually match real life fairly well).
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      252a7c02
  24. 04 11月, 2007 2 次提交
    • B
      format-patch: Add configuration and off switch for --numbered · 49604a4d
      Brian Gernhardt 提交于
      format.numbered is a tri-state variable.  Boolean values enable or
      disable numbering by default and "auto" enables number when outputting
      more than one patch.
      
      --no-numbered (short: -N) will disable numbering.
      Signed-off-by: NBrian Gernhardt <benji@silverinsanity.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      49604a4d
    • L
      Add "--early-output" log flag for interactive GUI use · cdcefbc9
      Linus Torvalds 提交于
      This adds support for "--early-output[=n]" as a flag to the "git log"
      family of commands.  This allows GUI programs to state that they want to
      get some output early, in order to be able to show at least something
      quickly, even if the full output may take longer to generate.
      
      If no count is specified, a default count of a hundred commits will be
      used, although the actual numbr of commits output may be smaller
      depending on how many commits were actually found in the first tenth of
      a second (or if *everything* was found before that, in which case no
      early output will be provided, and only the final list is made
      available).
      
      When the full list is generated, there will be a "Final output:" string
      prepended to it, regardless of whether any early commits were shown or
      not, so that the consumer can always know the difference between early
      output and the final list.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      cdcefbc9
  25. 02 11月, 2007 1 次提交
    • J
      format-patch -s: add MIME encoding header if signer's name requires so · 4593fb84
      Junio C Hamano 提交于
      When the body of the commit log message contains a non-ASCII character,
      format-patch correctly emitted the encoding header to mark the resulting
      message as such.  However, if the original message was fully ASCII, the
      command line switch "-s" was given to add a new sign-off, and
      the signer's name was not ASCII only, the resulting message would have
      contained non-ASCII character but was not marked as such.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      4593fb84
  26. 19 9月, 2007 1 次提交
  27. 14 9月, 2007 1 次提交
  28. 11 9月, 2007 1 次提交
  29. 28 8月, 2007 2 次提交
  30. 05 7月, 2007 1 次提交
  31. 03 7月, 2007 1 次提交