You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Olivier Sannier <ob...@free.fr> on 2005/06/30 20:43:41 UTC

Preventing a folder from being checked out?

Hi all,

Coming from CVS, I was used to having tags and branches be a "virtual" 
concept.
But now that I work with SVN at work, I just started to wonder about 
branches, and as it turns out, this is more "real", in the sense that 
there needs to be folder for branches. The thing is that I've already 
created the repository like this:

/libs/somelib
/libs/someotherlib
/project_one
/project_two

This is fine with me and if I want to create tag or a branch, I actually 
have to make it on everything, the projects being heavily interdependent 
on the libs.
So if I was to create tag, I should put it inside a "tags" branch and 
end up with this:

/libs/somelib
/libs/someotherlib
/project_one
/project_two
/tags/sometag/libs/somelib
/tags/sometag /libs/someotherlib
/tags/sometag /project_one
/tags/sometag /project_two

But if a new developer comes in and does a checkout of /, he will get 
all the tags, which is not desirable, as he will have to work on trunk 
anyway. So I'm wondering if there is a way to say: don't include "tags" 
in a checkout made on / but let it go through if the checkout 
specifically requests it.
Is this at all possible? If yes, how?
I would very much prefer if I would not be forced to create a "trunk" 
folder at the root and put everything into it. The current organisation 
makes the tags and branches transparent except to those who really want 
them.

Thanks for your help
Olivier Sannier

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

Re: Preventing a folder from being checked out?

Posted by Olivier Sannier <ob...@free.fr>.
Lorenz wrote:

>Hi again,
>
>  
>
>>[...]
>>Yes, thanks, that's the recommended way, but I would like to avoid 
>>having the "trunk" directory, hence the need to "exclude" tags from a 
>>regular checkout.
>>    
>>
>
>have you considered that ommiting the trunc directory will make it
>awkward to create a tag.
>With the layout you prefere, you need to pass all your directories to
>svn copy instead only trunc, because there is no common top level
>directory (directly in the repo als well as in a wc).
>
>Lorenz
>  
>
Hum.... Good point indeed. I'll have to think about this, but I might 
end up following the guide after all. Thanks for the help.

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

Re: Preventing a folder from being checked out?

Posted by Lorenz <lo...@yahoo.com>.
Hi again,

> [...]
>Yes, thanks, that's the recommended way, but I would like to avoid 
>having the "trunk" directory, hence the need to "exclude" tags from a 
>regular checkout.

have you considered that ommiting the trunc directory will make it
awkward to create a tag.
With the layout you prefere, you need to pass all your directories to
svn copy instead only trunc, because there is no common top level
directory (directly in the repo als well as in a wc).

Lorenz


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

Re: Preventing a folder from being checked out?

Posted by Frank Gruman <fg...@verizon.net>.
I guess I am at a loss here because I am not familiar with CVS.  But the 
example you just created is nothing more than checking out a folder or 
set of folders.

If you had a configuration like this:

/trunk
    /syslib
    /project1
    /project2

/tags
    /release10
        /syslib
        /project1
        /project2

