svn merger error- Unreadable path encountered; access denied

2012-01-13 Thread Lloyd
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

2012-01-13 Thread Ulrich Eckhardt

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

2012-01-13 Thread Lloyd
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.eckha...@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

2012-01-13 Thread Ulrich Eckhardt

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: Space Constrain

2012-01-13 Thread Les Mikesell
2012/1/13 Thorsten Schöning :
> Guten Tag Les Mikesell,
> am Donnerstag, 12. Januar 2012 um 18:26 schrieben Sie:
>
>> We have a lot of component libraries that we
>> want to include in larger projects without recompiling each build
>> (i.e. we want to run known/tested instances) and have been including
>> the binaries in tags so the headers and shared libs are versioned
>> together.
>
> What's your problem at all? That you must version the same pre
> compiled libraries as a tag in each of your projects?

It is a combination of things.  One is the long-ago decision to
combine a large number of projects in the same repository.  The other
is that our QA group wants to test a binary library component
thoroughly, then make sure it is re-used instead of recompiled in each
project that uses it.  Again, a decision made long ago for good
reasons at the time, but perhaps less important now that we have more
strictly-controlled build processes and environments.

> Are the
> libraries such big that you run out of space?

Not strictly speaking.  That is we can deal with the overall disk
space and that requirement won't change by breaking things up.
However we are at a point where the time to complete a svnadmin
dump/load cycle is becoming impractical.  I don't like a situation
where we can't perform maintenance.

>> It''s clearly the wrong thing to do, but it works.
>
> I don't think so, if it saves you time and guarantees the use of
> tested library versions, I would do the same. My in approach in my
> company is to use a separate Repository for all kinds of libraries,
> just version the source code and each developer has to build them on
> his machine on it's own. The IDE just references the built libraries.
> But we don't have that many libraries and whenever we can't build any
> library on our own, I version them pre compiled, too.

Unconstrained growth just seems philosophically wrong - and
unsustainable in the long run.  It might be tolerable if each
component were in its own repository or if subversion had a reasonable
approach to removing objects, but I can't change those things.

> If one just copiess old library versions on updates etc. one can save
> a lot of disk space.
>
>> How
>> can you enforce getting exactly the right things in a parallel
>> repository that has only the headers and libs that will work the same
>> way for external references?
>
> Use tags and/or fixed revisions in your external definition.

Yes, we don't want to change the process of referencing known versions
via svn externals in the upper level projects, we just want the binary
objects and the necessary headers to be in a different repository.  If
everything were java we would probably let maven handle the component
object versioning, but we have a mix of projects.  We do use jenkins
for most build activity, so a custom plugin to tag the build results
might handle it without introducing mistakes.

-- 
   Les Mikesell
 lesmikes...@gmail.com


RE: Space Constrain

2012-01-13 Thread Bob Archer
> 2012/1/13 Thorsten Schöning :
> > Guten Tag Les Mikesell,
> > am Donnerstag, 12. Januar 2012 um 18:26 schrieben Sie:
> >
> >> We have a lot of component libraries that we want to include in
> >> larger projects without recompiling each build (i.e. we want to run
> >> known/tested instances) and have been including the binaries in tags
> >> so the headers and shared libs are versioned together.
> >
> > What's your problem at all? That you must version the same pre
> > compiled libraries as a tag in each of your projects?
> 
> It is a combination of things.  One is the long-ago decision to combine a 
> large
> number of projects in the same repository.  The other is that our QA group
> wants to test a binary library component thoroughly, then make sure it is re-
> used instead of recompiled in each project that uses it.  Again, a decision 
> made
> long ago for good reasons at the time, but perhaps less important now that we
> have more strictly-controlled build processes and environments.
> 
> > Are the
> > libraries such big that you run out of space?
> 
> Not strictly speaking.  That is we can deal with the overall disk space and 
> that
> requirement won't change by breaking things up.
> However we are at a point where the time to complete a svnadmin dump/load
> cycle is becoming impractical.  I don't like a situation where we can't 
> perform
> maintenance.
> 
> >> It''s clearly the wrong thing to do, but it works.
> >
> > I don't think so, if it saves you time and guarantees the use of
> > tested library versions, I would do the same. My in approach in my
> > company is to use a separate Repository for all kinds of libraries,
> > just version the source code and each developer has to build them on
> > his machine on it's own. The IDE just references the built libraries.
> > But we don't have that many libraries and whenever we can't build any
> > library on our own, I version them pre compiled, too.
> 
> Unconstrained growth just seems philosophically wrong - and unsustainable in
> the long run.  It might be tolerable if each component were in its own
> repository or if subversion had a reasonable approach to removing objects, but
> I can't change those things.
> 
> 
> > If one just copiess old library versions on updates etc. one can save
> > a lot of disk space.
> >
> >> How
> >> can you enforce getting exactly the right things in a parallel
> >> repository that has only the headers and libs that will work the same
> >> way for external references?
> >
> > Use tags and/or fixed revisions in your external definition.
> 
> Yes, we don't want to change the process of referencing known versions via svn
> externals in the upper level projects, we just want the binary objects and the
> necessary headers to be in a different repository.  If everything were java we
> would probably let maven handle the component object versioning, but we
> have a mix of projects.  We do use jenkins for most build activity, so a 
> custom
> plugin to tag the build results might handle it without introducing mistakes.
> 

