提交 9ebe6cf9 编写于 作者: A Alex Riesen 提交者: Junio C Hamano

Fix git-update-index to work with relative pathnames.

In particular, it fixes the following (typical for cygwin) problem:

    $ git-update-index --chmod=-x ../wrapper/Jamfile
    fatal: git-update-index: cannot chmod -x '../wrapper/Jamfile'
Signed-off-by: NAlex Riesen <raa.lkml@gmail.com>
Signed-off-by: NJunio C Hamano <junkio@cox.net>
上级 4a91a1f3
......@@ -501,6 +501,7 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
for (i = 1 ; i < argc; i++) {
const char *path = argv[i];
const char *p;
if (allow_options && *path == '-') {
if (!strcmp(path, "--")) {
......@@ -616,9 +617,12 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
usage(update_index_usage);
die("unknown option %s", path);
}
update_one(path, prefix, prefix_length);
p = prefix_path(prefix, prefix_length, path);
update_one(p, NULL, 0);
if (set_executable_bit)
chmod_path(set_executable_bit, path);
chmod_path(set_executable_bit, p);
if (p < path || p > path + strlen(path))
free((char*)p);
}
if (read_from_stdin) {
struct strbuf buf;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册