On Tue, Apr 29, 2014 at 6:18 PM, Tony Papadimitriou <to...@acm.org> wrote:
> I see the simplistic approach. On the other hand, if I decided to > change my name at some point, the authorities should be able to trace my > current name to my birth name, to figure out who I am, and my ‘criminal’ > record should not disappear!!! > They can, but the authorities will use the HTML UI to do it because the feature can be found there. > Anyway, (as a future enhancement, perhaps) if FOSSIL knows in its trail of > changes from version A to version B that a file was renamed it should be > able to figure out and locate the correct file (by name) in the old version > and do a correct DIFF, while giving the “doesn’t exist” error if the file > was not yet introduced (by ADD or ADDR). And, obviously, FOSSIL does know, > as it can be seen from the UI (“Name change from ... to ...”). > See my previous response to Joerg for more details on that. > Of course that would mean that to find what filename to compare it with, > it should do a walk-thru of all intermediate checkins from A to B, and not > just look at the two versions as two independent checkins (which I suspect > is what happens now) without regard to what happened in between (and I mean > only in relation to name changes, of course, not their contents). > Right. We would need to walk each version between the two, remember and arbitrary number of renames, and then refer to/process them properly when we generate the diff from (only) the first and last version. It would increase the computational cost of a diff arbitrarily. For example: fossil diff --from rid:1 --to trunk a diff of the first and last checkins is just as fast as a diff for any other two checkins with the same amount of content changes. Calculating the renames for the ... 6942 checked-in versions between the first (rid:1) and trunk would take... a good long while. It's not a cost which the diff command should pay, IMO. Maybe an extra --track-renames arg, but that adds a ton of complication for what i personally consider to be very much not worth the effort. Pop up the GUI or use one of the libfossil CLI tools to do it: [stephan@host:~/cvs/fossil/libfossil]$ f-ls -v rid:37 | grep fsl_appendf fe6db9258632 - fsl_appendf.c bc4949627209 - include/fossil/fsl_appendf.h [stephan@host:~/cvs/fossil/libfossil]$ f-ls -v trunk | grep fsl_appendf 06a9ce020773 - src/fsl_appendf.c [stephan@host:~/cvs/fossil/libfossil]$ f-adiff fe6db9258632 06a9ce020773 | less -- ----- stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal "Freedom is sloppy. But since tyranny's the only guaranteed byproduct of those who insist on a perfect world, freedom will have to do." -- Bigby Wolf
_______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users