At 02:08 PM 6/12/00 -0400, Jonathan S. Shapiro wrote:
>My question is: in the cases where a new entity did not strictly need to be
>introduced, might it nonetheless be useful to create one for the sake of
>shortening the length of the predecessor arcs? For example, if A.X was
>modified, but B.X was not, might we nonetheless want to create a new entity
>[A merge B].X whose predecessors are A[last].X and B[last].X?
Is there any use for this feature beyond code archeology? If there isn't, then the needs of the (human) code archeologist become key for deciding how to handle the situation.
When we are tracing a change back thru the system, do we want to know the branch where it was first entered, or the place where two branches were merged to make the current ancestor.
Note that when I am doing code archeology, I generally am interested in the granularity of one or more lines of code to changes in a particular subroutine/procedure/method/function or whatever your language calls it, not changes to the whole source file.