{"thread":{"id":"6594","subject":"[PATCH] Fix git-update-index to work with relative pathnames","startedAt":"2007-01-31T13:48:57Z","lastAt":"2007-01-31T13:48:57Z","messageCount":1,"participants":["Alex Riesen"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"33131","messageId":"81b0412b0701310548i2925045cr598765b9e7d67b36@mail.gmail.com","threadId":"6594","inReplyTo":null,"subject":"[PATCH] Fix git-update-index to work with relative pathnames","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2007-01-31T13:48:57Z","receivedAt":"2007-01-31T13:48:57Z","isPatch":true,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"In particular, it fixes the following (typical for cygwin) problem:\n\n    $ git-update-index --chmod=-x ../wrapper/Jamfile\n    fatal: git-update-index: cannot chmod -x '../wrapper/Jamfile'\n\nSigned-off-by: Alex Riesen <raa.lkml@gmail.com>\n---\n builtin-update-index.c |    8 ++++++--\n 1 files changed, 6 insertions(+), 2 deletions(-)\n\n\nFrom e43acd17ccdd0b045a92fe1439554b310e3579c4 Mon Sep 17 00:00:00 2001\nFrom: Alex Riesen <raa.lkml@gmail.com>\nDate: Wed, 31 Jan 2007 14:34:17 +0100\nSubject: [PATCH] Fix git-update-index to work with relative pathnames.\n\nIn particular, it fixes the following (typical for cygwin) problem:\n\n    $ git-update-index --chmod=-x ../wrapper/Jamfile\n    fatal: git-update-index: cannot chmod -x '../wrapper/Jamfile'\n\nSigned-off-by: Alex Riesen <raa.lkml@gmail.com>\n---\n builtin-update-index.c |    8 ++++++--\n 1 files changed, 6 insertions(+), 2 deletions(-)\n\ndiff --git a/builtin-update-index.c b/builtin-update-index.c\nindex 182331d..82364c1 100644\n--- a/builtin-update-index.c\n+++ b/builtin-update-index.c\n@@ -501,6 +501,7 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)\n \n \tfor (i = 1 ; i < argc; i++) {\n \t\tconst char *path = argv[i];\n+\t\tchar *p;\n \n \t\tif (allow_options && *path == '-') {\n \t\t\tif (!strcmp(path, \"--\")) {\n@@ -616,9 +617,12 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)\n \t\t\t\tusage(update_index_usage);\n \t\t\tdie(\"unknown option %s\", path);\n \t\t}\n-\t\tupdate_one(path, prefix, prefix_length);\n+\t\tp = prefix_path(prefix, prefix_length, path);\n+\t\tupdate_one(p, NULL, 0);\n \t\tif (set_executable_bit)\n-\t\t\tchmod_path(set_executable_bit, path);\n+\t\t\tchmod_path(set_executable_bit, p);\n+\t\tif (p < path || p > path + strlen(path))\n+\t\t\tfree(p);\n \t}\n \tif (read_from_stdin) {\n \t\tstruct strbuf buf;\n-- \n1.5.0.rc2.150.gd174e\n\n"}]}