On Wed, Aug 5, 2015 at 11:35 AM, Andy Goth <andrew.m.g...@gmail.com> wrote: > > Unix mv would have renamed the directory from dir to dir2, i.e. made the > new directory, moved all files and subdirectories into it, then removed > the old directory. >
Actually, the directory just gets rename. And if the directory is moved, Unix/Linux systems will create a new "link" to the directory in it's target location, then remove the original link. The time directory contents would have to be "physically" move is if the target location in a different file system (what Windows would call a volume or "drive"). The reason Fossil's mv semantics differ is because Fossil is tracking files relative to the project root. Therefore, to Fossil, "dir/file.c" is just the name of a file. While Unix/Linux "sees" the name of a directory and the name of a file in that directory. Really, Fossil is only tracking "artifacts". When an artifact is a file, it's manifest artifact has a file name attribute (for that artifact) with a value like "dir/file.c" that means something to a Unix/Linux/other file system. To Fossil, it's just a piece of meta data being maintained in the repository.
_______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users