зеркало из https://github.com/microsoft/git.git
rerere: honor conflict-marker-size attribute
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
191f241717
Коммит
8588567c96
15
ll-merge.c
15
ll-merge.c
|
@ -380,3 +380,18 @@ int ll_merge(mmbuffer_t *result_buf,
|
||||||
ours, our_label, theirs, their_label,
|
ours, our_label, theirs, their_label,
|
||||||
virtual_ancestor, marker_size);
|
virtual_ancestor, marker_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ll_merge_marker_size(const char *path)
|
||||||
|
{
|
||||||
|
static struct git_attr_check check;
|
||||||
|
int marker_size = DEFAULT_CONFLICT_MARKER_SIZE;
|
||||||
|
|
||||||
|
if (!check.attr)
|
||||||
|
check.attr = git_attr("conflict-marker-size");
|
||||||
|
if (!git_checkattr(path, 1, &check) && check.value) {
|
||||||
|
marker_size = atoi(check.value);
|
||||||
|
if (marker_size <= 0)
|
||||||
|
marker_size = DEFAULT_CONFLICT_MARKER_SIZE;
|
||||||
|
}
|
||||||
|
return marker_size;
|
||||||
|
}
|
||||||
|
|
|
@ -12,4 +12,6 @@ int ll_merge(mmbuffer_t *result_buf,
|
||||||
mmfile_t *theirs, const char *their_label,
|
mmfile_t *theirs, const char *their_label,
|
||||||
int virtual_ancestor);
|
int virtual_ancestor);
|
||||||
|
|
||||||
|
int ll_merge_marker_size(const char *path);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
5
rerere.c
5
rerere.c
|
@ -5,6 +5,7 @@
|
||||||
#include "dir.h"
|
#include "dir.h"
|
||||||
#include "resolve-undo.h"
|
#include "resolve-undo.h"
|
||||||
#include "ll-merge.h"
|
#include "ll-merge.h"
|
||||||
|
#include "attr.h"
|
||||||
|
|
||||||
/* if rerere_enabled == -1, fall back to detection of .git/rr-cache */
|
/* if rerere_enabled == -1, fall back to detection of .git/rr-cache */
|
||||||
static int rerere_enabled = -1;
|
static int rerere_enabled = -1;
|
||||||
|
@ -221,7 +222,7 @@ static int handle_file(const char *path, unsigned char *sha1, const char *output
|
||||||
{
|
{
|
||||||
int hunk_no = 0;
|
int hunk_no = 0;
|
||||||
struct rerere_io_file io;
|
struct rerere_io_file io;
|
||||||
int marker_size = 7;
|
int marker_size = ll_merge_marker_size(path);
|
||||||
|
|
||||||
memset(&io, 0, sizeof(io));
|
memset(&io, 0, sizeof(io));
|
||||||
io.io.getline = rerere_file_getline;
|
io.io.getline = rerere_file_getline;
|
||||||
|
@ -288,7 +289,7 @@ static int handle_cache(const char *path, unsigned char *sha1, const char *outpu
|
||||||
struct cache_entry *ce;
|
struct cache_entry *ce;
|
||||||
int pos, len, i, hunk_no;
|
int pos, len, i, hunk_no;
|
||||||
struct rerere_io_mem io;
|
struct rerere_io_mem io;
|
||||||
int marker_size = 7;
|
int marker_size = ll_merge_marker_size(path);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Reproduce the conflicted merge in-core
|
* Reproduce the conflicted merge in-core
|
||||||
|
|
Загрузка…
Ссылка в новой задаче