1. 28 6月, 2006 3 次提交
  2. 19 6月, 2006 6 次提交
  3. 17 6月, 2006 1 次提交
    • J
      fix git alias · d8498500
      Junio C Hamano 提交于
      When extra command line arguments are given to a command that
      was alias-expanded, the code generated a wrong argument list,
      leaving the original alias in the result, and forgetting to
      terminate the new argv list.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      d8498500
  4. 11 6月, 2006 1 次提交
  5. 06 6月, 2006 2 次提交
  6. 04 6月, 2006 1 次提交
  7. 25 5月, 2006 1 次提交
  8. 24 5月, 2006 8 次提交
  9. 21 5月, 2006 1 次提交
  10. 20 5月, 2006 3 次提交
    • J
      built-in tar-tree and remote tar-tree · 21754264
      Junio C Hamano 提交于
      This makes tar-tree a built-in.  As an added bonus, you can now
      say:
      
      	git tar-tree --remote=remote-repository <ent> [<base>]
      
      This does not work with git-daemon yet, but should work with
      localhost and git over ssh transports.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      21754264
    • L
      Add builtin "git rm" command · d9b814cc
      Linus Torvalds 提交于
      This changes semantics very subtly, because it adds a new atomicity
      guarantee.
      
      In particular, if you "git rm" several files, it will now do all or
      nothing. The old shell-script really looped over the removed files one by
      one, and would basically randomly fail in the middle if "-f" was used and
      one of the files didn't exist in the working directory.
      
      This C builtin one will not re-write the index after each remove, but
      instead remove all files at once. However, that means that if "-f" is used
      (to also force removal of the file from the working directory), and some
      files have already been removed from the workspace, it won't stop in the
      middle in some half-way state like the old one did.
      
      So what happens is that if the _first_ file fails to be removed with "-f",
      we abort the whole "git rm". But once we've started removing, we don't
      leave anything half done. If some of the other files don't exist, we'll
      just ignore errors of removal from the working tree.
      
      This is only an issue with "-f", of course.
      
      I think the new behaviour is strictly an improvement, but perhaps more
      importantly, it is _different_. As a special case, the semantics are
      identical for the single-file case (which is the only one our test-suite
      seems to test).
      
      The other question is what to do with leading directories. The old "git
      rm" script didn't do anything, which is somewhat inconsistent. This one
      will actually clean up directories that have become empty as a result of
      removing the last file, but maybe we want to have a flag to decide the
      behaviour?
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      d9b814cc
    • T
      Builtin git-init-db · c3c8835f
      Timo Hirvonen 提交于
      Basically this just renames init-db.c to builtin-init-db.c and makes
      some strings const.
      Signed-off-by: NTimo Hirvonen <tihirvon@gmail.com>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      c3c8835f
  11. 19 5月, 2006 2 次提交
  12. 18 5月, 2006 1 次提交
  13. 02 5月, 2006 1 次提交
  14. 01 5月, 2006 1 次提交
    • J
      built-in "git grep" · 5010cb5f
      Junio C Hamano 提交于
      This attempts to set up built-in "git grep" to further reduce
      our dependence on the shell, while at the same time optionally
      allowing to run grep against object database.  You could do
      funky things like these:
      
      	git grep --cached -e pattern	;# grep from index
      	git grep -e pattern master	;# or in a rev
      	git grep -e pattern master next ;# or in multiple revs
      	git grep -e pattern pu^@	;# even like this with an
      					;# extension from another topic ;-)
      	git grep -e pattern master..next ;# or even from rev ranges
      	git grep -e pattern master~20:Documentation
      					;# or an arbitrary tree
      	git grep -e pattern next:git-commit.sh
              				;# or an arbitrary blob
      
      Right now, it does not understand and/or obey many options grep
      should accept, and the pattern must be given with -e option due
      to the way the parameter parser is structured, both of which
      obviously need to be fixed for usability.
      
      But this is going in the right direction.  The shell script
      version is one of the worst Portability offender in the git
      barebone Porcelainish; it uses xargs -0 to pass paths around and
      shell arrays to sift flags and parameters.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      5010cb5f
  15. 30 4月, 2006 1 次提交
    • L
      git builtin "push" · 755225de
      Linus Torvalds 提交于
      This adds a builtin "push" command, which is largely just a C'ification of
      the "git-push.sh" script.
      
      Now, the reason I did it as a built-in is partly because it's yet another
      step on relying less on shell, but it's actually mostly because I've
      wanted to be able to push to _multiple_ repositories, and the most obvious
      and simplest interface for that would seem be to just have a "remotes"
      file that has multiple URL entries.
      
      (For "pull", having multiple entries should either just select the first
      one, or you could fall back on the others on failure - your choice).
      
      And quite frankly, it just became too damn messy to do that in shell.
      Besides, we actually have a fair amount of infrastructure in C, so it just
      wasn't that hard to do.
      
      Of course, this is almost totally untested. It probably doesn't work for
      anything but the one trial I threw at it. "Simple" doesn't necessarily
      mean "obviously correct".
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      755225de
  16. 29 4月, 2006 1 次提交
  17. 28 4月, 2006 2 次提交
    • J
      built-in count-objects. · c7432087
      Junio C Hamano 提交于
      Also it learned to do -v (verbose) to report:
      
      	- number of loose objects
      	- disk occupied by loose objects
      	- number of objects in local packs
      	- number of loose objects that are also in pack
      	- unrecognised garbage in .git/objects/??/.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      c7432087
    • L
      Fix "git help -a" terminal autosizing · 83aa18ea
      Linus Torvalds 提交于
      When I split out the builtin commands into their own files, I left the
      include of <sys/ioctl.h> in git.c rather than moving it to the file that
      needed it (builtin-help.c).
      
      Nobody seems to have noticed, because everything still worked, but because
      the TIOCGWINSZ macro was now no longer defined when compiling the
      "term_columns()" function, it would no longer automatically notice the
      terminal size unless your system used the ancient "COLUMNS" environment
      variable approach.
      
      Trivially fixed by just moving the header include to the file that
      actually needs it.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      83aa18ea
  18. 22 4月, 2006 1 次提交
  19. 21 4月, 2006 1 次提交
  20. 20 4月, 2006 1 次提交
    • L
      git log: don't do merge diffs by default · 1aec7917
      Linus Torvalds 提交于
      I personally prefer "ignore_merges" to be on by default, because quite
      often the merge diff is distracting and not interesting. That's true both
      with "-p" and with "--stat" output.
      
      If you want output from merges, you can trivially use the "-m", "-c" or
      "--cc" flags to tell that you're interested in merges, which also tells
      the diff generator what kind of diff to do (for --stat, any of the three
      will do, of course, but they differ for plain patches or for
      --patch-with-stat).
      
      This trivial patch just removes the two lines that tells "git log" not to
      ignore merges. It will still show the commit log message, of course, due
      to the "always_show_header" part.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      1aec7917
  21. 19 4月, 2006 1 次提交