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