mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
Merge branch 'sb/diff-orderfile-config'
Allow "git diff -O<file>" to be configured with a new configuration variable. * sb/diff-orderfile-config: diff: add diff.orderfile configuration variable diff: let "git diff -O" read orderfile from any file and fail properly t4056: add new tests for "git diff -O"
This commit is contained in:
@@ -10,28 +10,21 @@ static int order_cnt;
|
||||
|
||||
static void prepare_order(const char *orderfile)
|
||||
{
|
||||
int fd, cnt, pass;
|
||||
int cnt, pass;
|
||||
struct strbuf sb = STRBUF_INIT;
|
||||
void *map;
|
||||
char *cp, *endp;
|
||||
struct stat st;
|
||||
size_t sz;
|
||||
ssize_t sz;
|
||||
|
||||
if (order)
|
||||
return;
|
||||
|
||||
fd = open(orderfile, O_RDONLY);
|
||||
if (fd < 0)
|
||||
return;
|
||||
if (fstat(fd, &st)) {
|
||||
close(fd);
|
||||
return;
|
||||
}
|
||||
sz = xsize_t(st.st_size);
|
||||
map = mmap(NULL, sz, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
|
||||
close(fd);
|
||||
if (map == MAP_FAILED)
|
||||
return;
|
||||
sz = strbuf_read_file(&sb, orderfile, 0);
|
||||
if (sz < 0)
|
||||
die_errno(_("failed to read orderfile '%s'"), orderfile);
|
||||
map = strbuf_detach(&sb, NULL);
|
||||
endp = (char *) map + sz;
|
||||
|
||||
for (pass = 0; pass < 2; pass++) {
|
||||
cnt = 0;
|
||||
cp = map;
|
||||
|
||||
Reference in New Issue
Block a user