Add 'ours' merge strategy.

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: Junio C Hamano <junkio@cox.net>
4 files changed
tree: 520ffc10b69b8bf3993f49c2d91685820e96b85d
  1. arm/
  2. compat/
  3. debian/
  4. Documentation/
  5. mozilla-sha1/
  6. ppc/
  7. t/
  8. templates/
  9. .gitignore
  10. apply.c
  11. blob.c
  12. blob.h
  13. cache.h
  14. cat-file.c
  15. check-ref-format.c
  16. checkout-index.c
  17. clone-pack.c
  18. cmd-rename.sh
  19. commit-tree.c
  20. commit.c
  21. commit.h
  22. config.c
  23. connect.c
  24. convert-objects.c
  25. copy.c
  26. COPYING
  27. count-delta.c
  28. count-delta.h
  29. csum-file.c
  30. csum-file.h
  31. ctype.c
  32. daemon.c
  33. date.c
  34. delta.h
  35. diff-delta.c
  36. diff-files.c
  37. diff-index.c
  38. diff-stages.c
  39. diff-tree.c
  40. diff.c
  41. diff.h
  42. diffcore-break.c
  43. diffcore-order.c
  44. diffcore-pathspec.c
  45. diffcore-pickaxe.c
  46. diffcore-rename.c
  47. diffcore.h
  48. entry.c
  49. environment.c
  50. epoch.c
  51. epoch.h
  52. fetch-pack.c
  53. fetch.c
  54. fetch.h
  55. fsck-objects.c
  56. get-tar-commit-id.c
  57. git-add.sh
  58. git-am.sh
  59. git-applymbox.sh
  60. git-applypatch.sh
  61. git-archimport.perl
  62. git-bisect.sh
  63. git-branch.sh
  64. git-checkout.sh
  65. git-cherry.sh
  66. git-clone.sh
  67. git-commit.sh
  68. git-core.spec.in
  69. git-count-objects.sh
  70. git-cvsimport.perl
  71. git-diff.sh
  72. git-fetch.sh
  73. git-fmt-merge-msg.perl
  74. git-format-patch.sh
  75. git-grep.sh
  76. git-log.sh
  77. git-ls-remote.sh
  78. git-merge-octopus.sh
  79. git-merge-one-file.sh
  80. git-merge-ours.sh
  81. git-merge-recursive.py
  82. git-merge-resolve.sh
  83. git-merge-stupid.sh
  84. git-merge.sh
  85. git-mv.perl
  86. git-octopus.sh
  87. git-parse-remote.sh
  88. git-prune.sh
  89. git-pull.sh
  90. git-push.sh
  91. git-rebase.sh
  92. git-relink.perl
  93. git-rename.perl
  94. git-repack.sh
  95. git-request-pull.sh
  96. git-reset.sh
  97. git-resolve.sh
  98. git-revert.sh
  99. git-send-email.perl
  100. git-sh-setup.sh
  101. git-shortlog.perl
  102. git-status.sh
  103. git-svnimport.perl
  104. git-tag.sh
  105. git-verify-tag.sh
  106. git-whatchanged.sh
  107. git.sh
  108. gitk
  109. gitMergeCommon.py
  110. hash-object.c
  111. http-fetch.c
  112. ident.c
  113. index-pack.c
  114. index.c
  115. init-db.c
  116. INSTALL
  117. local-fetch.c
  118. ls-files.c
  119. ls-tree.c
  120. mailinfo.c
  121. mailsplit.c
  122. Makefile
  123. merge-base.c
  124. merge-index.c
  125. mktag.c
  126. name-rev.c
  127. object.c
  128. object.h
  129. pack-check.c
  130. pack-objects.c
  131. pack.h
  132. patch-delta.c
  133. patch-id.c
  134. path.c
  135. peek-remote.c
  136. pkt-line.c
  137. pkt-line.h
  138. prune-packed.c
  139. quote.c
  140. quote.h
  141. read-cache.c
  142. read-tree.c
  143. README
  144. receive-pack.c
  145. refs.c
  146. refs.h
  147. rev-list.c
  148. rev-parse.c
  149. rsh.c
  150. rsh.h
  151. run-command.c
  152. run-command.h
  153. send-pack.c
  154. server-info.c
  155. setup.c
  156. sha1_file.c
  157. sha1_name.c
  158. shell.c
  159. show-branch.c
  160. show-index.c
  161. ssh-fetch.c
  162. ssh-pull.c
  163. ssh-push.c
  164. ssh-upload.c
  165. strbuf.c
  166. strbuf.h
  167. stripspace.c
  168. symbolic-ref.c
  169. tag.c
  170. tag.h
  171. tar-tree.c
  172. test-date.c
  173. test-delta.c
  174. tree-diff.c
  175. tree.c
  176. tree.h
  177. unpack-file.c
  178. unpack-objects.c
  179. update-index.c
  180. update-ref.c
  181. update-server-info.c
  182. upload-pack.c
  183. usage.c
  184. var.c
  185. verify-pack.c
  186. write-tree.c