You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Jérôme Besnard <je...@gmail.com> on 2006/02/03 15:19:10 UTC

tagging subset

First post to the list, so I apologize in advance :-)

My question is that I need to be able to tag a subset a my repository
as a release, and possibly switch back to this subset. This should be
quite easy, and the subversion book gives some hints, but I remain
quite not sure of the "subversion way" of doing this.

First let me describe the organisation of the code. We have one
repository, containing all our developments in the trunk. Then we
create, inside the trunk again, a "product" that only use a small
subset of the library. After compilation, we are of course able to
track the subset, and we know exactly what is used by the "binary"
product.
I'd like then to create a tag (let's say realase1.0 as usual) on this
subset, and come back to that subset for modifications or bug
issues...

The confusion is that it seems like I have to add the whole repository
as a tag (which is not such a big issue since it is cheap copies), but
then I am confused as how you get back to the subset.... The other way
around, selecting only the subset in the tag, seems to be better, but
when switching back, what will happen to the files not in the tag ?

I am setting up some tests here for this issue, but any insight from
the list would be invaluable :-)

Thanks

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: tagging subset

Posted by John Allen <jo...@orbiscom.com>.
On Tue 07 Feb 2006 12:42, Jérôme Besnard wrote:
> John,
>
> I agree that tagging will be instantaneous. The issue is more with the
> retrivial of the tag. Since I tag everything, getting back to the
> tagged version will require to go back on ALL files (modified) which
> will not be fast since the network is not...
> Plus the fact that I do not want this since I know exactly which files
> are part of the release, and I may be working on other projects which
> are "more advanced" (meaning I want to keep the HEAD version).
>
> The simplest solution would be to separate each project into different
> repositories, but those project share some code, and tagging across
> SVN repositories is not possible.
>

Yes it's not possible with a single command. But you could just tag the main 
project and it's dependencies with the same tag.

I have been doing multi-repository project since forever, I tag each 
repository separately. When tagging the main project I have a file that 
specifies the tags for the dependencies.

The I svn co the main project's tag, then use the file in the tagged revision 
to retrieve the dependencies tagged revisions.

You could optimise by keeping a build copy locally, and just svn switching 
them to the relevant tags.

> So if I agree that tagging the whole repository is easy, I want to be
> able to automatically switch to a subset of the repository, on demand
> (no IBM buzz here :-) )
>
> On 2/7/06, John Allen <jo...@classesarecode.net> wrote:
> > On Mon 06 Feb 2006 21:57, Jérôme Besnard wrote:
> > > humpf.... I'll restate this since gmail was not nice with me this time
> > > :-(
> >
> > [snipped]
> >
> > > The easy way is to tag everything (trunk/mathos here) and then switch
> > > back and forth from the release. One of the issue is that the trunk is
> > > huge and the network not very fast...
> > >
> > > Any ideas ?
> >
> > Tag using server URLs. Don't tag locally.
> >
> > svn copy svn://.../main svn://.../tags/tagname
> >
> > This will be virtually instantaneous.
> >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> > > For additional commands, e-mail: users-help@subversion.tigris.org
> >
> > --
> > John Allen                          mailto:john.allen@classesarecode.net
> > Classes Are Code                    http://www.classesarecode.net
> >
> > Mandriva Linux release 2006.0 (Official) for i586, kernel 2.6.12-12mdksmp
> >  11:43:40 up 23:46,  5 users,  load average: 0.06, 0.19, 0.25
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> > For additional commands, e-mail: users-help@subversion.tigris.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org

-- 
John Allen,                          mailto:john.allen@orbiscom.com
Orbiscom Ltd,                        http://www.orbiscom.com
Block 1, 
Blackrock Business Park, 
Carysfort Avenue, 
Blackrock, 
Co. Dublin,
Ireland. 
Tel: +353-1-217.8603
Fax: +353-1-294.5119
Mobile: +353-085-1295486

Mandriva Linux release 2006.0 (Official) for i586, kernel 2.6.12-12mdksmp
 10:39:22 up 1 day, 22:42,  6 users,  load average: 1.30, 0.73, 0.53

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: tagging subset

Posted by Jérôme Besnard <je...@gmail.com>.
John,

I agree that tagging will be instantaneous. The issue is more with the
retrivial of the tag. Since I tag everything, getting back to the
tagged version will require to go back on ALL files (modified) which
will not be fast since the network is not...
Plus the fact that I do not want this since I know exactly which files
are part of the release, and I may be working on other projects which
are "more advanced" (meaning I want to keep the HEAD version).

The simplest solution would be to separate each project into different
repositories, but those project share some code, and tagging across
SVN repositories is not possible.

So if I agree that tagging the whole repository is easy, I want to be
able to automatically switch to a subset of the repository, on demand
(no IBM buzz here :-) )

On 2/7/06, John Allen <jo...@classesarecode.net> wrote:
> On Mon 06 Feb 2006 21:57, Jérôme Besnard wrote:
> > humpf.... I'll restate this since gmail was not nice with me this time :-(
> >
> [snipped]
> >
> > The easy way is to tag everything (trunk/mathos here) and then switch
> > back and forth from the release. One of the issue is that the trunk is
> > huge and the network not very fast...
> >
> > Any ideas ?
> >
>
> Tag using server URLs. Don't tag locally.
>
> svn copy svn://.../main svn://.../tags/tagname
>
> This will be virtually instantaneous.
>
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> > For additional commands, e-mail: users-help@subversion.tigris.org
>
> --
> John Allen                          mailto:john.allen@classesarecode.net
> Classes Are Code                    http://www.classesarecode.net
>
> Mandriva Linux release 2006.0 (Official) for i586, kernel 2.6.12-12mdksmp
>  11:43:40 up 23:46,  5 users,  load average: 0.06, 0.19, 0.25
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: tagging subset

