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

Reply via email to