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

Re: Commit not working with multiple .svn directories in single working copy

From: Branko Čibej <brane_at_apache.org>
Date: Tue, 29 Dec 2015 15:45:41 +0100

On 28.12.2015 14:46, Peter Fodrek wrote:
> Dear Mr. Hett,
>> Dňa 28. 12. 2015 o 13:29, Stefan Hett <stefan_at_egosoft.com> napísal:
>>> Dear SVN experts,
>>> I need to have multiple .svn directories inside woking copy.
>>> I need to have svn working copy for /home directory for students
>>> and at least each user needs to have own repository on same machine
>>> It blocks me to commit changes form working copy at home by different repository id
>>> Is it possible for svn to force not to look for inner .svn directories for data, or I need find out each
>>> .svn rename it make commit and return inner .svn directories back,please? Use of externals is not suitable for me
>>> I look forward hearing from you
>>> Yours faithfully
>>> Peter Fodrelk
>> I assume your requirement is rather about the intended folder/check-out structure on your local machine rather than the requirement to have multiple .svn-directories in your working copy.
>> If I'm not mistaken here, then you might wanna rethink your folder structure.
>> Wouldn't something like this work for you?
>> /Project
>> /- myOwnWorkingCopy
>> /- here's your own checkout
>> /- student1WorkingCopy
>> /- here's the checkout for the 1st student
>> /- student2WorkingCopy
>> /- another checkout for the 2nd student
>> /- ....
>> In other words: you have separate checkouts and separate working copies for yourself and all your students.
> my structure is
> /home
> /* working copy of svn://localhost/homedirs */
> /student1
> /* working copy of svn://localhost/student1*/
> /student2
> /termProject
> /* working copy of svn://localhost/student2*/
> commits in student1 and term project works but commit in /home does not. address is ok but repository id does not match.
> Maybe change of id of repository student1 may help, but I have been never done ID change of any repository but I read that it is possible
> and do not know how to force change of repository ID.

Changing the repository ID would be a bad idea. Subversion is telling
you that you're trying to do a single atomic commit to multiple
repositories; that, of course, will not work.

What /will/ work is to define the student's repositories as externals in
the homedirs repository. You'd set the svn:externals property on /home
like this:

    /student1 student1
    /student2 student2

and so on. A checkout/update of /home will then create all the student
working copies.

However, you're going to have trouble maintaining correct permissions
and file ownership if you do that; I expect every student has their own
login? Any time you commit or update from the top level, some files in
the student working copies (home directories) may become owned by you;
you'll have to create a script to restore correct file ownership.

-- Brane
Received on 2015-12-29 15:45:46 CET

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.