Then when you do a checkout, you would only have to type out *5* 
additional characters (http://server/svn/trunk/) to get a copy of the 
latest tip.  When you reached a point of release, you would then do an 
svn cp (create a tag) that would point to 
http://server/svn/tags/release11.  If you needed to build / rebuild / 
read / access this release in any way shape or form, you could do an svn 
switch to get to that particular tag.

AND - if you really wanted both your tip and your tags on one machine in 
one large working copy, you could then checkout the whole thing 
(http://server/svn/).

Aside from that, maybe someone else on the list has a comparison of 
features between SVN and CVS that might be helpful.

Regards,
Frank

Olivier Sannier wrote:

> Frank Gruman wrote:
>
>> The tags are nothing more than directories.  They have no 'real' 
>> functionality beyond appearing to be a directory within a larger 
>> tree, although because copies are 'cheap' in Subversion, these 
>> directories are only pointers to the code as some point in time.   
>> From what I gathered, Lorenz idea was about as close as anything else 
>> to giving you what you want.  It's not a requirement to use branches, 
>> so this should work...
>
>
> Yeah I know that, but I want to mimick what CVS does, adapting it to SVN.
>
>> So - that said, what exactly about this doesn't work?  What is your 
>> specific reasoning for wanting to do this?  This may help others 
>> reading this to chime in and help out. 
>
>
> All I want is to not have (or see) the "trunk" directory at the root 
> of everything. So I would have a "tags" directory at the root, 
> alongside libs and project1. But I don't want this "tags" directory to 
> come along when I do a checkout on / because it's only when I want a 
> specific tag that I do a checkout on a given tag.
> So if do this:
>
> svn checkout http://server/svn/
>
> I don't want to see the tags folder in my repository. But if I do this:
>
> svn checkout http://server/svn/tags/release10/
>
> I want to get whats in release10 in my new working copy.
>
> Is this at all possible ?
>
> Thanks for the help
> Olivier
>
> ---------------------------------------------------------------------
> 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: Preventing a folder from being checked out?

Posted by Olivier Sannier <ob...@free.fr>.
Frank Gruman wrote:

> The tags are nothing more than directories.  They have no 'real' 
> functionality beyond appearing to be a directory within a larger tree, 
> although because copies are 'cheap' in Subversion, these directories 
> are only pointers to the code as some point in time.   From what I 
> gathered, Lorenz idea was about as close as anything else to giving 
> you what you want.  It's not a requirement to use branches, so this 
> should work...

Yeah I know that, but I want to mimick what CVS does, adapting it to SVN.

> So - that said, what exactly about this doesn't work?  What is your 
> specific reasoning for wanting to do this?  This may help others 
> reading this to chime in and help out. 

All I want is to not have (or see) the "trunk" directory at the root of 
everything. So I would have a "tags" directory at the root, alongside 
libs and project1. But I don't want this "tags" directory to come along 
when I do a checkout on / because it's only when I want a specific tag 
that I do a checkout on a given tag.
So if do this:

svn checkout http://server/svn/

I don't want to see the tags folder in my repository. But if I do this:

svn checkout http://server/svn/tags/release10/

I want to get whats in release10 in my new working copy.

Is this at all possible ?

Thanks for the help
Olivier

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

Re: Preventing a folder from being checked out?

Posted by Frank Gruman <fg...@verizon.net>.
Either 1.) we are missing something in what you are trying to do, or 2.) 
Subversion just won't do what you are asking at this time.  When you say 
you want a tag to apply to the whole source tree, you are referring to 
something more like a label such as what came with StarTeam or VSS and 
the like where it is more like an attribute assigned to all files at 
some point in time.  I'm far from an advanced user of the system, so I 
am not aware of any attributes that Subversion has that can do this for you.

The tags are nothing more than directories.  They have no 'real' 
functionality beyond appearing to be a directory within a larger tree, 
although because copies are 'cheap' in Subversion, these directories are 
only pointers to the code as some point in time.   From what I gathered, 
Lorenz idea was about as close as anything else to giving you what you 
want.  It's not a requirement to use branches, so this should work...

So - that said, what exactly about this doesn't work?  What is your 
specific reasoning for wanting to do this?  This may help others reading 
this to chime in and help out.

Regards,
Frank

Olivier Sannier wrote:

> Lorenz wrote:
>
>> Hi,
>>
>>  
>>
>>> [...]
>>>   
>>
>>
>> what about
>>
>> /trunc
>>     /libs
>>          /somelib
>>          /someotherlib
>>     /project_one
>>     /project_two
>> /tags
>>     /sometag
>>          /libs
>>               /somelib
>>               /someotherlib
>>          /project_one
>>          /project_two
>>  
>>
> Yes, thanks, that's the recommended way, but I would like to avoid 
> having the "trunk" directory, hence the need to "exclude" tags from a 
> regular checkout.
>
> ---------------------------------------------------------------------
> 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: Preventing a folder from being checked out?

Posted by Olivier Sannier <ob...@free.fr>.
Lorenz wrote:

>Hi,
>
>  
>
>>[...]
>>    
>>
>
>what about
>
>/trunc
>     /libs
>          /somelib
>          /someotherlib
>     /project_one
>     /project_two
>/tags
>     /sometag
>          /libs
>               /somelib
>               /someotherlib
>          /project_one
>          /project_two
>  
>
Yes, thanks, that's the recommended way, but I would like to avoid 
having the "trunk" directory, hence the need to "exclude" tags from a 
regular checkout.

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

Re: Preventing a folder from being checked out?

Posted by Lorenz <lo...@yahoo.com>.
Hi,

>[...]

what about

/trunc
     /libs
          /somelib
          /someotherlib
     /project_one
     /project_two
/tags
     /sometag
          /libs
               /somelib
               /someotherlib
          /project_one
          /project_two


HTH
     Lorenz


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

Re: Preventing a folder from being checked out?

Posted by Olivier Sannier <ob...@free.fr>.
Oh but I understand all that.
The thing is that I want my tags to apply to the whole source tree, not 
just to "project1" or "project2".
And I would much prefer if I could not have a "trunk" directory at the 
root because it has "no real use" to me.
I will hardly do any branches, but tags will be quite frequent, and 
that's why I want to keep them separate.
Isn't there any way to do this?

Jake Robb wrote:

