From: Nguyễn Thái Ngọc Duy Date: Fri, 05 Dec 2014 10:56:14 GMT Subject: [PATCH] commit: ignore assume-unchanged files in "commmit " mode Message-ID: <1417776974-6537-1-git-send-email-pclouds@gmail.com> In-Reply-To: <1417732931.20814.16.camel@segulix> In the same spirit of 7fce6e3 (commit: correctly respect skip-worktree bit - 2009-12-14), if a file is marked unchanged, skip it. Noticed-by: Sérgio Basto Signed-off-by: Nguyễn Thái Ngọc Duy --- builtin/commit.c | 2 +- t/t2106-update-index-assume-unchanged.sh | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/builtin/commit.c b/builtin/commit.c index e108c53..ee3de12 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -252,7 +252,7 @@ static int list_paths(struct string_list *list, const char *with_tree, if (!ce_path_match(ce, pattern, m)) continue; item = string_list_insert(list, ce->name); - if (ce_skip_worktree(ce)) + if (ce->ce_flags & (CE_VALID | CE_SKIP_WORKTREE)) item->util = item; /* better a valid pointer than a fake one */ } diff --git a/t/t2106-update-index-assume-unchanged.sh b/t/t2106-update-index-assume-unchanged.sh index 99d858c..dc332f5 100755 --- a/t/t2106-update-index-assume-unchanged.sh +++ b/t/t2106-update-index-assume-unchanged.sh @@ -21,4 +21,14 @@ test_expect_success 'do not switch branches with dirty file' \ git update-index --assume-unchanged file && test_must_fail git checkout master' +test_expect_success 'commit ignore assume-unchanged files' ' + : >anotherfile && + git add anotherfile && + echo dirty >anotherfile && + git commit -m one -- file anotherfile && + git diff --name-only HEAD^ HEAD >actual && + echo anotherfile >expected && + test_cmp expected actual +' + test_done -- 2.2.0.60.gb7b3c64