On Thu, Mar 11, 2004 at 09:42:27AM -0600, kfogel@collab.net wrote:
> Hmmm. I just realized, in trying to answer this, that I'm not sure
>
> a) What "similar feature" in CodeVille you were referring to, and
>
> b) What it means to know the "true" version that introduced a
> line/change (rather than simply propagating it), and
>
> c) In (b), whether the second "it" refers to the line/change, or to
> the version :-)
>
> I assume that in (b), we're talking about something more sophisticated
> than just 'svn blame' ('cvs annotate')?
>
> Subversion tags each delta with a unique ID -- the ID being the
> revision number. And 'blame' allows you to go from a piece of a
> change back to its ID. But I have the feeling I'm just not using
> enough imagination here, and that you mean something much broader...
Hi Karl!
I think I'm talking about the following two things (I initially
thought they might be the same, but I think they aren't):
- Codeville boasts the ability to do "smart" merging in that it knows
which sets of deltas have already been merged/applied and doesn't
try to make you reconcile them again
- Bitkeeper boasts the ability to give the "true" change-set that
introduced some lines of code (e.g., in an annotated listing or
diff). An example is in order ...
In ClearCase and Perforce, it can be common practice to
merge a task-branch to a development integration-branch,
which might then be merged to a SCM and/or QA integration
branch, and then finally "mainlined". When listing the
contents on mainline "annotated" with the branch/task-id
that introduced the change, sometimes ClearCase or Perforce
will attribute the change to one of the several levels
of integration branches it was merged/propagated thru
instead of to the initial task branch that started the
merge-propagation chain.
BitKeeper claims it doesn't have this problem and will correctly
identify the initiating branch/task-id that introduced the
changes (rather than a subsequent one that simply merged them).
I think it does this with a similar mechanism as Codeville, by
associating a unique-id (e.g., cset-name) for each delta line
of code.
I'm most interested in the "smart" merging (which someone
posted a Perl script for a few days back), but wondered if
the latter was easy to do (either as a result of doing what
SVN already does, or if it was "trivial" once one had the
smartmerge capability)
--
Brad Appleton <brad@bradapp.net> www.bradapp.net
Software CM Patterns (www.scmpatterns.com)
Effective Teamwork, Practical Integration
"And miles to go before I sleep." -- Robert Frost
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Mar 11 21:37:58 2004