>Olivier,
>
>I think that you are confused about the recommended best practices for
>repository layout.  
>
>The basic idea is to have the root of your repository contain a directory
>for each of your projects, and have each project directory contain three
>more directories -- trunk, branches, and tags.
>
>A new developer shouldn't be doing a checkout of /.  Based on your examples,
>he (or she) should be doing a checkout of /libs/, /project_one/trunk/, and
>/project_two/trunk/.  This means it will take a little bit more time to do
>the initial checkout, but you'll find that it's quite easy, especially if
>you're using a nice GUI tool like TortoiseSVN (my tool of choice when I'm
>using Windows).
>
>For more details, please refer to the Subversion Book:
>http://svnbook.red-bean.com/
>
>I think you will find chapter 5, section 6.1 most helpful.
>
>-Jake
>
>-----Original Message-----
>From: Olivier Sannier [mailto:obones@free.fr] 
>Sent: Thursday, June 30, 2005 4:44 PM
>To: users@subversion.tigris.org
>Subject: Preventing a folder from being checked out?
>
>Hi all,
>
>Coming from CVS, I was used to having tags and branches be a "virtual" 
>concept.
>But now that I work with SVN at work, I just started to wonder about 
>branches, and as it turns out, this is more "real", in the sense that 
>there needs to be folder for branches. The thing is that I've already 
>created the repository like this:
>
>/libs/somelib
>/libs/someotherlib
>/project_one
>/project_two
>
>This is fine with me and if I want to create tag or a branch, I actually 
>have to make it on everything, the projects being heavily interdependent 
>on the libs.
>So if I was to create tag, I should put it inside a "tags" branch and 
>end up with this:
>
>/libs/somelib
>/libs/someotherlib
>/project_one
>/project_two
>/tags/sometag/libs/somelib
>/tags/sometag /libs/someotherlib
>/tags/sometag /project_one
>/tags/sometag /project_two
>
>But if a new developer comes in and does a checkout of /, he will get 
>all the tags, which is not desirable, as he will have to work on trunk 
>anyway. So I'm wondering if there is a way to say: don't include "tags" 
>in a checkout made on / but let it go through if the checkout 
>specifically requests it.
>Is this at all possible? If yes, how?
>I would very much prefer if I would not be forced to create a "trunk" 
>folder at the root and put everything into it. The current organisation 
>makes the tags and branches transparent except to those who really want 
>them.
>
>Thanks for your help
>Olivier Sannier
>
>---------------------------------------------------------------------
>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
>
>
>
>  
>


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

RE: Preventing a folder from being checked out?

Posted by Jake Robb <ja...@mac.com>.
Olivier,

I think that you are confused about the recommended best practices for
repository layout.  

The basic idea is to have the root of your repository contain a directory
for each of your projects, and have each project directory contain three
more directories -- trunk, branches, and tags.

A new developer shouldn't be doing a checkout of /.  Based on your examples,
he (or she) should be doing a checkout of /libs/, /project_one/trunk/, and
/project_two/trunk/.  This means it will take a little bit more time to do
the initial checkout, but you'll find that it's quite easy, especially if
you're using a nice GUI tool like TortoiseSVN (my tool of choice when I'm
using Windows).

For more details, please refer to the Subversion Book:
http://svnbook.red-bean.com/

I think you will find chapter 5, section 6.1 most helpful.

-Jake

-----Original Message-----
From: Olivier Sannier [mailto:obones@free.fr] 
Sent: Thursday, June 30, 2005 4:44 PM
To: users@subversion.tigris.org
Subject: Preventing a folder from being checked out?

Hi all,

Coming from CVS, I was used to having tags and branches be a "virtual" 
concept.
But now that I work with SVN at work, I just started to wonder about 
branches, and as it turns out, this is more "real", in the sense that 
there needs to be folder for branches. The thing is that I've already 
created the repository like this:

/libs/somelib
/libs/someotherlib
/project_one
/project_two

This is fine with me and if I want to create tag or a branch, I actually 
have to make it on everything, the projects being heavily interdependent 
on the libs.
So if I was to create tag, I should put it inside a "tags" branch and 
end up with this:

/libs/somelib
/libs/someotherlib
/project_one
/project_two
/tags/sometag/libs/somelib
/tags/sometag /libs/someotherlib
/tags/sometag /project_one
/tags/sometag /project_two

But if a new developer comes in and does a checkout of /, he will get 
all the tags, which is not desirable, as he will have to work on trunk 
anyway. So I'm wondering if there is a way to say: don't include "tags" 
in a checkout made on / but let it go through if the checkout 
specifically requests it.
Is this at all possible? If yes, how?
I would very much prefer if I would not be forced to create a "trunk" 
folder at the root and put everything into it. The current organisation 
makes the tags and branches transparent except to those who really want 
them.

Thanks for your help
Olivier Sannier

---------------------------------------------------------------------
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