[PATCH] Make git-update-cache --force-remove regular

Subsystems: documentation, the rest

DORMANTno replies

3 messages, 2 authors, 2016-06-15 · open the first message on its own page

[PATCH] Make git-update-cache --force-remove regular

From: Petr Baudis <hidden>
Date: 2016-06-15 22:41:59

Make the --force-remove flag behave same as --add, --remove and
--replace. This means I can do

	git-update-cache --force-remove -- file1.c file2.c

which is probably saner and also makes it easier to use in cg-rm.

Signed-off-by: Petr Baudis <redacted>

---
commit 2cd99acef0c74c6218b51e058a3e045e1a8b7b66
tree 4e25708b4fd3ca1589833245a8e48bf87cb7fbde
parent 3e26fef188baa4626457fae25b0b63e1c788efcd
author Petr Baudis [off-list ref] Tue, 31 May 2005 18:51:56 +0200
committer Petr Baudis [off-list ref] Tue, 31 May 2005 18:51:56 +0200

 Documentation/git-update-cache.txt |    4 ++--
 update-cache.c                     |   12 +++++++-----
 2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/Documentation/git-update-cache.txt b/Documentation/git-update-cache.txt
--- a/Documentation/git-update-cache.txt
+++ b/Documentation/git-update-cache.txt
@@ -12,7 +12,7 @@ SYNOPSIS
 'git-update-cache'
 	     [--add] [--remove] [--refresh] [--replace]
 	     [--ignore-missing]
-	     [--force-remove <file>]
+	     [--force-remove]
 	     [--cacheinfo <mode> <object> <file>]\*
 	     [--] [<file>]\*
 
@@ -49,7 +49,7 @@ OPTIONS
 	
 --force-remove::
 	Remove the file from the index even when the working directory
-	still has such a file.
+	still has such a file. (Implies --remove.)
 
 --replace::
 	By default, when a file `path` exists in the index,
diff --git a/update-cache.c b/update-cache.c
--- a/update-cache.c
+++ b/update-cache.c
@@ -13,6 +13,7 @@
  * files be revision controlled.
  */
 static int allow_add = 0, allow_remove = 0, allow_replace = 0, not_new = 0;
+static int force_remove;
 
 /* Three functions to allow overloaded pointer return; see linux/err.h */
 static inline void *ERR_PTR(long error)
@@ -376,11 +377,7 @@ int main(int argc, char **argv)
 				continue;
 			}
 			if (!strcmp(path, "--force-remove")) {
-				if (argc <= i + 1)
-					die("git-update-cache: --force-remove <path>");
-				if (remove_file_from_cache(argv[i+1]))
-					die("git-update-cache: --force-remove cannot remove %s", argv[i+1]);
-				i++;
+				force_remove = 1;
 				continue;
 			}
 
@@ -394,6 +391,11 @@ int main(int argc, char **argv)
 			fprintf(stderr, "Ignoring path %s\n", argv[i]);
 			continue;
 		}
+		if (force_remove) {
+			if (remove_file_from_cache(path))
+				die("git-update-cache: --force-remove cannot remove %s", path);
+			continue;
+		}
 		if (add_file_to_cache(path))
 			die("Unable to add %s to database", path);
 	}
|
-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor

Re: [PATCH] Make git-update-cache --force-remove regular

From: Petr Baudis <hidden>
Date: 2016-06-15 22:41:59

Dear diary, on Tue, May 31, 2005 at 06:52:43PM CEST, I got a letter
where Petr Baudis [off-list ref] told me that...
Make the --force-remove flag behave same as --add, --remove and
--replace. This means I can do

	git-update-cache --force-remove -- file1.c file2.c

which is probably saner and also makes it easier to use in cg-rm.

Signed-off-by: Petr Baudis <redacted>
Can this go in, please? Currently it's the only delta between your and
my git tree, so I'd like to get it merged so that Cogito works with
stock git again.

Thanks,

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor

Re: [PATCH] Make git-update-cache --force-remove regular

From: Linus Torvalds <torvalds@osdl.org>
Date: 2016-06-15 22:41:59


On Mon, 6 Jun 2005, Petr Baudis wrote:
Can this go in, please? Currently it's the only delta between your and
my git tree, so I'd like to get it merged so that Cogito works with
stock git again.
Done.

		Linus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help