1. 01 12月, 2005 2 次提交
  2. 30 11月, 2005 18 次提交
  3. 29 11月, 2005 13 次提交
    • P
      git-clone --shared should imply --local · 2c4ed386
      Pavel Roskin 提交于
      The "--shared" option to git-clone is silently ignored if "--local" is
      not specified.  The manual doesn't mention such dependency.  Make
      "--shared" imply "--local".
      Signed-off-by: NPavel Roskin <proski@gnu.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      2c4ed386
    • J
      bisect: quote pathnames for eval safety. · e9a45d75
      Junio C Hamano 提交于
      ... and make sure they are on the same line.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      e9a45d75
    • L
      bisect: limit the searchspace by pathspecs · b3cfd939
      Linus Torvalds 提交于
      It was surprisingly easy to do.
      
      	git bisect start <pathspec>
      
      followed by all the normal "git bisect good/bad" stuff.
      
      Almost totally untested, and I guarantee that if your pathnames have
      spaces in them (or your GIT_DIR has spaces in it) this won't work. I don't
      know how to fix that, my shell programming isn't good enough.
      
      This involves small changes to make "git-rev-list --bisect" work in the
      presense of a pathspec limiter, and then truly trivial (and that's the
      broken part) changes to make "git bisect" save away and use the pathspec.
      
      I tried one bisection, and a "git bisect visualize", and it all looked
      correct. But hey, don't be surprised if it has problems.
      
      		Linus
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      b3cfd939
    • J
      ls-tree: match the test to the new semantics. · 246cc52f
      Junio C Hamano 提交于
      The diff for this commit is a good illustration of what changed
      in ls-tree behaviour.
      
       - With -r, tree nodes themselves are not shown anymore, but
         blobs in subtrees are shown.
      
       - The order of paths parameters do not matter, since they are
         not like arguments to /bin/ls, but are filter patterns.
      
       - When filter patterns overlap, unintuitive things happen.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      246cc52f
    • J
      ls-tree: Resurrect funny name quoting lost during rewrite. · 32b5904b
      Junio C Hamano 提交于
      The rewrite to match ls-files/diff-tree behaviour accidentally
      lost the name quoting.  I am not proud about this code, but this
      would get the test going.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      32b5904b
    • L
      ls-tree: further tweaks of the rewrite · e2466376
      Linus Torvalds 提交于
      It modifies the selection a bit, so that a pathspec that is a superset of
      a particular tree path will always cause it to recurse into that tree.
      
      As an example, let's say that we do
      
      	git-ls-tree HEAD drivers/char
      
      _without_ the "-r". What will happen is that it will start out doing all
      the base tree, and for "drivers" it will notice that it's a proper subset
      of "drivers/char", so it will always recurse into _that_ tree (but not
      into other trees).
      
      Then, it will not match anything else than "char" in that subdirectory,
      and because that's not a proper superset (it's an exact match), it will
      _not_ recurse into it, so you get:
      
      	[torvalds@g5 linux]$ ~/git/git-ls-tree HEAD drivers/char
      	040000 tree 9568cda453aae205bb58983747fa73b9696d9d51    drivers/char
      
      which is what you got with the old git-ls-tree too.
      
      But interestingly, if you add the slash, it will become a proper superset
      and it will recurse into _that_ subdirectory (but no deeper: so if you
      want all subdirectories _below_ drivers/char/, you still need to give
      "-r"):
      
      	[torvalds@g5 linux]$ ~/git/git-ls-tree HEAD drivers/char/
      	100644 blob 2b6b1d772ed776fff87927fc34adc2e40500218e    drivers/char/.gitignore
      	100644 blob 56b8a2e76ab10a5c21787cb7068a846075cbaffd    drivers/char/ChangeLog
      	100644 blob 970f70d498f4c814e1cf3362e33d7e23ac53c299    drivers/char/Kconfig
      	...
      
      See? This is on top of the previous two diffs, holler if you want a whole
      new "everything combined" version..
      
      It hasn't gotten lots of testing, but it should work.
      
      		Linus
      e2466376
    • L
      ls-tree: further cleanup to parallel ls-files. · b45c569b
      Linus Torvalds 提交于
      To get more a "git-ls-files" approach, this trivial patch (on top of my
      previous one) enables recursion, and doesn't show partial trees.
      
      [jc: after further discussion, this version enables recursion by default,
       and you can disable it with "-d" flag.
      
      	git-ls-tree -d HEAD Documentation/no/such/directory
      
       shows Documentation tree (without -d it shows nothing).
      
      	git-ls-tree HEAD
      
       shows everything from the tree.  Only to get the single level from the top
      
      	git-ls-tree -d HEAD
      
       is needed.  But there is no way to get the single level with pathspec.
       You need to extract the object name of Documentation tree from the parent
       tree and run
      
      	git-ls-tree -d $tree_id_of_Documentation_tree
      
       to get something similar to what you can get from the current
      
      	git-ls-tree HEAD Documentation
       ]
      b45c569b
    • L
      ls-tree: major rewrite to do pathspec · 3c5e8468
      Linus Torvalds 提交于
      git-ls-tree should be rewritten to use a pathspec the same way everybody
      else does. Right now it's the odd man out: if you do
      
      	git-ls-tree HEAD divers/char drivers/
      
      it will show the same files _twice_, which is not how pathspecs in general
      work.
      
      How about this patch? It breaks some of the git-ls-tree tests, but it
      makes git-ls-tree work a lot more like other git pathspec commands, and it
      removes more than 150 lines by re-using the recursive tree traversal (but
      the "-d" flag is gone for good, so I'm not pushing this too hard).
      
      		Linus
      3c5e8468
    • J
      write_name_quoted(): make one of the path a counted string. · 9ef2b3cb
      Junio C Hamano 提交于
      This is to prepare for ls-tree updates.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      9ef2b3cb
    • J
      Documentation: Describe merge operation a bit better. · ffb1a4be
      Junio C Hamano 提交于
      In git-merge documentation, add a section to describe what happens to
      the index and working tree during merge, and what their cleanliness
      requirements are before the merge.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      ffb1a4be
    • J
      Fix typo in http-push.c · 3e2f62be
      Jan Andres 提交于
      Typo resulted in accessing past the beginning of a string causing segfaults.
      
      [jc: signoffs?]
      3e2f62be
    • J
      name-rev: fix parent counting. · f2e6f1c9
      Junio C Hamano 提交于
      Noticed by linux@horizon.com.  The first merge parent (typically
      "our branch") is ^1, not ^0, and the first other branch is ^2.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      f2e6f1c9
    • J
      rebase: one safety net, one bugfix and one optimization. · 7f4bd5d8
      Junio C Hamano 提交于
      When a .dotest from a previously failed rebase or patch
      application exists, rebase got confused and tried to apply
      mixture of what was already there and what is being rebased.
      Check the existence of the directory and barf.
      
      It failed with an mysterious "fatal: cannot read mbox" message
      if the branch being rebased is fully in sync with the base.
      Also if the branch is a proper descendant of the base, there is
      no need to run rebase logic.  Prevent these from happening by
      checking where the merge-base is.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      7f4bd5d8
  4. 28 11月, 2005 7 次提交