Implement git-update-cache --force-remove <path>
authorJunio C Hamano <junkio@cox.net>
Mon, 2 May 2005 06:50:51 +0000 (23:50 -0700)
committerJunio C Hamano <junkio@cox.net>
Mon, 2 May 2005 06:50:51 +0000 (23:50 -0700)
This new flag tells git-update-cache to remove the named path even
when the work tree still happens to have the file. It is used to
update git-merge-one-file-script not to smudge the work tree.

Signed-off-by: Junio C Hamano <junkio@cox.net>
update-cache.c
index 0401372e47b2783b67b02415bdbba79ebfd6e92a..bb25fa114c1017380c8441f514ae2e66beef1e68 100644 (file)
@@ -306,6 +306,15 @@ int main(int argc, char **argv)
                                i += 3;
                                continue;
                        }
+                       if (!strcmp(path, "--force-remove")) {
+                               if (argc <= i + 1)
+                                       die("update-cache: --force-remove <path>");
+                               if (remove_file_from_cache(argv[i+1]))
+                                       die("update-cache: --force-remove cannot remove %s", argv[i+1]);
+                               i++;
+                               continue;
+                       }
+
                        if (!strcmp(path, "--ignore-missing")) {
                                not_new = 1;
                                continue;