On Thu, 14 Apr 2005, David Woodhouse wrote: > Opinions? Dissent? We'd probably need to escape the filenames in some > way -- handwave over that for now.
I personally think renames are a minor thing that doesn't happen much. What actually happens, in my opinion, is that some chunk of a file is moved to a different, possibly new, file. If this is supported (as something that the SCM notices), then a rename is just a special case where the moved chunk is a whole file. I think that it should be possible to identify and tag "big enough" deletions and insertions, and compare them to find moves, where a further change may be applied in the middle if two chunks are "very similar" but not the same. On the other hand, I think that the SCM will need to cache its understanding of what a commit did in order to give reasonable performance for operations like "annotate", and it may be advantegous to distribute things from this cache, since the committer might want to tell the system something that it didn't guess. At some point, I'm going to argue for core support for "back pointers", where a file can be created which is "about" some other file(s), and someone looking for files "about" a particular file can find them without searching the entire database. I think this will turn out to be important for a variety of cases where some later participant wants to say something about an existing file without changing the content of the file. -Daniel *This .sig left intentionally blank* - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html