Ticket Change Details
Not logged in
Overview

Artifact ID: c7ac78d4ef1bdde01045980397fd6eda5f2b8314
Ticket: f91862eed36716dec2129daf75060e4905cbc409
annotations assign lines to incorrect checkin
User & Date: drh 2011-05-12 00:50:48
Changes

  1. Appended to comment:
    
    
    <hr /><i>drh added on 2011-05-12 00:50:48 UTC:</i><br />
    The following is an explanation of the problem; not a solution.  I'm still
    not sure what the correct solution is.  The bottom line is that "annotate"
    or "blame" becomes complicated when you have lots of branching and merging...
    
    Refer to the history graph of the tclListObj.c source file here:
    [http://core.tcl.tk/tcl/finfo?name=generic/tclListObj.c&b=2011-04-28&a=2011-04-24]
    
    The current implementation of "annotate" starts with the requested node
    (31d1cfe5711802cc) and then works downward from there on the same branch
    to (66e766cf759f85cf) and (52cc348a24f17bca) and so forth.  But the five-line
    change mentioned in the problem statement above comes in from a different
    branch, specifically from (e25d618ef36a26ce) on the core-8-5-branch.  So the
    five-line change does not appear in the "annotate" output because it is
    a diff from one branch into another, whereas the current "annotate" only
    shows changes from versions on the same branch.
    
    It is unclear, yet, whether or not it is desirable to include "annotate"
    changes from other branches.  Perhaps this should be an option on the display.
    Further research is necessary...