gitgit-index

Undo "git update-index --assume-unchanged" is not working (in conjunction with --no-skip-worktree)


I have read Undo git update-index --assume-unchanged file, but alas, nothing does work:

whatever/.idea > git ls-files -v
S ant.xml

I tried:

git update-index --no-assume-unchanged --no-skip-worktree ant.xml

Just completes, but when I do git ls-files -v again: same result. And albeit I have a clean git status, when I do fetch/rebase respectively pull, I end up with:

error: Your local changes to the following files would be overwritten by merge:
    .idea/ant.xml
Please commit your changes or stash them before you merge.

(btw: git update-index --really-refresh also ... show nothing)

What am I missing here, how can I convince git to start treating that ant.xml as normal, tracked file again?


Solution

  • Use:

    git update-index --no-skip-worktree ant.xml
    

    The problem is that:

    git update-index --no-assume-unchanged --no-skip-worktree ant.xml
    

    obeys only the first --no option: it clears the assume-unchanged bit (which was already clear), leaving the skip-worktree bit unchanged (it's set and remains set).

    (The update-index command shouldn't behave this way, but it does.)