mirror of
https://github.com/git/git.git
synced 2024-11-28 04:23:30 +08:00
merge-index: fix longstanding bug in merging symlinks
Ancient commite2b6a9d0
added code to pass "file modes" from merge-index to merge-one-file, and then later commit54dd99a1
wanted to make sure we do not end up creating a nonsense symlink that points at a path whose name contains conflict markers. However, nobody noticed that the code in merge-index added bye2b6a9d0
were stripping the S_IFMT bits and the code in54dd99a1
was meaningless. This fixes it. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
437b1b20df
commit
308efc10d8
@ -60,7 +60,7 @@ static int merge_entry(int pos, const char *path)
|
||||
break;
|
||||
found++;
|
||||
strcpy(hexbuf[stage], sha1_to_hex(ce->sha1));
|
||||
sprintf(ownbuf[stage], "%o", ntohl(ce->ce_mode) & (~S_IFMT));
|
||||
sprintf(ownbuf[stage], "%o", ntohl(ce->ce_mode));
|
||||
arguments[stage] = hexbuf[stage];
|
||||
arguments[stage + 4] = ownbuf[stage];
|
||||
} while (++pos < active_nr);
|
||||
|
Loading…
Reference in New Issue
Block a user