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

Re: NTK on Subversion & others

From: Brad Appleton <brad_at_bradapp.net>
Date: 2004-03-11 21:37:35 CET

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

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.