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

Re: Feature Request: git mv --after (new flag)

From
KKKonstantin Khomoutov <kostix@bswap.ru>
Date
Aug 4, 2025, 15:02 UTC
Message-ID
<hi7t3qk7difgzip7syscarnf5ui5avnhmjxil4vzurwcfo7a6x@drccf7gibn72>
In-Reply-To
<2f505f75-112a-4b71-bb05-ea0cb7731cd7@fmorschel.dev>
On Mon, Aug 04, 2025 at 02:05:32PM +0000, FMorschel wrote:
Show 7 quoted lines
> This is a request to add an –after mode to git mv command to explicitly 
> mark a filesystem rename after it has occurred (analogous to mercurial 
> => hg mv –after).
> 
> This would allow IDE/Language refactor renames/moves and would make sure 
> git still detects the moves correctly for keeping the correct commit 
> history.

Git does not track renames in the commits in creates, so, basically, if you have a file foo.txt under the Git's control, and do

  $ git mv foo.txt bar.txt
  $ git commit

The recorded commit will reference a tree object which will - compared to the tree object of the preceding commit - have an entry for bar.txt and not have an entry for foo.txt.

Hence a command like "git mv --after", if implemented, would be a pure syntactic sugar for "git rm <old_name> && git add <new_name>".

Previous: FMorschelNext: FMorschel
Message 2 of 10 in “Feature Request: git mv --after (new flag)”
  1. FMorschelAug 4, 2025
  2. Konstantin KhomoutovAug 4, 2025
  3. FMorschelAug 4, 2025
  4. Kristoffer HaugsbakkAug 4, 2025
  5. Junio C HamanoAug 4, 2025
  6. Konstantin KhomoutovAug 5, 2025
  7. FMorschelAug 5, 2025
  8. Junio C HamanoAug 6, 2025
  9. Johannes SixtAug 5, 2025
  10. Junio C HamanoAug 5, 2025

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.