Junio C Hamano, Sun, Apr 23, 2006 02:54:51 +0200: > Alex Riesen <raa.lkml@xxxxxxxxx> 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@xxxxxxx> Date: Sun Apr 23 08:38:04 2006 +0200 Subject: git-update-index --no-chmod Message-ID: <7v1wvpi010.fsf@xxxxxxxxxxxxxxxxxxxxxxxx> Alex Riesen <raa.lkml@xxxxxxxxx> 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@xxxxxxx> Date: Sun Apr 23 08:43:42 2006 +0200 Subject: git-update-index: add --no-add and --no-remove Message-ID: <7v1wvpi010.fsf@xxxxxxxxxxxxxxxxxxxxxxxx> Alex Riesen <raa.lkml@xxxxxxxxx> 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