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

Re: merge renamed files/directories?

From
Jakub Narebski <jnareb@gmail.com>
Date
May 4, 2008, 09:34 UTC
Message-ID
<m3zlr65s6j.fsf@localhost.localdomain>
In-Reply-To
<481D52CC.1030503@tikalk.com>
Ittay Dror <ittayd@tikalk.com> writes:
> Avery Pennarun wrote:
Show 12 quoted lines
> > Git already works fine for renames.  The only situation where
> > something funny happens is if you rename a whole directory and someone
> > else creates a file in the old directory.  (In that case, the new file
> > ends up in the old place instead of the new place.)  However, even in
> > that case, there is still no conflict and no manual merging necessary.
>
> Sorry, but this is not the situation as I have experienced it with a
> local repository I have. I renamed a directory (without changing any
> files in it). 'git diff <commit>^ <commit>' shows the rename fine, but
> 'git log -p -M -C <initial commit>..' does not (that is, the history
> for files in that directory is shown from the rename commit
> only). Obviously git-diff is not any better.

This is one thing where git differs from other SCMs. In "git log -- <path>" (that is what I assume you have used) the <path> argument is path limiter. It allows to specify more than one directory or a file.

Unfortunately currently "git log --follow=<file>" works only for single files, and doesn't yet work for directories; which is caused, among other things, by the lack of directory rename detection in git.

> [...] Also, what happens if I change the file in the new location
> and someone else changes it in the old location? Will I need to do a
> manual merge?
No, rename detection should make automatic merge possible.
-- 
Jakub Narebski
Poland
ShadeHawk on #git
Previous: Ittay DrorNext: Avery Pennarun
Message 30 of 49 in “detecting rename->commit->modify->commit”
  1. Ittay DrorMay 1, 2008
  2. Jeff KingMay 1, 2008
  3. Ittay DrorMay 1, 2008
  4. Jeff KingMay 1, 2008
  5. Ittay DrorMay 1, 2008
  6. Jeff KingMay 1, 2008
  7. Jakub NarebskiMay 1, 2008
  8. Teemu LikonenMay 1, 2008
  9. Jeff KingMay 1, 2008
  10. Sitaram ChamartyMay 2, 2008
  11. Junio C HamanoMay 2, 2008
  12. Sitaram ChamartyMay 2, 2008
  13. Ittay DrorMay 1, 2008
  14. Jeff KingMay 1, 2008
  15. Ittay DrorMay 1, 2008
  16. Jeff KingMay 1, 2008
  17. Ittay DrorMay 1, 2008
  18. David TweedMay 1, 2008
  19. Avery PennarunMay 1, 2008
  20. Jeff KingMay 1, 2008
  21. Avery PennarunMay 1, 2008
  22. Jeff KingMay 1, 2008
  23. Avery PennarunMay 1, 2008
  24. Jeff KingMay 1, 2008
  25. Steven GrimmMay 1, 2008
  26. Jeff KingMay 1, 2008
  27. merge renamed files/directories? (was: Re: detecting rename->commit->modify->commit)Ittay Dror, May 3, 2008
  28. Avery PennarunMay 3, 2008
  29. Ittay DrorMay 4, 2008
  30. Jakub NarebskiMay 4, 2008
  31. Avery PennarunMay 5, 2008
  32. Robin RosenbergMay 5, 2008
  33. Linus TorvaldsMay 5, 2008
  34. Steven GrimmMay 5, 2008
  35. Linus TorvaldsMay 6, 2008
  36. Linus TorvaldsMay 6, 2008
  37. Theodore TsoMay 6, 2008
  38. Linus TorvaldsMay 6, 2008
  39. Linus TorvaldsMay 6, 2008
  40. Ittay DrorMay 6, 2008
  41. Linus TorvaldsMay 6, 2008
  42. Avery PennarunMay 6, 2008
  43. Shawn O. PearceMay 6, 2008
  44. Avery PennarunMay 6, 2008
  45. Shawn O. PearceMay 6, 2008
  46. Linus TorvaldsMay 6, 2008
  47. Jeff KingMay 8, 2008
  48. Sitaram ChamartyMay 1, 2008
  49. Ittay DrorMay 1, 2008

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.