You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Lloyd <ll...@gmail.com> on 2012/01/13 10:05:00 UTC

svn merger error- Unreadable path encountered; access denied

Hi,

I am trying out svn branching and merging. I have a repository named
MyRepo, to create a branch I have done the following

Structure of MyRepo is as follows
=========================
  MyRepo
    -> Branch
    -> Trunk
    -> Tags

First checked out the repository
========================
 svn checkout svn://svnserver/MyRepo

Then created a branch using
======================

svn copy svn://svnserver/MyRepo/trunk
svn://svnserver/MyRepo/Branch/TestMerge -m "test merging"

Then checked out the new branch to a new location (E:\br)
===========================================

 svn checkout svn://svnserver/MyRepo/Branch/TestMerge

Then Added a new file to this TestMerge folder, then added in to the svn
using svn add command, then commited it to the server.

Now I want to merge this change to the trunk using svn merge command, for
that I have checked out a new working copy (E:\ch), then executed the merge
command

svn merge svn://svnserver/MyRepo/Branch/TestMerge
svn://svnserver/MyRepo/trunk E:\ch\Trunk

But I get the following error, what am I doing wrong?

"svn: Unreadable path encountered; access denied"

Thanks,
  Lloyd

Re: svn merger error- Unreadable path encountered; access denied

Posted by Ulrich Eckhardt <ul...@dominolaser.com>.
Am 13.01.2012 13:32, schrieb Lloyd:
> A simple example would be much more helpful than an explanation. And that
> "lower case" was a typo in the mail.

..would have been too easy, eh? ;) Anyhow, I think I know what's wrong:

 >>> svn merge svn://svnserver/MyRepo/Branch/**TestMerge
 >>> svn://svnserver/MyRepo/trunk E:\ch\Trunk
 >>>
 >>> But I get the following error, what am I doing wrong?
 >>>
 >>> "svn: Unreadable path encountered; access denied"

I think you simply have the two source paths in the wrong order. The 
first one should be the origin and the second one the one with the 
modifications, which are then merged into the third one.

Note that the reverse order is not wrong per se, "reverse merging" to 
remove a change is a feature.


> Should I be checking out only trunk or only the branch I have to work.

Actually, we here (5 people in adjacent rooms) commit to trunk directly. 
This means that changes are tested by others earlier. It also causes a 
few issues now and then, but they are easy to resolve because they are 
still fresh. If you find someone elses commit causes problems, you can 
simply "svn update -r" to an earlier revision and tell the person about 
the problem. We only create feature branches for really intrusive 
changes that might be unstable for several commits, and of course 
release branches to isolate them from later development.

Anyway, getting back to your question, the answer is yes. When working 
on a feature branch, you only check out that branch. Then, in order to 
merge it back into trunk, you create a separate WC for that. If you then 
want to merge a bugfix from the trunk to a release branch, you check out 
a third WC. Note that you can also "svn switch" WCs, which is relatively 
cheap concerning the bandwidth and time used.

Using a simple filesystem copy allows you to rather quickly create a new 
working copy, which you can then switch to the new location. If you have 
the whole repo checked out, an update means downloading and storing 
every single tag and branch, even those you don't work on. Also, you 
can't use the cheap way to clone a working copy to copy just a part.


> Am I doing anything wrong in creating the branch (I did as per
> the book said)?

No, creating the branch looks fine. There are other ways, like doing it 
in the working copy (WC->WC copy) or mixed (WC->URL copy), but all are 
correct.


Good luck!

Uli
**************************************************************************************
Domino Laser GmbH, Fangdieckstraße 75a, 22547 Hamburg, Deutschland
Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932
**************************************************************************************
Visit our website at http://www.dominolaser.com
**************************************************************************************
Diese E-Mail einschließlich sämtlicher Anhänge ist nur für den Adressaten bestimmt und kann vertrauliche Informationen enthalten. Bitte benachrichtigen Sie den Absender umgehend, falls Sie nicht der beabsichtigte Empfänger sein sollten. Die E-Mail ist in diesem Fall zu löschen und darf weder gelesen, weitergeleitet, veröffentlicht oder anderweitig benutzt werden.
E-Mails können durch Dritte gelesen werden und Viren sowie nichtautorisierte Änderungen enthalten. Domino Laser GmbH ist für diese Folgen nicht verantwortlich.
**************************************************************************************