Externals can be pinned to a revision in your external repository. Although, it 
probably makes more sense to use well known paths so if you create a new 
repository you can duplicate the well known paths by just exporting your HEAD, 
deleting your repository, recreating it and importing the previous export. You 
can take this approach for internal and external binary components. Of course, 
if they are internal components you could include the source to them in your 
project and just build them with that project. 

One issue we have is our legacy VB6 dll's that are built on every change. The 
dll's are put into source since most of our devs don't work on those binaries 
or can easily compile them. I have found that the bulk of our repo size is due 
to all these interim build versions. So, these are moved out of the primary 
source repository and put into a separate repo reference with externals. This 
repo can be replaced as it grows too big.

Now, source controlling external components is a judgement call. It might be 
better to just leave them in a public network folder and reference those 
locations in your source projects. Or, you can put them into source control, 
either the same repo or a separate one. 

BOb






Re: Space Constrain

2012-01-13 Thread Les Mikesell
2012/1/13 Bob Archer :
>
> One issue we have is our legacy VB6 dll's that are built on every change. The 
> dll's are put into source since most of our devs don't work on those binaries 
> or can easily compile them. I have found that the bulk of our repo size is 
> due to all these interim build versions. So, these are moved out of the 
> primary source repository and put into a separate repo reference with 
> externals. This repo can be replaced as it grows too big.

Yes, that is exactly the issue and I don't recall seeing any advice
about how to handle it or avoid the problem in the first place.  I
mostly put off doing anything about it through the subversion 1.4->1.6
revisions while 'obliterate' sounded like a possibility.  Now, that
doesn't look any closer to reality than it was years ago, so maybe
there should be some advice against getting into this situation
somewhere for people starting out.

> Now, source controlling external components is a judgement call. It might be 
> better to just leave them in a public network folder and reference those 
> locations in your source projects. Or, you can put them into source control, 
> either the same repo or a separate one.

Our groups are very distributed and wouldn't all have access to a
common file share - and if they did it wouldn't be mapped the same for
everyone and wouldn't perform as well as using externals to pull the
copies in and update only on changes.  We like the functionality, just
not the practical issue on the repository side.

-- 
   Les Mikesell
 lesmikes...@gmail.com


Re: Exception...line 673: assertion failed (checksum != NULL)

2012-01-13 Thread Balogh Péter

Hi,

I've got exactly the same exception from one of our old wc.
I'm not sure what's the reason for cleanup.
The wc was update-ed from 1.6 to 1.7
I did found some .svn directories deeper in the directory tree.
Maybe the update went wrong?
Can I help track this bug down?
I'm already using a fresh checkout so I'm going to have the wc around if 
you wish.


Best regards,
Peter Balogh

On 2012.01.12. 15:07, Andy Levy wrote:

Please don't top-post.

On Thu, Jan 12, 2012 at 09:02, Greg Townes  wrote:

Hi Mark

Yes, I am asking how to solve this exception.

I required a cleanup to get my source code synched with the repository so
that I could do a Commit.
It should not matter why I needed the cleanup, exceptions should be handled
gracefully.
I upgraded from 1.7.1 to 1.7.3.

It does matter why you needed the cleanup, because different reasons
for the cleanup may trigger different conditions (and thus bugs) in
the cleanup code.

  

From: "Cooke, Mark"
To: Greg Townes; "users@subversion.apache.org"

Sent: Thursday, 12 January 2012, 15:29
Subject: RE: Exception...line 673: assertion failed (checksum != NULL)

Hello,


Tried to do a cleanup on my folders and got this message.


'D:\Development\SVN\Releases\TortoiseSVN-1.7.3\ext\subversion\subversion\libsvn_wc\workqueue.c'
   line 673: assertion failed (checksum != NULL)

Are you asking for help?  In which case, what were you doing that required a
cleanup?  Had you upgraded a pre-1.7 working copy by any chance?


I think the last developer left hardcoded lines in the code
as there is a reference to a "D" drive followed by the path
of Development...

I do not have that path on my pc.

FYI: That path is from the original source of your subversion client
(TortoiseSVN) and helps to identify where the error was trapped, it is
nothing to do with your code.


Regards
Greg Townes

~ mark c






Re: Exception...line 673: assertion failed (checksum != NULL)

2012-01-13 Thread Les Mikesell
2012/1/13 Balogh Péter :

> I've got exactly the same exception from one of our old wc.
> I'm not sure what's the reason for cleanup.
> The wc was update-ed from 1.6 to 1.7
> I did found some .svn directories deeper in the directory tree.
> Maybe the update went wrong?
> Can I help track this bug down?
> I'm already using a fresh checkout so I'm going to have the wc around if you
> wish.

Are those subdirectories related to svn external references?  Someone
here reported a similar issue some time after the main part of the wc
should have been upgraded so I was wondering if it doesn't recurse
into the external part until there is a change.

-- 
  Les Mikesell
lesmikes...@gmail.com