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

Re: CVS to SVN, best practice

From: Andy Levy <andy.levy_at_gmail.com>
Date: 2007-02-05 16:14:42 CET

On 2/5/07, Hendrik Schober <SpamTrap@gmx.de> wrote:
> Andy Levy <andy.levy@gmail.com> wrote:
> > On 2/2/07, Hendrik Schober <SpamTrap@gmx.de> wrote:
> > > *
> > > |
> > > +- 3rdparty
> > > | |
> > > | +- 3rdparty1
> > > | |
> > > | +- 3rdparty2
> > > |
> > > +- projects
> > > | |
> > > | +- project1
> > > | |
> > > | +- project2
> > > |
> > > +- shared
> > > |
> > > +- shared1
> > > |
> > > +- shared2
> > >
> > [...]
> >
> > I keep my tags at the project level, so that I have the following:
> > root
> > >
> > \Project1
> > \tags
> > \branches
> > \Project2
> > \tags
> > \branches
> >
> > And so on. Tagging the whole repository would just add clutter IMHO.
> > The idea is that if I look at \Project1, the whole history of that
> > project is right there - tags, branches, trunk, everything. If tags
> > were at the same level as Project1 (right off the root), I'd have to
> > look in multiple places to get that same information.
>
> I see. However. Consider this (in the light of the
> above scheme):
> "project1" releases a new version, so I throw a tag
> across "project1". But this project uses "shared1"
> and "shared2" as well, so I also need to tag them.
> If my working copy looks like this
>
> project1
> |
> +-prj1_stuff1
> |
> +-prj1_stuff2
> |
> +-shared1
> |
> +-shared2
>
> can I then throw the same tag across that shared
> stuff as well?

No, because a tag is nothing more than a copy. When you tag the
project, I hope you're also tagging the shared stuff, so that you can
pin everything together. Scripts would make this a lot easier to
manage.

> > It sounds like you need a combination of externals (to pull everything
> > required to work on a project into one checkout) and a script to help
> > tagging (so that the externals in your tags point at the appropriate
> > revisions of those externals, and (it sounds like) create a tag for
> > those external elements as well).
>
> Um, I guess that means "No" to the above question?
>
> <rereads external chapter in svnbook>
>
> Yikes. IIUC, I cannot even checkin changes in
> "shared[N]" automatically when I checkin changes
> to "project1", but have to go through all the
> externals and do this manually. Is that true or
> did I understand this wrong? If so, that's going
> to be a serious problem.

Recall that externals can point at different repositories just as
easily as they can the same repository. You can't have an atomic
commit against more than one repository.

Perhaps, when/if relative URLs become available for externals, a
single commit for those externals will be available. However, it's
conceivable that one would need different credentials to commit
changes to that external (even within the same repository), which
would again prevent one from doing a single atomic commit.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Feb 5 16:15:12 2007

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

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