Re: svn merger error- Unreadable path encountered; access denied

Posted by Lloyd <ll...@gmail.com>.
Thanks Uli. This is what I understood when reading the subversion book. If
you were in my position, what would you have done?

A simple example would be much more helpful than an explanation. And that
"lower case" was a typo in the mail.

And also I have few questions:-

Should I be checking out only trunk or only the branch I have to work. Am I
doing anything wrong in creating the branch (I did as per the book said)?

Thank you very much,
  Lloyd

On Fri, Jan 13, 2012 at 5:04 PM, Ulrich Eckhardt <
ulrich.eckhardt@dominolaser.com> wrote:

> Am 13.01.2012 10:05, schrieb Lloyd:
>
>  I am trying out svn branching and merging. I have a repository named
>> MyRepo, to create a branch I have done the following
>>
>> Structure of MyRepo is as follows
>> =========================
>>   MyRepo
>>     ->  Branch
>>     ->  Trunk
>>     ->  Tags
>>
>> First checked out the repository
>> ========================
>>  svn checkout svn://svnserver/MyRepo
>>
>
> Why? You're just adding overhead by checking out the whole content of the
> repository, including all branches and all tags. Generally, the advise is
> to check out a working copy for just the part you are planning to work on.
> I typically have a handful of trunk checkouts, one of each major release
> branch and the tags only when I'm building binaries (which I don't, the
> nightly autobuild does that here).
>
>
>
>  Then created a branch using
>> ======================
>>
>> svn copy svn://svnserver/MyRepo/trunk
>> svn://svnserver/MyRepo/Branch/**TestMerge -m "test merging"
>>
>> Then checked out the new branch to a new location (E:\br)
>> ==============================**=============
>>
>>  svn checkout svn://svnserver/MyRepo/Branch/**TestMerge
>>
>
> Similarly, why? You have a working copy containing the whole repository.
> If you updated that working copy, it would pull the newly created folder
> already. Also, something I can't tell from the info provided, if you check
> out working copies on top/inside each other, you are up for trouble.
>
>
>
>  Then Added a new file to this TestMerge folder, then added in to the svn
>> using svn add command, then commited it to the server.
>>
>> Now I want to merge this change to the trunk using svn merge command, for
>> that I have checked out a new working copy (E:\ch),
>>
>
> Again, one more working copy unnecessarily, as you already have one for
> the trunk where you can do stuff.
>
>
>  then executed the merge command
>>
>> svn merge svn://svnserver/MyRepo/Branch/**TestMerge
>> svn://svnserver/MyRepo/trunk E:\ch\Trunk
>>
>> But I get the following error, what am I doing wrong?
>>
>> "svn: Unreadable path encountered; access denied"
>>
>
> "Trunk" is not the same as "trunk", SVN is case sensitive. BTW: There are
> repository-side configurations that disallow commits that would add files
> that only differ by their case. A directory containing such files would be
> impossible to check out on MS Windows.
>
> Generally, since you are using MS Windows, I'd suggest using TortoiseSVN,
> as it provides a friendlier interface where you simply pick the path from a
> list instead of manually (mis-)typing it. ;)
>
>
> Greetings!
>
> Uli
> ****************************************************************
> **************************
> Domino Laser GmbH, Fangdieckstraße 75a, 22547 Hamburg, Deutschland
> Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932
> ****************************************************************
> **************************
> Visit our website at http://www.dominolaser.com
> ****************************************************************
> **************************
> Diese E-Mail einschließlich sämtlicher Anhänge ist nur für den Adressaten
> bestimmt und kann vertrauliche Informationen enthalten. Bitte
> benachrichtigen Sie den Absender umgehend, falls Sie nicht der
> beabsichtigte Empfänger sein sollten. Die E-Mail ist in diesem Fall zu
> löschen und darf weder gelesen, weitergeleitet, veröffentlicht oder
> anderweitig benutzt werden.
> E-Mails können durch Dritte gelesen werden und Viren sowie
> nichtautorisierte Änderungen enthalten. Domino Laser GmbH ist für diese
> Folgen nicht verantwortlich.
> ****************************************************************
> **************************
>
>