Posted by John Allen <jo...@classesarecode.net>.
On Mon 06 Feb 2006 21:57, Jérôme Besnard wrote:
> humpf.... I'll restate this since gmail was not nice with me this time :-(
>
[snipped]
>
> The easy way is to tag everything (trunk/mathos here) and then switch
> back and forth from the release. One of the issue is that the trunk is
> huge and the network not very fast...
>
> Any ideas ?
>

Tag using server URLs. Don't tag locally.

svn copy svn://.../main svn://.../tags/tagname

This will be virtually instantaneous.

> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org

-- 
John Allen                          mailto:john.allen@classesarecode.net
Classes Are Code                    http://www.classesarecode.net

Mandriva Linux release 2006.0 (Official) for i586, kernel 2.6.12-12mdksmp
 11:43:40 up 23:46,  5 users,  load average: 0.06, 0.19, 0.25

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: tagging subset

Posted by Jérôme Besnard <je...@gmail.com>.
humpf.... I'll restate this since gmail was not nice with me this time :-(

Karl,

sure.
So to tell you what I guess you need to know: we have one big project,
let's call it "mathos" for the example sake. So we have
http://...../trunk/mathos with a complex subdivision under this (a
large tree here). This is the main library that is shared by all
(developers, subjects,...). When a new project is started, it will
share some of the code from the main library (not all) plus some
specific code (usually in mathos/studies/project/...).
What I want to do is when I release a version of a project
(trunk/mathos/studies/project/...), I want to tag this PLUS the code
from the main (trunk/mathos/shared/whatever...) used by the release. I
am able to know
exactly what code is impacted by the release (and it is a VERY small
subset of the trunk).

So I'd love to tag those files (and only those files) impacted by the
release. They won't be directories but files (which seems to be an
issue). This is doable (by scripting).
Then when an issue is detected on the release I want to be able to go
back in time to the release of those files (and only those), correct
them, and then switch back.

The easy way is to tag everything (trunk/mathos here) and then switch
back and forth from the release. One of the issue is that the trunk is
huge and the network not very fast...

Any ideas ?

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: tagging subset

Posted by Jérôme Besnard <je...@gmail.com>.
Karl,

sure.
So to tell you what I guess you need to know: we have one big project,
let's call it "mathos" for the example sake. So we have
http://...../trunk/mathos with a complex subdivision under this (a
large tree here). This is the main library that is shared by all
(developers, subjects,...). When a new project is started, it will
share some of the code from the main library (not all) plus some
specific code (usually in mathos/studies/project/...).
What I want to do is when I release a version of a project
(trunk/mathos/studies/project/...), I want to tag this PLUS the code
from the main (trunk/mathos/shared/whatever...). I am able to know
exactly what code is impacted by the release (


On 06 Feb 2006 11:01:36 -0600, kfogel@collab.net <kf...@collab.net> wrote:
> Jérôme Besnard <je...@gmail.com> writes:
> > First post to the list, so I apologize in advance :-)
> >
> > My question is that I need to be able to tag a subset a my repository
> > as a release, and possibly switch back to this subset. This should be
> > quite easy, and the subversion book gives some hints, but I remain
> > quite not sure of the "subversion way" of doing this.
> >
> > First let me describe the organisation of the code. We have one
> > repository, containing all our developments in the trunk. Then we
> > create, inside the trunk again, a "product" that only use a small
> > subset of the library. After compilation, we are of course able to
> > track the subset, and we know exactly what is used by the "binary"
> > product.
> > I'd like then to create a tag (let's say realase1.0 as usual) on this
> > subset, and come back to that subset for modifications or bug
> > issues...
> >
> > The confusion is that it seems like I have to add the whole repository
> > as a tag (which is not such a big issue since it is cheap copies), but
> > then I am confused as how you get back to the subset.... The other way
> > around, selecting only the subset in the tag, seems to be better, but
> > when switching back, what will happen to the files not in the tag ?
> >
> > I am setting up some tests here for this issue, but any insight from
> > the list would be invaluable :-)
>
> I think you'll need to diagram this out, with real path names, for us
> to understand what you're trying to do.  What is "the library", for
> example?
>
> -Karl
>
> --
> www.collab.net  <>  CollabNet  |  Distributed Development On Demand
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: tagging subset

Posted by kf...@collab.net.
Jérôme Besnard <je...@gmail.com> writes:
> First post to the list, so I apologize in advance :-)
> 
> My question is that I need to be able to tag a subset a my repository
> as a release, and possibly switch back to this subset. This should be
> quite easy, and the subversion book gives some hints, but I remain
> quite not sure of the "subversion way" of doing this.
> 
> First let me describe the organisation of the code. We have one
> repository, containing all our developments in the trunk. Then we
> create, inside the trunk again, a "product" that only use a small
> subset of the library. After compilation, we are of course able to
> track the subset, and we know exactly what is used by the "binary"
> product.
> I'd like then to create a tag (let's say realase1.0 as usual) on this
> subset, and come back to that subset for modifications or bug
> issues...
> 
> The confusion is that it seems like I have to add the whole repository
> as a tag (which is not such a big issue since it is cheap copies), but
> then I am confused as how you get back to the subset.... The other way
> around, selecting only the subset in the tag, seems to be better, but
> when switching back, what will happen to the files not in the tag ?
> 
> I am setting up some tests here for this issue, but any insight from
> the list would be invaluable :-)

I think you'll need to diagram this out, with real path names, for us
to understand what you're trying to do.  What is "the library", for
example?

-Karl

-- 
www.collab.net  <>  CollabNet  |  Distributed Development On Demand

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org