On 1/6/2012 7:10 PM, nn6eumtr wrote:
Thanks for the response, there is lots of good information there.
One clarification - can you track renames in git? I tried using git mv
but from the status output it looks like it deleted the old file and
added the new file. I was expecting it to record some sort of
indicator of the name change, instead it looks like a short-cut for
delete & add, the docs aren't clear if that is the case.
(note: top-posting is not advised.)
You are exactly right in your observation: git-mv is only a shortcut
for 'remove old then add new'. Git does not explicitly track
"renames". It can detect renames easily in the cases where you really
just renamed the file and left the contents the same. Git tracks
content (and trees) as opposed to files (and file names). Git stores
the 'blob', aka 'contents' of files in the object store. So if you have
30 files with different names and the exact same contents in your work
tree they are stored as a single blob in the .git/objects "object
store". If some of your "renames" are really "I renamed it and then I
modified it" then git will have a harder time detecting the "rename"
depending on how much you modified it. In such cases what you really
did is arguably not a "rename" anyway. You can record your "renames"
manually in your commit message if appropriate. If you have 5 minutes
you can watch this video from the 15:00 min to 20:59 min marks to get an
explanation of git-mv and rename-detection:
http://www.youtube.com/watch?v=j45cs5_nY2k (youtube searchstring: 'git
google tech talks', result: 'contributing with git'.)
v/r,
neal
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html