git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: make update-index --chmod work with multiple files and --stdin

From
Alex Riesen <raa.lkml@gmail.com>
Date
Apr 23, 2006, 07:08 UTC
Message-ID
<20060423070843.GB5802@steel.home>
In-Reply-To
<7v1wvpi010.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano, Sun, Apr 23, 2006 02:54:51 +0200:
Show 12 quoted lines
> Alex Riesen <raa.lkml@gmail.com> writes:
> 
> > I had a project where lots of files were "accidentally" marked +x, and
> > doing plain "git-update-index --chmod=-x" for each file was too slow.
> > Besides, it's somewhat inconsistent, that --chmod does work only for
> > one subsequent file.
> 
> If you are doing that on the command line, people may want to
> have a way to mean "from here on do not do chmod, just do normal
> update-index and nothing else" by resetting the chmod_mode thing
> back to zero.  Nothing major, and we do not do that to allow_add
> and allow_remove either, but just a thought.

I am unsure about this. I'm even attaching instead of inlining the patches, to make it clear how unsure I am :)

I have a feeling that it's more understandable to just use two separate commands. Besides, the reset switch makes it impossible to use pathname disambiguation ("--"). Unsure...

>From nobody Mon Sep 17 00:00:00 2001
From: Junio C Hamano <junkio@cox.net>
Date: Sun Apr 23 08:38:04 2006 +0200
Subject: git-update-index --no-chmod
Message-ID: <7v1wvpi010.fsf@assigned-by-dhcp.cox.net>
Alex Riesen <raa.lkml@gmail.com> writes:
> I had a project where lots of files were "accidentally" marked +x, and
> doing plain "git-update-index --chmod=-x" for each file was too slow.
> Besides, it's somewhat inconsistent, that --chmod does work only for
> one subsequent file.

If you are doing that on the command line, people may want to have a way to mean "from here on do not do chmod, just do normal update-index and nothing else" by resetting the chmod_mode thing back to zero. Nothing major, and we do not do that to allow_add and allow_remove either, but just a thought.

---
 update-index.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
2972ef33fa4b04f07d4f4dbb9e13d5b9b2d593b4
diff --git a/update-index.c b/update-index.c
index a8582ea..1ed36fa 100644
--- a/update-index.c
+++ b/update-index.c
@@ -551,6 +551,10 @@ int main(int argc, const char **argv)
 				set_executable_bit = path[8];
 				continue;
 			}
+			if (!strcmp(path, "--no-chmod")) {
+				set_executable_bit = 0;
+				continue;
+			}
 			if (!strcmp(path, "--assume-unchanged")) {
 				mark_valid_only = MARK_VALID;
 				continue;
-- 
1.3.0.gc2941



>From nobody Mon Sep 17 00:00:00 2001
From: Junio C Hamano <junkio@cox.net>
Date: Sun Apr 23 08:43:42 2006 +0200
Subject: git-update-index: add --no-add and --no-remove

Message-ID: <7v1wvpi010.fsf@assigned-by-dhcp.cox.net>

Alex Riesen <raa.lkml@gmail.com> writes:

> I had a project where lots of files were "accidentally" marked +x, and
> doing plain "git-update-index --chmod=-x" for each file was too slow.
> Besides, it's somewhat inconsistent, that --chmod does work only for
> one subsequent file.

If you are doing that on the command line, people may want to
have a way to mean "from here on do not do chmod, just do normal
update-index and nothing else" by resetting the chmod_mode thing
back to zero.  Nothing major, and we do not do that to allow_add
and allow_remove either, but just a thought.

---

 update-index.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

89bceee48996f366a779b0c95ba230ec24fea340
diff --git a/update-index.c b/update-index.c
index 1ed36fa..cbee859 100644
--- a/update-index.c
+++ b/update-index.c
@@ -509,6 +509,10 @@ int main(int argc, const char **argv)
 				allow_add = 1;
 				continue;
 			}
+			if (!strcmp(path, "--no-add")) {
+				allow_add = 0;
+				continue;
+			}
 			if (!strcmp(path, "--replace")) {
 				allow_replace = 1;
 				continue;
@@ -517,6 +521,10 @@ int main(int argc, const char **argv)
 				allow_remove = 1;
 				continue;
 			}
+			if (!strcmp(path, "--no-remove")) {
+				allow_remove = 0;
+				continue;
+			}
 			if (!strcmp(path, "--unmerged")) {
 				allow_unmerged = 1;
 				continue;
-- 
1.3.0.gc2941
Previous: Alex Riesen
Message 4 of 4 in “make update-index --chmod work with multiple files and --stdin”
  1. Alex RiesenApr 22, 2006
  2. Junio C HamanoApr 23, 2006
  3. Alex RiesenApr 23, 2006
  4. Alex RiesenApr 23, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.