Browse Source
Except that this fixes a longstanding corner case bug by tightening the way underlying diff-index command is run, it is functionally equivalent to the scripted version. Signed-off-by: Thomas Harning Jr <harningt@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
Thomas Harning
17 years ago
committed by
Junio C Hamano
5 changed files with 32 additions and 1 deletions
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
/* |
||||
* Implementation of git-merge-ours.sh as builtin |
||||
* |
||||
* Copyright (c) 2007 Thomas Harning Jr |
||||
* Original: |
||||
* Original Copyright (c) 2005 Junio C Hamano |
||||
* |
||||
* Pretend we resolved the heads, but declare our tree trumps everybody else. |
||||
*/ |
||||
#include "git-compat-util.h" |
||||
#include "builtin.h" |
||||
|
||||
static const char *diff_index_args[] = { |
||||
"diff-index", "--quiet", "--cached", "HEAD", "--", NULL |
||||
}; |
||||
#define NARGS (ARRAY_SIZE(diff_index_args) - 1) |
||||
|
||||
int cmd_merge_ours(int argc, const char **argv, const char *prefix) |
||||
{ |
||||
/* |
||||
* We need to exit with 2 if the index does not match our HEAD tree, |
||||
* because the current index is what we will be committing as the |
||||
* merge result. |
||||
*/ |
||||
if (cmd_diff_index(NARGS, diff_index_args, prefix)) |
||||
exit(2); |
||||
exit(0); |
||||
} |
Loading…
Reference in new issue