Overview
Artifact ID: | c7ac78d4ef1bdde01045980397fd6eda5f2b8314 |
---|---|
Ticket: | f91862eed36716dec2129daf75060e4905cbc409
annotations assign lines to incorrect checkin |
User & Date: | drh 2011-05-12 00:50:48 |
Changes
- 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...