Linus Torvalds wrote: > On Sun, 26 Mar 2006, Jakub Narebski wrote: >> >> I wonder what is the most common case in Linux kernel or git. >> >> 1.) renaming the file in the same directory, old-file.c to new-file.c? >> 2.) moving file to other directory (project reorganization), >> old-dir/file.c to new-dir/file.c? > The kernel uses subdirectories extensively, and a lot of renames (most of > them, I'd say) is because of that subdirectory structure. > > So the same-directory case is the unusual one, I'd say. If (2) is common enough then discussed improvements to rename detection, namely comparing basenames as a base for candidate selection is a good idea. I wonder how common is (2) compared to (1)+(2) i.e. move to other dir and rename, old-dir/old-file.c to new-dir/new-subdir/new-file.c >> 3.) splitting file into modules, huge-file.c to file1.c, file2.c? >> 4.) copying fragment of one file to other? >> 5.) moving fragment of code from one file to other? > > I'd say that (5) is very common. And (4) happens a lot under certain > circumstances (new driver, new architecture, new filesystem..). > > Doing (3) happens, but probably less often that it should ;/ Detecting (4) and (5) fast (i.e. for merges) without auxilary (helper) information would probably be hard. For interrogation/porcellanish commands (like pickaxe) would probably be easier. -- Jakub Narebski Warsaw, Poland - : 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