Re: Git revert cannot be aborted if the repository directory has been copied
- From
- Kristoffer Haugsbakk <kristofferhaugsbakk@fastmail.com>
- Date
- Nov 3, 2024, 15:04 UTC
- Message-ID
- <9fd66b8f-c457-451b-9862-6121128b2786@app.fastmail.com>
- In-Reply-To
- <xmqqo72xxcxo.fsf@gitster.g>
On Sun, Nov 3, 2024, at 03:34, Junio C Hamano wrote:
Show 11 quoted lines
> Marco Stephan <marc.stephan96@hotmail.de> writes: > >> If you copy a Git repository directory to another path while there is a revert in progress for the Git repository, "git revert --abort" does not work anymore for the copied repository. Instead, it will report an error of the following format: >> error: Entry '...' not uptodate. Cannot merge. >> fatal: Could not reset index file to revision '...'. > > I wonder if > > $ git update-index --refresh > > is all it takes.
This is correct. This successful test can be added to t3501-revert-cherry-pick.sh:
``` test_expect_success 'cp -r repo in the middle of a revert' ' test_when_finished rm -r new-repo && test_when_finished rm -r copy-repo && test_create_repo new-repo && ( cd new-repo && echo nul >test.txt && git add test.txt && git commit -m "Initial commit" && echo test >test.txt && git add test.txt && git commit -m "Changes" && git revert HEAD --no-commit ) && cp -r new-repo copy-repo && ( cd copy-repo && # Needed in order to avoid # error: Entry test.txt not uptodate. Cannot merge. git update-index --refresh && git revert --abort ) ' ```
-- Kristoffer Haugsbakk