#3023: The ability to see the history of a particular line of code would be 
useful
-------------------------+--------------------------------------------------
 Reporter:  sprewell     |        Owner:  jonas   
     Type:  enhancement  |       Status:  reopened
 Priority:  normal       |    Milestone:          
Component:  browser      |      Version:  0.9.4   
 Severity:  normal       |   Resolution:          
 Keywords:               |  
-------------------------+--------------------------------------------------
Changes (by sprewell):

  * status:  closed => reopened
  * resolution:  duplicate =>
  * keywords:  svn blame =>

Comment:

 Not exactly.  From what I can tell, svn blame will tell you the revision
 number of the last diff that modified every line of a file, including the
 author and timestamp and optionally up to a certain revision number.  What
 I had in mind is to take this information and build a better UI around it.
 Let me illustrate with an example.  Suppose there's a line in a file that
 says

 line 55:           foo = myburrito.eat.(now).but "not all of it"

 I could click on that line and see all the diffs that were made in the
 past that changed any source within a 10-line neighborhood of that line,
 going back to the point in time when there was no line 55 in the file.
 The UI would be similar to the one for changesets now, except that there
 would be a list of diffs at the top of the page (that changed that
 neighborhood of lines) and the rest of the page would consist of the green
 and red highlighted diff images showing how those 10 lines were modified
 by each revision.  One can imagine this expanded to analyzing how
 particular functions/methods changed over time or even to only finding
 lines that were a strict ancestor of the current line (ie they implemented
 similar functionality).  Of course, these features would require more
 parsing work and would not be necessary right away.

 In terms of implementation, perhaps you're asking me about svn blame
 because you generally use the functionality that svn provides for trac and
 svn doesn't provide this functionality directly.  However, by analyzing
 the diff info from svn, I believe this feature could be hacked up fairly
 quickly, though it may require storing the info in a separate database
 (for the case when svn doesn't provide quick access and you don't want to
 have to parse the same files every time a request is made).

-- 
Ticket URL: <http://projects.edgewall.com/trac/ticket/3023>
The Trac Project <http://trac.edgewall.com/>
_______________________________________________
Trac-Tickets mailing list
[email protected]
http://lists.edgewall.com/mailman/listinfo/trac-tickets

Reply via email to