1. 31 8月, 2007 7 次提交
  2. 30 8月, 2007 3 次提交
  3. 29 8月, 2007 11 次提交
  4. 28 8月, 2007 7 次提交
    • J
      "format-patch --root rev" is the way to show everything. · 8a1d076e
      Junio C Hamano 提交于
      We used to trigger the special case "things not in origin"
      semantics only when one and only one positive ref is given, and
      no number (e.g. "git format-patch -4 origin") was specified, and
      used the general revision range semantics for everything else.
      
      This narrows the special case a bit more, by making:
      
      	git format-patch --root this_version
      
      to show everything that leads to the named commit.
      
      More importantly, document the two different semantics better.
      The generic revision range semantics came later and bolted on
      without being clearly documented.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      8a1d076e
    • J
      Porcelain level "log" family should recurse when diffing. · 170c0438
      Junio C Hamano 提交于
      Most notably, "git log --name-status" stopped at top level
      directory changes without "-r" option.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      170c0438
    • J
      git-merge: do up-to-date check also for all strategies · a0050852
      Junio C Hamano 提交于
      This clarifies the logic to omit fast-forward check and omit
      trivial merge before running the specified strategy.
      
      The "index_merge" variable started out as a flag to say "do not
      do anything clever", but when recursive was changed to skip the
      trivial merge, the semantics were changed and the variable alone
      does not make sense anymore.
      
      This splits the variable into two, allow_fast_forward (which is
      almost always true, and avoids making a merge commit when the
      other commit is a descendant of our branch, but is set to false
      for ours and subtree) and allow_trivial_merge (which is false
      for ours, recursive and subtree).
      
      Unlike the earlier implementation, the "ours" strategy allows an
      up-to-date condition.  When we are up-to-date, the result will
      be our commit, and by definition, we will have our tree as the
      result.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      a0050852
    • J
      git --bare cmd: do not unconditionally nuke GIT_DIR · 9277d602
      Junio C Hamano 提交于
      "GIT_DIR=some.where git --bare cmd" and worse yet
      "git --git-dir=some.where --bare cmd" were very confusing.  They
      both ignored git-dir specified, and instead made $cwd as GIT_DIR.
      
      This changes --bare not to override existing GIT_DIR.
      
      This has been like this for a long time.  Let's hope nobody sane
      relied on this insane behaviour.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      9277d602
    • J
      Fix initialization of a bare repository · 6adcca3f
      Junio C Hamano 提交于
      Here is my attempt to fix this with a minimally intrusive patch.
      
       * As "git --bare init" cannot tell if it was called with --bare or
         just "GIT_DIR=. git init", I added an explicit assignment of
         is_bare_repository_cfg on the codepath for "git --bare".
      
       * GIT_WORK_TREE alone without GIT_DIR does not make any sense,
         nor GIT_WORK_TREE with an explicit "git --bare".  Catch that
         mistake.  It might make sense to move this check to "git.c"
         side as well, but I tried to shoot for the minimum change for
         now.
      
       * Some scripts, especially from the olden days, rely on
         traditional GIT_DIR behaviour in "git init".  Namely, these
         are some notable patterns:
      
         (create a bare repository)
         - mkdir some.git && cd some.git && GIT_DIR=. git init
         - mkdir some.git && cd some.git && git --bare init
      
         (create a non-bare repository)
         - mkdir .git && GIT_DIR=.git git init
         - mkdir .git && GIT_DIR=`pwd`/.git git init
      
      This comes with a new test script and also passes the existing
      test suite, but there may be cases that are still broken with
      the current tip of master and this patch does not yet fix.  I'd
      appreciate help in straightening this mess out.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6adcca3f
    • J
      name-rev: Fix non-shortest description · ac076c29
      Johannes Schindelin 提交于
      Uwe Kleine-König noticed that under certain circumstances, name-rev
      picked a non-optimal tag.  Jeff King analyzed that name-rev only
      takes into account the number of merge traversals, and then the
      _last_ number in the description.
      
      As an easy way to fix it, use a weighting factor for merge traversals:
      A merge traversal is now made 65535 times more expensive than a
      first-parent traversal.
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Acked-by: NUwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      ac076c29
    • M
      2b9232cc
  5. 27 8月, 2007 7 次提交
  6. 26 8月, 2007 5 次提交