[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [merge-tracking] 'svn blame' auditing

From: Stefan Haller <haller_at_ableton.com>
Date: 2007-02-21 21:30:56 CET

Daniel Rall <dlr@collab.net> wrote:

> Behavioral changes to 'blame' should be designed concurrently with
> changes to 'log', and probably 'status --show-updates' (and 'info'?).
> Basically, to any API/command that carries a user name.

I agree. However, I think the auditing section of the requirements
document is not very clear in this regard, and lacking in detail. I'm
not sure if you have talked about these things in more detail elsewhere
already (I didn't follow the merge-tracking development very closely),
in which case I apologize for the noise. I just wanted to make sure
that all issues are considered, so I'd like to express the requirements
concerning blame and log from my point of view (which is a user's point
of view, not a subversion developer's.)

Let's assume a specific scenario:

   Alice commits r12 to branch-A.
   Bob commits r34 to branch-A.
   Joe merges both r12 and r34 into branch-B in a single commit (r56).

Now, what do we expect to see from:

- svn log -r12 branch-B

  Probably nothing, because branch-B didn't change in r12. (Although we
  might be interested in the information that the r12 change actually
  did appear in branch-B in r56.)

- svn log -r56 branch-B

  Either the Joe commit, together with its log message, or/and (maybe
  depending on a switch) a list of the original commits r12 and r34 with
  their revision numbers, authors, and log messages.

- svn blame branchB/somefile

  We probably want to see the original authors (with their original
  revision numbers). However, it doesn't stop there: a typical use case
  in our shop is to run blame on a file, and then do a diff to find out
  why a line changed, so if blame shows me that a line was changed by
  Alice in r12, I would typically run "svn diff -r11:12 somefile" to see
  the diff. This wouldn't work here, which I consider a serious
  problem. To solve this, the blame output would have to contain not
  only the author and revision number of the original commit, but also
  the path where the original commit happened.

Stefan Haller
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Feb 21 21:31:22 2007

This is an archived mail posted to the Subversion Dev mailing list.