1. 23 1月, 2010 5 次提交
  2. 22 1月, 2010 4 次提交
  3. 10 11月, 2009 1 次提交
  4. 30 8月, 2009 1 次提交
  5. 23 8月, 2009 2 次提交
    • J
      git status: not "commit --dry-run" anymore · 9e4b7ab6
      Junio C Hamano 提交于
      This removes tentative "git stat" and make it take over "git status".
      
      There are some tests that expect "git status" to exit with non-zero status
      when there is something staged.  Some tests expect "git status path..." to
      show the status for a partial commit.
      
      For these, replace "git status" with "git commit --dry-run".  For the
      ones that do not attempt a dry-run of a partial commit that check the
      output from the command, check the output from "git status" as well, as
      they should be identical.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      9e4b7ab6
    • J
      git stat: the beginning of "status that is not a dry-run of commit" · 76e2f7ce
      Junio C Hamano 提交于
      Tentatively add "git stat" as a new command.
      
      This is not "preview of commit with the same arguments"; the path parameters
      are not paths to be added to the pristine index (aka "--only" option), but
      are taken as pathspecs to limit the output.  Later in 1.7.0 release, it will
      take over "git status".
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      76e2f7ce
  6. 06 8月, 2009 1 次提交
  7. 01 6月, 2009 1 次提交
    • C
      Add new "git replace" command · 54b0c1e0
      Christian Couder 提交于
      This command can only be used now to list replace refs in
      "refs/replace/" and to delete them.
      
      The option to list replace refs is "-l".
      The option to delete replace refs is "-d".
      
      The behavior should be consistent with how "git tag" and "git branch"
      are working.
      
      The code has been copied from "builtin-tag.c" by Kristian Høgsberg
      <krh@redhat.com> and Carlos Rica <jasampler@gmail.com> that was itself
      based on git-tag.sh and mktag.c by Linus Torvalds.
      Signed-off-by: NChristian Couder <chriscool@tuxfamily.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      54b0c1e0
  8. 11 5月, 2009 1 次提交
  9. 05 4月, 2009 1 次提交
    • C
      bisect--helper: implement "git bisect--helper" · 1bf072e3
      Christian Couder 提交于
      This patch implements a new "git bisect--helper" builtin plumbing
      command that will be used to migrate "git-bisect.sh" to C.
      
      We start by implementing only the "--next-vars" option that will
      read bisect refs from "refs/bisect/", and then compute the next
      bisect step, and output shell variables ready to be eval'ed by
      the shell.
      
      At this step, "git bisect--helper" ignores the paths that may
      have been put in "$GIT_DIR/BISECT_NAMES". This will be fixed in a
      later patch.
      Signed-off-by: NChristian Couder <chriscool@tuxfamily.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      1bf072e3
  10. 11 9月, 2008 1 次提交
  11. 10 9月, 2008 1 次提交
  12. 01 9月, 2008 1 次提交
    • J
      git wrapper: DWIM mistyped commands · 8af84dad
      Johannes Schindelin 提交于
      This patch introduces a modified Damerau-Levenshtein algorithm into
      Git's code base, and uses it with the following penalties to show some
      similar commands when an unknown command was encountered:
      
      	swap = 0, insertion = 1, substitution = 2, deletion = 4
      
      A typical output would now look like this:
      
      	$ git sm
      	git: 'sm' is not a git-command. See 'git --help'.
      
      	Did you mean one of these?
      		am
      		rm
      
      The cut-off is at similarity rating 6, which was empirically determined
      to give sensible results.
      
      As a convenience, if there is only one candidate, Git continues under
      the assumption that the user mistyped it.  Example:
      
      	$ git reabse
      	WARNING: You called a Git program named 'reabse', which does
      	not exist.
      	Continuing under the assumption that you meant 'rebase'
      	[...]
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NAlex Riesen <raa.lkml@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      8af84dad
  13. 26 8月, 2008 1 次提交
    • J
      Revert "Build-in "git-shell"" · 1e7abc59
      Junio C Hamano 提交于
      This reverts commit daa0cc9a.
      It was a stupid idea to do this; when run as a log-in shell,
      it is spawned with argv[0] set to "-git-shell", so the usual
      name-based dispatch would not work to begin with.
      1e7abc59
  14. 20 8月, 2008 1 次提交
  15. 24 7月, 2008 1 次提交
  16. 08 7月, 2008 1 次提交
  17. 07 7月, 2008 1 次提交
  18. 01 7月, 2008 1 次提交
  19. 07 6月, 2008 1 次提交
  20. 26 5月, 2008 1 次提交
  21. 05 5月, 2008 1 次提交
  22. 01 3月, 2008 1 次提交
  23. 17 2月, 2008 1 次提交
    • D
      Build in checkout · 782c2d65
      Daniel Barkalow 提交于
      The only differences in behavior should be:
      
       - git checkout -m with non-trivial merging won't print out
         merge-recursive messages (see the change in t7201-co.sh)
      
       - git checkout -- paths... will give a sensible error message if
         HEAD is invalid as a commit.
      
       - some intermediate states which were written to disk in the shell
         version (in particular, index states) are only kept in memory in
         this version, and therefore these can no longer be revealed by
         later write operations becoming impossible.
      
       - when we change branches, we discard MERGE_MSG, SQUASH_MSG, and
         rr-cache/MERGE_RR, like reset always has.
      
      I'm not 100% sure I got the merge recursive setup exactly right; the
      base for a non-trivial merge in the shell code doesn't seem
      theoretically justified to me, but I tried to match it anyway, and the
      tests all pass this way.
      
      Other than these items, the results should be identical to the shell
      version, so far as I can tell.
      
      [jc: squashed lock-file fix from Dscho in]
      Signed-off-by: NDaniel Barkalow <barkalow@iabervon.org>
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      782c2d65
  24. 10 2月, 2008 1 次提交
    • D
      Build-in merge-recursive · e1b3a2ca
      Daniel Barkalow 提交于
      This makes write_tree_from_memory(), which writes the active cache as
      a tree and returns the struct tree for it, available to other code. It
      also makes available merge_trees(), which does the internal merge of
      two trees with a known base, and merge_recursive(), which does the
      recursive internal merge of two commits with a list of common
      ancestors.
      
      The first two of these will be used by checkout -m, and the third is
      presumably useful in general, although the implementation of checkout
      -m which entirely matches the behavior of the shell version does not
      use it (since it ignores the difference of ancestry between the old
      branch and the new branch).
      Signed-off-by: NDaniel Barkalow <barkalow@iabervon.org>
      e1b3a2ca
  25. 05 2月, 2008 1 次提交
  26. 03 12月, 2007 1 次提交
  27. 23 11月, 2007 2 次提交
  28. 19 11月, 2007 1 次提交
    • S
      Make git-clean a builtin · 113f10f2
      Shawn Bohrer 提交于
      This replaces git-clean.sh with builtin-clean.c, and moves
      git-clean.sh to the examples.
      
      This also introduces a change in behavior when removing directories
      explicitly specified as a path.  For example currently:
      
      1. When dir has only untracked files, these two behave differently:
      
          $ git clean -n dir
          $ git clean -n dir/
      
      the former says "Would not remove dir/", while the latter would say
      "Would remove dir/untracked" for all paths under it, but not the
      directory itself.
      
      With -d, the former would stop refusing, however since the user
      explicitly asked to remove the directory the -d is no longer required.
      
      2. When there are more parameters:
      
          $ git clean -n dir foo
          $ git clean -n dir/ foo
      
      both cases refuse to remove dir/ unless -d is specified.  Once again
      since both cases requested to remove dir the -d is no longer required.
      
      Thanks to Johannes Schindelin for the conversion to using the
      parse-options API.
      Signed-off-by: NShawn Bohrer <shawn.bohrer@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      113f10f2
  29. 06 11月, 2007 1 次提交
  30. 03 11月, 2007 2 次提交