logo       
Google Custom Search
    AddThis Social Bookmark Button

Re: svndbadmin -- missing support for branches/tags: msg#00012

Subject: Re: svndbadmin -- missing support for branches/tags
Philip M. Gollucci wrote:
> Hi,
> 
> So if you followed my previous e-mail on users (at) svn, I've
> successfully run cvs2svn on a CVS repository and have a nice SVN
> repository.
> 
> Now, I need to run
> viewvc/bin/makedatabase
>     (worked fine)
> 
> viewvc/bin/svndbadmin update
> 
> This works, except one major flaw.
> ViewVC.tags and ViewVC.branches table have exactly 1 row
> id: 1
> name: ''
> 
> Thus ViewVC.checkins always has branchid: 1
> 
> Looking at last nights snapshot, in viewvc/bin/svndbadmin
> I do
> grep -i branch svndbadmin
>         commit.SetBranch(None)
> 
> So the support is just not there, but in cvsdb.py, I see functions to do
> this.
> Am I missing something ?
> 
> If not, I'm willing to invest some time/energy in writing this support
> though my python is not nearly as good as my perl.  If someone could
> point in the right direction as to what python object contains the
> needed information, I'd have a starting point.

Sorry for not responding earlier, Philip.

In general, there is a lack of support in ViewVC for recognizing Subversion
tags and branches as meaningful in any way.  And from a technical
perspective, that's fine -- Subversion really doesn't have tags and
branches, but you can model the expected behaviors using directory copies,
and we recommend that those copies live in subdirectories whose names imply
meaning and policy ("branches", "tags").

That said, those bits of implied meaning and policy have, as the Subversion
development community intended, become effectively a part of The Way
Subversion Works -- so much that folks understand immediately what is meant
by "I checked out a Subversion tag", and that meaning is considered part of
the version control system, not just part of how the system is often used.

The challenge with ViewVC is in recognizing those human-defined,
human-interpreted meanings programmatically.  For example, which many folks
have one-project-per-repository, with /trunk, /tags and /branches in the
root directory, there are equally many others that have multiple projects in
a single repository using either the

   /project1/trunk
   /project1/branches
   /project1/tags
   /project2/trunk
   ...

or the

   /trunk/project1
   /branches/project1
   /tags/project1
   /trunk/project2
   ...

layouts.  And that's a challenge we haven't yet figured out how to address
just yet.

-- 
C. Michael Pilato <cmpilato@xxxxxxxxxx>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Attachment: signature.asc
Description: OpenPGP digital signature


Try Searching:
servers, voip, java, networking, microsoft ...
<Prev in Thread] Current Thread [Next in Thread>