1. 21 8月, 2011 1 次提交
  2. 10 3月, 2011 2 次提交
  3. 09 3月, 2011 1 次提交
    • J
      add packet tracing debug code · bbc30f99
      Jeff King 提交于
      This shows a trace of all packets coming in or out of a given
      program. This can help with debugging object negotiation or
      other protocol issues.
      
      To keep the code changes simple, we operate at the lowest
      level, meaning we don't necessarily understand what's in the
      packets. The one exception is a packet starting with "PACK",
      which causes us to skip that packet and turn off tracing
      (since the gigantic pack data will not be interesting to
      read, at least not in the trace format).
      
      We show both written and read packets. In the local case,
      this may mean you will see packets twice (written by the
      sender and read by the receiver). However, for cases where
      the other end is remote, this allows you to see the full
      conversation.
      
      Packet tracing can be enabled with GIT_TRACE_PACKET=<foo>,
      where <foo> takes the same arguments as GIT_TRACE.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      bbc30f99
  4. 03 3月, 2011 2 次提交
  5. 17 2月, 2011 1 次提交
    • J
      push.default: Rename 'tracking' to 'upstream' · 53c40311
      Johan Herland 提交于
      Users are sometimes confused with two different types of "tracking" behavior
      in Git: "remote-tracking" branches (e.g. refs/remotes/*/*) versus the
      merge/rebase relationship between a local branch and its @{upstream}
      (controlled by branch.foo.remote and branch.foo.merge config settings).
      
      When the push.default is set to 'tracking', it specifies that a branch should
      be pushed to its @{upstream} branch. In other words, setting push.default to
      'tracking' applies only to the latter of the above two types of "tracking"
      behavior.
      
      In order to make this more understandable to the user, we rename the
      push.default == 'tracking' option to push.default == 'upstream'.
      
      push.default == 'tracking' is left as a deprecated synonym for 'upstream'.
      Signed-off-by: NJohan Herland <johan@herland.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      53c40311
  6. 13 8月, 2010 1 次提交
  7. 03 8月, 2010 1 次提交
  8. 23 2月, 2010 1 次提交
    • L
      Move 'builtin-*' into a 'builtin/' subdirectory · 81b50f3c
      Linus Torvalds 提交于
      This shrinks the top-level directory a bit, and makes it much more
      pleasant to use auto-completion on the thing. Instead of
      
      	[torvalds@nehalem git]$ em buil<tab>
      	Display all 180 possibilities? (y or n)
      	[torvalds@nehalem git]$ em builtin-sh
      	builtin-shortlog.c     builtin-show-branch.c  builtin-show-ref.c
      	builtin-shortlog.o     builtin-show-branch.o  builtin-show-ref.o
      	[torvalds@nehalem git]$ em builtin-shor<tab>
      	builtin-shortlog.c  builtin-shortlog.o
      	[torvalds@nehalem git]$ em builtin-shortlog.c
      
      you get
      
      	[torvalds@nehalem git]$ em buil<tab>		[type]
      	builtin/   builtin.h
      	[torvalds@nehalem git]$ em builtin		[auto-completes to]
      	[torvalds@nehalem git]$ em builtin/sh<tab>	[type]
      	shortlog.c     shortlog.o     show-branch.c  show-branch.o  show-ref.c     show-ref.o
      	[torvalds@nehalem git]$ em builtin/sho		[auto-completes to]
      	[torvalds@nehalem git]$ em builtin/shor<tab>	[type]
      	shortlog.c  shortlog.o
      	[torvalds@nehalem git]$ em builtin/shortlog.c
      
      which doesn't seem all that different, but not having that annoying
      break in "Display all 180 possibilities?" is quite a relief.
      
      NOTE! If you do this in a clean tree (no object files etc), or using an
      editor that has auto-completion rules that ignores '*.o' files, you
      won't see that annoying 'Display all 180 possibilities?' message - it
      will just show the choices instead.  I think bash has some cut-off
      around 100 choices or something.
      
      So the reason I see this is that I'm using an odd editory, and thus
      don't have the rules to cut down on auto-completion.  But you can
      simulate that by using 'ls' instead, or something similar.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      81b50f3c
  9. 30 1月, 2010 1 次提交
  10. 17 1月, 2010 1 次提交
  11. 12 1月, 2010 1 次提交
  12. 31 12月, 2009 1 次提交
  13. 04 12月, 2009 1 次提交
  14. 18 11月, 2009 1 次提交
  15. 31 10月, 2009 1 次提交
  16. 26 10月, 2009 1 次提交
  17. 25 10月, 2009 1 次提交
  18. 19 10月, 2009 2 次提交
  19. 14 9月, 2009 1 次提交
  20. 12 9月, 2009 1 次提交
    • J
      push: make non-fast-forward help message configurable · 75194438
      Jeff King 提交于
      This message is designed to help new users understand what
      has happened when refs fail to push. However, it does not
      help experienced users at all, and significantly clutters
      the output, frequently dwarfing the regular status table and
      making it harder to see.
      
      This patch introduces a general configuration mechanism for
      optional messages, with this push message as the first
      example.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      75194438
  21. 06 9月, 2009 2 次提交
  22. 13 8月, 2009 1 次提交
  23. 06 8月, 2009 1 次提交
  24. 19 7月, 2009 1 次提交
  25. 28 6月, 2009 1 次提交
    • L
      add --porcelain option to git-push · 1965ff74
      Larry D'Anna 提交于
      If --porcelain is used git-push will produce machine-readable output.  The
      output status line for each ref will be tab-separated and sent to stdout instead
      of stderr.  The full symbolic names of the refs will be given.  For example
      
      $ git push --dry-run --porcelain master :foobar 2>/dev/null \
        | perl -pe 's/\t/ TAB /g'
      
      = TAB refs/heads/master:refs/heads/master TAB [up to date]
      - TAB :refs/heads/foobar TAB [deleted]
      Signed-off-by: NLarry D'Anna <larry@elder-gods.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      1965ff74
  26. 10 6月, 2009 1 次提交
  27. 25 5月, 2009 1 次提交
  28. 26 3月, 2009 1 次提交
  29. 18 3月, 2009 2 次提交
    • F
      New config push.default to decide default behavior for push · 52153747
      Finn Arne Gangstad 提交于
      When "git push" is not told what refspecs to push, it pushes all matching
      branches to the current remote.  For some workflows this default is not
      useful, and surprises new users.  Some have even found that this default
      behaviour is too easy to trigger by accident with unwanted consequences.
      
      Introduce a new configuration variable "push.default" that decides what
      action git push should take if no refspecs are given or implied by the
      command line arguments or the current remote configuration.
      
      Possible values are:
      
        'nothing'  : Push nothing;
        'matching' : Current default behaviour, push all branches that already
                     exist in the current remote;
        'tracking' : Push the current branch to whatever it is tracking;
        'current'  : Push the current branch to a branch of the same name,
                     i.e. HEAD.
      Signed-off-by: NFinn Arne Gangstad <finnag@pvv.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      52153747
    • F
      Display warning for default git push with no push.default config · 665d3e8f
      Finn Arne Gangstad 提交于
      If a git push without any refspecs is attempted, display a warning.
      The current default behavior is to push all matching refspecs, which
      may come as a surprise to new users, so the warning shows how
      push.default can be configured and what the possible values are.
      
      Traditionalists who wish to keep the current behaviour are also told
      how to configure this once and never see the warning again.
      Signed-off-by: NFinn Arne Gangstad <finnag@pvv.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      665d3e8f
  30. 11 3月, 2009 1 次提交
    • D
      Give error when no remote is configured · fa685bdf
      Daniel Barkalow 提交于
      When there's no explicitly-named remote, we use the remote specified
      for the current branch, which in turn defaults to "origin". But it
      this case should require the remote to actually be configured, and not
      fall back to the path "origin".
      
      Possibly, the config file's "remote = something" should require the
      something to be a configured remote instead of a bare repository URL,
      but we actually test with a bare repository URL.
      
      In fetch, we were giving the sensible error message when coming up
      with a URL failed, but this wasn't actually reachable, so move that
      error up and use it when appropriate.
      
      In push, we need a new error message, because the old one (formerly
      unreachable without a lot of help) used the repo name, which was NULL.
      Signed-off-by: NDaniel Barkalow <barkalow@iabervon.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      fa685bdf
  31. 08 10月, 2008 1 次提交
  32. 17 8月, 2008 1 次提交
  33. 21 7月, 2008 1 次提交
  34. 14 7月, 2008 1 次提交
    • S
      Make usage strings dash-less · 1b1dd23f
      Stephan Beyer 提交于
      When you misuse a git command, you are shown the usage string.
      But this is currently shown in the dashed form.  So if you just
      copy what you see, it will not work, when the dashed form
      is no longer supported.
      
      This patch makes git commands show the dash-less version.
      
      For shell scripts that do not specify OPTIONS_SPEC, git-sh-setup.sh
      generates a dash-less usage string now.
      Signed-off-by: NStephan Beyer <s-beyer@gmx.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      1b1dd23f
  35. 21 4月, 2008 1 次提交
    • P
      Add a remote.*.mirror configuration option · 84bb2dfd
      Paolo Bonzini 提交于
      This patch adds a remote.*.mirror configuration option that,
      when set, automatically puts git-push in --mirror mode for that
      remote.
      
      Furthermore, the option is set automatically by `git remote
      add --mirror'.
      
      The code in remote.c to parse remote.*.skipdefaultupdate
      had a subtle problem: a comment in the code indicated that
      special care was needed for boolean options, but this care was
      not used in parsing the option.  Since I was touching related
      code, I did this fix too.
      
      [jc: and I further fixed up the "ignore boolean" code.]
      Signed-off-by: NPaolo Bonzini <bonzini@gnu.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      84bb2dfd