Re: svn merger error- Unreadable path encountered; access denied

Posted by Ulrich Eckhardt <ul...@dominolaser.com>.
Am 13.01.2012 10:05, schrieb Lloyd:
> I am trying out svn branching and merging. I have a repository named
> MyRepo, to create a branch I have done the following
>
> Structure of MyRepo is as follows
> =========================
>    MyRepo
>      ->  Branch
>      ->  Trunk
>      ->  Tags
>
> First checked out the repository
> ========================
>   svn checkout svn://svnserver/MyRepo

Why? You're just adding overhead by checking out the whole content of 
the repository, including all branches and all tags. Generally, the 
advise is to check out a working copy for just the part you are planning 
to work on. I typically have a handful of trunk checkouts, one of each 
major release branch and the tags only when I'm building binaries (which 
I don't, the nightly autobuild does that here).


> Then created a branch using
> ======================
>
> svn copy svn://svnserver/MyRepo/trunk
> svn://svnserver/MyRepo/Branch/TestMerge -m "test merging"
>
> Then checked out the new branch to a new location (E:\br)
> ===========================================
>
>   svn checkout svn://svnserver/MyRepo/Branch/TestMerge

Similarly, why? You have a working copy containing the whole repository. 
If you updated that working copy, it would pull the newly created folder 
already. Also, something I can't tell from the info provided, if you 
check out working copies on top/inside each other, you are up for trouble.


> Then Added a new file to this TestMerge folder, then added in to the svn
> using svn add command, then commited it to the server.
>
> Now I want to merge this change to the trunk using svn merge command, for
> that I have checked out a new working copy (E:\ch),

Again, one more working copy unnecessarily, as you already have one for 
the trunk where you can do stuff.

> then executed the merge command
>
> svn merge svn://svnserver/MyRepo/Branch/TestMerge
> svn://svnserver/MyRepo/trunk E:\ch\Trunk
>
> But I get the following error, what am I doing wrong?
>
> "svn: Unreadable path encountered; access denied"

"Trunk" is not the same as "trunk", SVN is case sensitive. BTW: There 
are repository-side configurations that disallow commits that would add 
files that only differ by their case. A directory containing such files 
would be impossible to check out on MS Windows.

Generally, since you are using MS Windows, I'd suggest using 
TortoiseSVN, as it provides a friendlier interface where you simply pick 
the path from a list instead of manually (mis-)typing it. ;)


Greetings!

Uli
**************************************************************************************
Domino Laser GmbH, Fangdieckstraße 75a, 22547 Hamburg, Deutschland
Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932
**************************************************************************************
Visit our website at http://www.dominolaser.com
**************************************************************************************
Diese E-Mail einschließlich sämtlicher Anhänge ist nur für den Adressaten bestimmt und kann vertrauliche Informationen enthalten. Bitte benachrichtigen Sie den Absender umgehend, falls Sie nicht der beabsichtigte Empfänger sein sollten. Die E-Mail ist in diesem Fall zu löschen und darf weder gelesen, weitergeleitet, veröffentlicht oder anderweitig benutzt werden.
E-Mails können durch Dritte gelesen werden und Viren sowie nichtautorisierte Änderungen enthalten. Domino Laser GmbH ist für diese Folgen nicht verantwortlich.
**************************************************************************************