1. 27 11月, 2006 2 次提交
  2. 22 11月, 2006 3 次提交
  3. 23 10月, 2006 1 次提交
  4. 01 10月, 2006 1 次提交
  5. 25 9月, 2006 1 次提交
    • J
      Deprecate merge-recursive.py · a06f678e
      Junio C Hamano 提交于
      This renames merge-recursive written in Python to merge-recursive-old,
      and makes merge-recur as a synonym to merge-recursive.  We do not remove
      merge-recur yet, but we will remove merge-recur and merge-recursive-old
      in a few releases down the road.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      a06f678e
  6. 14 7月, 2006 2 次提交
    • J
      recur vs recursive: help testing without touching too many stuff. · 06d30f4f
      Junio C Hamano 提交于
      During git-merge-recur development, you could set an environment
      variable GIT_USE_RECUR_FOR_RECURSIVE to use WIP recur in place
      of the recursive strategy.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      06d30f4f
    • J
      Status update on merge-recursive in C · 6d297f81
      Johannes Schindelin 提交于
      This is just an update for people being interested. Alex and me were
      busy with that project for a few days now. While it has progressed nicely,
      there are quite a couple TODOs in merge-recursive.c, just search for "TODO".
      
      For impatient people: yes, it passes all the tests, and yes, according
      to the evil test Alex did, it is faster than the Python script.
      
      But no, it is not yet finished. Biggest points are:
      
      - there are still three external calls
      - in the end, it should not be necessary to write the index more than once
        (just before exiting)
      - a lot of things can be refactored to make the code easier and shorter
      
      BTW we cannot just plug in git-merge-tree yet, because git-merge-tree
      does not handle renames at all.
      
      This patch is meant for testing, and as such,
      
      - it compile the program to git-merge-recur
      - it adjusts the scripts and tests to use git-merge-recur instead of
        git-merge-recursive
      - it provides "TEST", a script to execute the tests regarding -recursive
      - it inlines the changes to read-cache.c (read_cache_from(), discard_cache()
        and refresh_cache_entry())
      
      Brought to you by Alex Riesen and Dscho
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      6d297f81
  7. 12 7月, 2006 1 次提交
    • S
      Log ref changes made by git-merge and git-pull. · e1447e38
      Shawn Pearce 提交于
      When git-merge updates HEAD as a result of a merge record what
      happened during the merge into the reflog associated with HEAD
      (if any).  The log reports who caused the update (git-merge or
      git-pull, by invoking git-merge), what the remote ref names were
      and the type of merge process used.
      
      The merge information can be useful when reviewing a reflog for
      a branch such as `master` where fast forward and trivial in index
      merges might be common as the user tracks an upstream.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      e1447e38
  8. 28 6月, 2006 1 次提交
  9. 24 6月, 2006 2 次提交
    • J
      git-merge --squash · 7d0c6887
      Junio C Hamano 提交于
      Some people tend to do many little commits on a topic branch,
      recording all the trials and errors, and when the topic is
      reasonably cooked well, would want to record the net effect of
      the series as one commit on top of the mainline, removing the
      cruft from the history.  The topic is then abandoned or forked
      off again from that point at the mainline.
      
      The barebone porcelainish that comes with core git tools does
      not officially support such operation, but you can fake it by
      using "git pull --no-merge" when such a topic branch is not a
      strict superset of the mainline, like this:
      
      	git checkout mainline
      	git pull --no-commit . that-topic-branch
      	: fix conflicts if any
      	rm -f .git/MERGE_HEAD
              git commit -a -m 'consolidated commit log message'
      	git branch -f that-topic-branch ;# now fully merged
      
      This however does not work when the topic branch is a fast
      forward of the mainline, because normal "git pull" will never
      create a merge commit in such a case, and there is nothing
      special --no-commit could do to begin with.
      
      This patch introduces a new option, --squash, to support such a
      workflow officially in both fast-forward case and true merge
      case.  The user-level operation would be the same in both cases:
      
      	git checkout mainline
              git pull --squash . that-topic-branch
              : fix conflicts if any -- naturally, there would be
              : no conflict if fast forward.
      	git commit -a -m  'consolidated commit log message'
      	git branch -f that-topic-branch ;# now fully merged
      
      When the current branch is already up-to-date with respect to
      the other branch, there truly is nothing to do, so the new
      option does not have any effect.
      
      This was brought up in #git IRC channel recently.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      7d0c6887
    • T
      git-merge: Don't use -p when outputting summary · 5e7c91d6
      Timo Hirvonen 提交于
      -p is not needed and we only want diffstat and summary.
      Signed-off-by: NTimo Hirvonen <tihirvon@gmail.com>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      5e7c91d6
  10. 15 5月, 2006 1 次提交
  11. 20 4月, 2006 1 次提交
  12. 20 3月, 2006 1 次提交
  13. 10 3月, 2006 1 次提交
  14. 23 2月, 2006 2 次提交
    • J
      checkout - eye candy. · 744633cb
      Junio C Hamano 提交于
      This implements "eye candy" similar to the pack-object/unpack-object
      to entertain users while a large tree is being checked out after
      a clone or a pull.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      744633cb
    • J
      Keep Porcelainish from failing by broken ident after making changes. · d64e6b04
      Junio C Hamano 提交于
      "empty ident not allowed" error makes commit-tree fail, so we
      are already safer in that we would not end up with commit
      objects that have bogus names on the author or committer fields.
      However, before commit-tree is called there are already changes
      made to the index file and the working tree.  The operation can
      be resumed after fixing the environment problem, but when this
      triggers to a newcomer with unusable gecos, the first question
      becomes "what did I lose and how would I recover".
      
      This patch modifies some Porcelainish commands to verify
      GIT_COMMITTER_IDENT as soon as we know we are going to make some
      commits before doing much damage to prevent confusion.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      d64e6b04
  15. 19 2月, 2006 2 次提交
    • J
      Optionally work without python · abb7c7b3
      Johannes Schindelin 提交于
      In some setups (notably server setups) you do not need that dependency.
      Gracefully handle the absence of python when NO_PYTHON is defined.
      Signed-off-by: NJohannes E. Schindelin <Johannes.Schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      abb7c7b3
    • J
      Keep Porcelainish from failing by broken ident after making changes. · e3b59a44
      Junio C Hamano 提交于
      "empty ident not allowed" error makes commit-tree fail, so we
      are already safer in that we would not end up with commit
      objects that have bogus names on the author or committer fields.
      However, before commit-tree is called there are already changes
      made to the index file and the working tree.  The operation can
      be resumed after fixing the environment problem, but when this
      triggers to a newcomer with unusable gecos, the first question
      becomes "what did I lose and how would I recover".
      
      This patch modifies some Porcelainish commands to verify
      GIT_COMMITTER_IDENT as soon as we know we are going to make some
      commits before doing much damage to prevent confusion.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      e3b59a44
  16. 12 2月, 2006 1 次提交
  17. 07 2月, 2006 1 次提交
    • J
      git-rerere: reuse recorded resolve. · 8389b52b
      Junio C Hamano 提交于
      In a workflow that employs relatively long lived topic branches,
      the developer sometimes needs to resolve the same conflict over
      and over again until the topic branches are done (either merged
      to the "release" branch, or sent out and accepted upstream).
      
      This commit introduces a new command, "git rerere", to help this
      process by recording the conflicted automerge results and
      corresponding hand-resolve results on the initial manual merge,
      and later by noticing the same conflicted automerge and applying
      the previously recorded hand resolution using three-way merge.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      8389b52b
  18. 04 2月, 2006 1 次提交
  19. 28 1月, 2006 1 次提交
  20. 24 12月, 2005 1 次提交
  21. 14 12月, 2005 2 次提交
  22. 04 12月, 2005 1 次提交
  23. 26 11月, 2005 1 次提交
  24. 24 11月, 2005 1 次提交
    • J
      git-merge: make recursive the default strategy · fbf8ac21
      Junio C Hamano 提交于
      git-pull invoked merge with recursive as the default strategy
      for some time now; match it in the git-merge itself.  Also avoid
      listing more than one strategy on default because we have only
      one strategy that can resolve an octopus and we are already
      counting heads here.  This reduces the need to stash away local
      modifications.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      fbf8ac21
  25. 10 11月, 2005 1 次提交
  26. 04 11月, 2005 2 次提交
    • J
      Add 'ours' merge strategy. · 64da9e60
      Junio C Hamano 提交于
      This adds the coolest merge strategy ever, "ours".  It can take
      arbitrary number of foreign heads and merge them into the
      current branch, with the resulting tree always taken from our
      branch head, hence its name.
      
      What this means is that you can declare that the current branch
      supersedes the development histories of other branches using
      this merge strategy.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      64da9e60
    • J
      Add --no-commit to git-merge/git-pull. · 123ee3ca
      Junio C Hamano 提交于
      With --no-commit flag, git-pull will perform the merge but pretends as
      if the merge needed a hand resolve even if automerge cleanly resolves,
      to give the user a chance to add further changes and edit the commit
      message.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      123ee3ca
  27. 29 10月, 2005 1 次提交
  28. 22 10月, 2005 1 次提交
    • J
      Allow git-merge not to commit. · 4f692b19
      Junio C Hamano 提交于
      Martin Langhoff wants to use git-merge from outside git-pull and wants
      to do further processing; for this, he wants git-merge no to commit
      even when it cleanly merges.  I think other script writers would want
      something like that as well, so here it is.
      
      Instead of the "merge commit message" parameter (which usually is made
      for you by "git-pull" which calls this command), you pass an empty
      string to it.  Then it will not update your HEAD -- you can do whatever
      you want with the resulting index file, which contains the merge results.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      4f692b19
  29. 03 10月, 2005 2 次提交
    • F
      [PATCH] Enable and fix support for base less merges. · 88f8f0a5
      Fredrik Kuivinen 提交于
      Let the merge strategies handle the base less case if they are able to
      do it. It also fixes git-resolve.sh to die if no common ancestors
      exists, instead of doing the wrong thing. Furthermore, it contains a
      small independent fix for git-merge.sh and a fix for a base less code
      path in gitMergeCommon.py.
      
      With this it's possible to use
          git merge -s recursive 'merge message' A B
      to do a base less merge of A and B.
      
      [jc: Thanks Fredrik for fixing the brown-paper-bag in git-merge.
       I fixed a small typo in git-merge-resolve fix; 'test' equality
       check is spelled with single equal sign -- C-style double equal
       sign is bashism.]
      Signed-off-by: NFredrik Kuivinen <freku045@student.liu.se>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      88f8f0a5
    • J
      Handle really trivial case inside git-merge. · f9d72413
      Junio C Hamano 提交于
      Using Linus' --trivial option, this handles really trivial case
      inside git-merge itself, without using any strategy modules.
      
      A 'really trivial case' is:
      
       - we are merging one branch into the current branch;
       - there is only one merge base between the branches;
       - there is no file-level merge required.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      f9d72413
  30. 29 9月, 2005 1 次提交