From: Lennert Buytenhek Date: Sun, 01 May 2005 08:59:22 GMT Subject: Re: update-cache ./test.c Message-ID: <20050501085922.GC30692@xi.wantstofly.org> In-Reply-To: <20050501085427.GB30692@xi.wantstofly.org> On Sun, May 01, 2005 at 10:54:27AM +0200, Lennert Buytenhek wrote: > But that wasn't quite the point :) It makes sense that update-cache > doesn't like ambiguous path names, but it's easier for update-cache to > detect and strip "^./" than for me to remember to type sed "s#^./##" > every time. Something like this: --- git/update-cache.c.orig 2005-05-01 10:56:17.859313581 +0200 +++ git/update-cache.c 2005-05-01 10:57:31.634897508 +0200 @@ -328,6 +328,7 @@ for (i = 1 ; i < argc; i++) { char *path = argv[i]; + char *_path; if (allow_options && *path == '-') { if (!strcmp(path, "--")) { @@ -358,12 +359,15 @@ } die("unknown option %s", path); } - if (!verify_path(path)) { + _path = path; + if (!strncmp(_path, "./", 2)) + _path += 2; + if (!verify_path(_path)) { fprintf(stderr, "Ignoring path %s\n", argv[i]); continue; } - if (add_file_to_cache(path)) - die("Unable to add %s to database", path); + if (add_file_to_cache(_path)) + die("Unable to add %s to database", _path); } if (write_cache(newfd, active_cache, active_nr) || rename(lockfile, indexfile)) die("Unable to write new cachefile");