You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Ryan Schmidt <su...@ryandesign.com> on 2010/06/01 21:34:54 UTC

Re: Tagging multiple projects within one revision using svn:externals possible bug

On May 28, 2010, at 10:18, Sergii Ostroverkhov wrote:

> CMD script for init test repository:
> svnadmin create BigProject
> 
> echo [general] > BigProject\conf\svnserve.conf
> echo anon-access = write >> BigProject\conf\svnserve.conf
> 
> svn mkdir -m Project1 svn://localhost/BigProject/Project1
> svn mkdir -m Project1 svn://localhost/BigProject/Project1/tags
> svn mkdir -m Project1 svn://localhost/BigProject/Project1/trunk
> svn mkdir -m Project1 svn://localhost/BigProject/Project1/trunk/src
> svn mkdir -m Project2 svn://localhost/BigProject/Project2
> svn mkdir -m Project2 svn://localhost/BigProject/Project2/tags
> svn mkdir -m Project2 svn://localhost/BigProject/Project2/trunk
> svn mkdir -m Project2 svn://localhost/BigProject/Project2/trunk/src
> svn mkdir -m all-trunks svn://localhost/BigProject/trunk
> svn mkdir -m all-tags svn://localhost/BigProject/tags
> 
> To reproduce supposed bug:
> svn checkout svn://localhost/BigProject/trunk BigProject-trunks
> echo svn://localhost/BigProject/Project1/trunk Project1 > svn-externals.txt
> echo svn://localhost/BigProject/Project2/trunk Project2 >> svn-externals.txt
> svn propset svn:externals -F svn-externals.txt BigProject-trunks

You would probably want to "svn commit" these externals definitions at this point, and "svn update" to download the externals into this working copy of trunk.

> svn mkdir -m 1.0.0 svn://localhost/BigProject/tags/1.0.0
> svn copy BigProject-trunks\Project1 BigProject-trunks\Project2 svn://localhost/BigProject/tags/1.0.0

The usual way to create a tag would be

svn copy svn://localhost/BigProject/trunk svn://localhost/BigProject/tags/1.0.0

You don't make the tag directory first. You don't use a working copy; you use URLs. You don't copy individual items out of the trunk; you copy the whole trunk. 

> Expected behaviour:
> svn checkout svn://localhost/BigProject/trunk BigProject-all
> svn mkdir -m 1.0.1 svn://localhost/BigProject/tags/1.0.1
> svn copy BigProject-all\Project1 BigProject-all\Project2 svn://localhost/BigProject/tags/1.0.1
> 
> svn --version:
> svn, version 1.6.6 (r40053)
>    compiled Oct 19 2009, 09:36:48
> Copyright (C) 2000-2009 CollabNet.

If that's not helpful, tell us what you're trying to accomplish.

Re: Tagging multiple projects within one revision using svn:externals possible bug

Posted by Sergii Ostroverkhov <cu...@gmail.com>.
Thanks for simple option 1, it could solve our problem.
Option 2 doesn't fit, cause of needing to do bunch of "svn copy ..." to tag
all projects and then tag to BigProject with pinned externals.
Of course it could be done without tagging all projects, just pinning
externals to revision of trunk, but it is too complicated to automate.
And last question, is it a bug when I got the message "svn:
'BigProject-trunks\Project1' is not under version control", when I want to
svn copy multiple svn:externals paths to url?


On Mon, Jun 14, 2010 at 7:14 PM, Bob Archer <Bo...@amsi.com> wrote:

> Option 1:
>
> Created a nested project folder layout:
>
> /Bigproject9/trunk
>   SubProject1/trunk
>              /branches
>              /tags
>   Subproject2/trunk
>              /branches
>              /tags
>            /branches
>            /tags
>
> Option 2:
>
> Create a folder in the root of the repo BigProject9Tags that is nothing
> more than a folder for each release with pinned externals to the versions of
> each sub project tags that are included in the bigproject release version.
>
> BOb
>

RE: Tagging multiple projects within one revision using svn:externals possible bug

Posted by Bob Archer <Bo...@amsi.com>.
> 1. Yes you're right, but even though I've done committing and updating
> externals I got the same message "svn: 'BigProject-trunks\Project1' is not
> under version control".
> 
> 2. The usual way to create a tag doesn't fit our need of tagging all
> projects within one revision.
> 
> For better understanding:
> - BigProject consists of 9 Projects
> - Each of projects has branches, tags and trunk
> - Branches are created from projects' tags
> - Projects are maintained by different groups of developers
> - Each of developers doesn't have access to all projects
> - Release of BigProject is performed by one senior developer

