On Wed, Oct 20, 2010 at 12:11, Andy Levy <andy.levy_at_gmail.com> wrote:
> On Mon, Oct 18, 2010 at 20:52, Tech Geek <techgeek12345_at_gmail.com> wrote:
>> Hi,
>>
>> My repository path is /var/lib/svn for the SVN server. However I encountered
>> a unique situation as follow:
>>
>> The following works:
>> #svnadmin create /var/lib/svn/projectA
>>
>> From a svn client:
>> #svn co http://svnserver/svn/projectA%a0projectA
>>
>>
>> However the following does NOT work:
>> #mkdir /var/lib/svn/projectB/
>> #sudo svnadmin create /var/lib/svn/projectB/partA
>> #sudo svnadmin create /var/lib/svn/projectB/partB
>>
>> From a svn client:
>> #svn co http://svnserver/svn/projectB/partA%a0partB
>>
>> Is it true that all the directories directly under /var/lib/svn/ should be
>> an *actual* repository?
>
> No, they will not be a single, unified repository. You have created
> two separate repositories, /var/lib/svn/projectB/partA and
> /var/lib/svn/projectB/partB
>
>> Can't we have some pathname like "ProjectB" under
>> /var/lib/svn/ and then have repositories (like PartA and PartB) under it
>> without changing the root path of the repository which is /var/lib/svn?
>
> Subversion does not support "nesting" like this. Your repository must
> be an immediate child directory of /var/lib/svn .
Edit: I should have specified this as "the path you have set as your
SVNParentPath"
>> How do you overcome this situation? I want PartA and PartB to be separate
>> SVN repository but I do not want to place them under /var/lib/svn/ directory
>> because they beloing to ProjectB and in future other projects like ProjectD
>> could have PartA and PartB in the same manner.
>
> If PartA & PartB are part of the same project, why are they in
> separate repositories in the first place?
>
> A more conventional approach would be:
>
> /var/lib/svn/ProjectB
> /var/lib/svn/ProjectD
>
> And then PartA & PartB would be paths *inside* the ProjectB repository
> - not distinct repositories themselves.
>
The other way you could do this, if you insist upon PartA & PartB
being separate repositories, is to have a different <Location> block
for each project, and specify SVNParentPath as /var/lib/svn/ProjectB .
Then you could have PartA & PartB set up as separate repositories -
albeit with a lot more management overhead as you add
projects/repositories, and potentially more confusion.
Received on 2010-10-20 18:22:49 CEST