> So how can I tag all trunks of projects within one revision instead of
> using bunch of "svn copy url1 url2"?:

Option 1:

Created a nested project folder layout:

/Bigproject9/trunk
   SubProject1/trunk
              /branches
              /tags
   Subproject2/trunk
              /branches
              /tags
            /branches
            /tags

Option 2:

Create a folder in the root of the repo BigProject9Tags that is nothing more than a folder for each release with pinned externals to the versions of each sub project tags that are included in the bigproject release version.

BOb

Re: Tagging multiple projects within one revision using svn:externals possible bug

Posted by Sergii Ostroverkhov <cu...@gmail.com>.
Hello,

1. Yes you're right, but even though I've done committing and updating
externals I got the same message "svn: 'BigProject-trunks\Project1' is not
under version control".

2. The usual way to create a tag doesn't fit our need of tagging all
projects within one revision.

For better understanding:
- BigProject consists of 9 Projects
- Each of projects has branches, tags and trunk
- Branches are created from projects' tags
- Projects are maintained by different groups of developers
- Each of developers doesn't have access to all projects
- Release of BigProject is performed by one senior developer

So how can I tag all trunks of projects within one revision instead of using
bunch of "svn copy url1 url2"?:
svn copy svn://localhost/BigProject/Project1/trunk
svn://localhost/BigProject/Project1/tags/1.0.0 --message "1.0.0"
svn copy svn://localhost/BigProject/Project2/trunk
svn://localhost/BigProject/Project2/tags/1.0.0 --message "1.0.0"
...
svn copy svn://localhost/BigProject/ProjectN/trunk
svn://localhost/BigProject/ProjectN/tags/1.0.0 --message "1.0.0"

If mentioned "Expected behaviour" could work with externals then the problem
would be resolved.


On Wed, Jun 2, 2010 at 12:34 AM, Ryan Schmidt <
subversion-2010b@ryandesign.com> wrote:

> On May 28, 2010, at 10:18, Sergii Ostroverkhov wrote:
>
> > CMD script for init test repository:
> > svnadmin create BigProject
> >
> > echo [general] > BigProject\conf\svnserve.conf
> > echo anon-access = write >> BigProject\conf\svnserve.conf
> >
> > svn mkdir -m Project1 svn://localhost/BigProject/Project1
> > svn mkdir -m Project1 svn://localhost/BigProject/Project1/tags
> > svn mkdir -m Project1 svn://localhost/BigProject/Project1/trunk
> > svn mkdir -m Project1 svn://localhost/BigProject/Project1/trunk/src
> > svn mkdir -m Project2 svn://localhost/BigProject/Project2
> > svn mkdir -m Project2 svn://localhost/BigProject/Project2/tags
> > svn mkdir -m Project2 svn://localhost/BigProject/Project2/trunk
> > svn mkdir -m Project2 svn://localhost/BigProject/Project2/trunk/src
> > svn mkdir -m all-trunks svn://localhost/BigProject/trunk
> > svn mkdir -m all-tags svn://localhost/BigProject/tags
> >
> > To reproduce supposed bug:
> > svn checkout svn://localhost/BigProject/trunk BigProject-trunks
> > echo svn://localhost/BigProject/Project1/trunk Project1 >
> svn-externals.txt
> > echo svn://localhost/BigProject/Project2/trunk Project2 >>
> svn-externals.txt
> > svn propset svn:externals -F svn-externals.txt BigProject-trunks
>
> You would probably want to "svn commit" these externals definitions at this
> point, and "svn update" to download the externals into this working copy of
> trunk.
>
> > svn mkdir -m 1.0.0 svn://localhost/BigProject/tags/1.0.0
> > svn copy BigProject-trunks\Project1 BigProject-trunks\Project2
> svn://localhost/BigProject/tags/1.0.0
>
> The usual way to create a tag would be
>
> svn copy svn://localhost/BigProject/trunk
> svn://localhost/BigProject/tags/1.0.0
>
> You don't make the tag directory first. You don't use a working copy; you
> use URLs. You don't copy individual items out of the trunk; you copy the
> whole trunk.
>
> > Expected behaviour:
> > svn checkout svn://localhost/BigProject/trunk BigProject-all
> > svn mkdir -m 1.0.1 svn://localhost/BigProject/tags/1.0.1
> > svn copy BigProject-all\Project1 BigProject-all\Project2
> svn://localhost/BigProject/tags/1.0.1
> >
> > svn --version:
> > svn, version 1.6.6 (r40053)
> >    compiled Oct 19 2009, 09:36:48
> > Copyright (C) 2000-2009 CollabNet.
>
> If that's not helpful, tell us what you're trying to accomplish.
>
>