RE: How Big A Dump File Can Be Handled?

2013-08-20 Thread Geoff Field
> From: Ben Reser
> Sent: Wednesday, 21 August 2013 12:12 PM
> On Tue Aug 20 16:44:08 2013, Geoff Field wrote:
> > I've seen some quite large dump files already - one got up 
> > to about 28GB.  The svnadmin 1.2.3 tool managed to cope with 
> > that quite successfully.  Right now, our largest repository 
> > (some 19,000 revisions with many files, including 
> > installation packages) is dumping.  In the 5300 range of 
> > revisions, the dump file has just passed 9GB.

Overall, it got to about 29GB.  Dump and load worked fine, although they got a 
bit slow towards the end.  (In fact, I delayed sending this until it had 
actually finished.)

> Shouldn't be a problem within the limits of the OS and filesystem.  

I've just realised that my concern was based on a power-of-2 limitation that 
means that a 32-bit signed integer would roll over at the 2GB mark, with an 
unsigned roll-over at 4GB.  It's possible the Windows Server 2003 file system 
might have started to complain when it ran out of block indices/counters or 
some such, but there's no reason a 32GB+ file won't work if 4.1GB or more works.

> However, I'd say why are you bothering to produce dump files? 
>  Why not simply pipe the output of your dump command to a 
> load command, e.g.
> 
> svnadmin create newrepo
> svnadmin dump --incremental oldrepo | svnadmin load newrepo

I've been working in Windoze too long - I failed to think of that option.  I'll 
use that for the rest of the repositories (about 19 remain to be done).  Thank 
you for that application of the clue-by-four.  You've made the rest of my task 
a lot easier.

I really should have done it all using a scripting language of some sort, too.  
I've told myself it's really too close to the end of the process to think of 
*that* change now, except I've just managed to quickly throw together a batch 
file to do the job.  I could probably have done it in python or some other 
scripting language, but batch files are quick and easy.  Again, thanks Ben for 
the prompt to use my head a bit better (even though you didn't explicitly 
suggest this aspect).

CopyBDBToFSFS.bat:

  rem Create a new repository - using the OLD format just in case we need to 
switch back to the old server
  "C:\Program Files\Subversion\bin\svnadmin.exe" create "%1_FSFS"
  rem Copy the data from the old repository to the new one
  "C:\Program Files\Subversion\bin\svnadmin.exe" dump --incremental "%1" | 
"C:\Program Files\Subversion\bin\svnadmin.exe" load "%1_FSFS"
  rem Change the names to make the new repository accessible using the existing 
authentication and URLs and the old one accessible for emergency use.
  ren "%1" "%1_BDB"
  ren "%1_FSFS" "%1"
  rem Check the new repository with the current tools to confirm it's OK.
  svnadmin verify "%1"


Note that we have the old version 1.2.3 server software installed at the 
C:\Program Files\Subversion location, and later versions are stored under other 
locations, with the path set to point to the new version.  I'm creating the new 
repositories with the old version for those (hopefully rare) occasions when we 
need to switch back to the old server version.

> You'll need space for two repos but that should be less than 
> the space the dump file will take.  

We're keeping the old repos anyway, just in case.  We're an automotive parts 
company with support requirements for some quite old versions, so we can't 
afford to throw away too much history.  Even though it's a RAID system (using 
Very Expensive disk drives, so it's actually a RAVED system), there's lots of 
space available on the drive where the repositories live.

> I included the 
> --incremental option above because there's no reason to 
> describe the full tree for every revision when you're doing a 
> dump/load cycle.

That makes sense.

>  You can save space with --deltas if you 
> really want the dump files, but at the cost of extra CPU time.  
> If you're just piping to load the CPU to calculate the delta 
> isn't worth it since you're not saving the dump file.

I agree.  The server's not particularly new, so if I can save on processor time 
that's a good thing.  I'm discarding/reusing the dump files anyway, since we're 
keeping the original repositories (and we have a separate backup system for the 
servers - I know it works too, because I've had to restore some of the BDB 
repositories from it).

Regards,

Geoff

-- 
Apologies for the auto-generated legal boilerplate added by our IT department:


- The contents of this email, and any attachments, are strictly private
and confidential.
- It may contain legally privileged or sensitive information and is intended
solely for the individual or entity to which it is addressed.
- Only the intended recipient may review, reproduce, retransmit, disclose,
disseminate or otherwise use or take action in reliance upon the information
contained in this email and any attachments, with the permission of
Australian Arrow Pty. Ltd.
- If you have received this communication i

Re: svn 1.8.1: segmentation fault on merge

2013-08-20 Thread Ben Reser
On Tue Aug 20 08:09:02 2013, John Jacobson wrote:
> I am encountering the crash described below when doing a particular
> merge. I've tried the merge on a clean checkout - it still segfaults.
> The same merge succeeds with svn 1.7.8. What are the steps that I
> should take in order to file a meaningful issue report?

If you're able to build from source the best report can be to build 
Subversion by passing --enable-maintainer-mode to configure and then 
running the merge via gdb.  You don't need to install the version with 
debugging symbols to do this (just configure and make).

The following should do the trick (where BUILDDIR is where you built 
subversion):
libtool e gdb --args $BUILDDIR/subversion/svn/svn merge 
^/offline/asmm/branches/uat/Production --verbose

After gdb starts type r and press enter.

You should get a backtrace when the segfault happens.  Post the 
backtrace here.

That is going to be the best way.  If you can't do that you're probably 
going to have to try and describe the changes that are being merged.  
If you can find a way to reproduce it from a fresh repo with minimal 
steps that's even better.


Re: How Big A Dump File Can Be Handled?

2013-08-20 Thread Ben Reser
On Tue Aug 20 16:44:08 2013, Geoff Field wrote:
> I've seen some quite large dump files already - one got up to about 28GB.  
> The svnadmin 1.2.3 tool managed to cope with that quite successfully.  Right 
> now, our largest repository (some 19,000 revisions with many files, including 
> installation packages) is dumping.  In the 5300 range of revisions, the dump 
> file has just passed 9GB.

Shouldn't be a problem within the limits of the OS and filesystem.  
However, I'd say why are you bothering to produce dump files?  Why not 
simply pipe the output of your dump command to a load command, e.g.

svnadmin create newrepo
svnadmin dump --incremental oldrepo | svnadmin load newrepo

You'll need space for two repos but that should be less than the space 
the dump file will take.  I included the --incremental option above 
because there's no reason to describe the full tree for every revision 
when you're doing a dump/load cycle.  You can save space with --deltas 
if you really want the dump files, but at the cost of extra CPU time.  
If you're just piping to load the CPU to calculate the delta isn't 
worth it since you're not saving the dump file.


Re: Cannot check out public directory with client 1.8.x without access to repo root

2013-08-20 Thread Mark Tsuchida
Hi Ivan,

On Tue, Aug 20, 2013 at 12:02 AM, Ivan Zhakov  wrote:
> On Mon, Aug 19, 2013 at 11:14 PM, Ivan Zhakov  wrote:
>> On Mon, Aug 19, 2013 at 10:19 PM, Mark Tsuchida  
>> wrote:
[...]
>>> The server is running SVN 1.6.11 (CentOS 6.4) with Apache and TLS.
>>> Our repository (let's call it "myrepo") allows public read access (* =
>>> r) to myrepo/trunk, but not to myrepo/ (the root). There is also a
>>> directory myrepo/trunk/secret to which only specific users have access
>>> to.
>>>
>>> Everything has been working as expected with SVN 1.6 and 1.7 clients:
>>> in particular, no username or password is requested when checking out
>>> myrepo/trunk.
>>>
>>> However, with SVN 1.8.0 and 1.8.1 clients, it is not possible to check
>>> out any directory without supplying the credentials of a user who has
>>> access to the repository root.
>>>
>>> svn co https://our.server.com/svn/myrepo/trunk -> Requires
>>> authentication with client 1.8.x but not with 1.6.x or 1.7.x
>>> svn list https://our.server.com/svn/myrepo/trunk -> Works even with 1.8.1
>>> svn list https://our.server.com/svn/myrepo -> Requires auth, as expected
[...]
>>> The following is the section of ssl_access_log produced by checking
>>> out myrepo/trunk using client 1.6.18 (OS X):
>>> xx.xx.xx.xx - - [16/Aug/2013:17:36:35 -0700] "OPTIONS
>>> /svn/myrepo/trunk HTTP/1.1" 200 197
>> [...]
>>> /svn/myrepo/!svn/vcc/default HTTP/1.1" 207 420
>>> xx.xx.xx.xx - - [16/Aug/2013:17:36:35 -0700] "PROPFIND
>>> /svn/myrepo/!svn/bln/123 HTTP/1.1" 207 479
>>>
>>> And the following is the section of ssl_access_log produced by
>>> checking out myrepo/trunk using client 1.8.1 (TortoiseSVN on Windows
>>> 7):
>>> xx.xx.xx.xx - - [16/Aug/2013:17:34:05 -0700] "OPTIONS
>>> /svn/myrepo/trunk HTTP/1.1" 200 197
>> [...]
>>> xx.xx.xx.xx - - [16/Aug/2013:17:34:06 -0700] "PROPFIND
>>> /svn/myrepo/!svn/bc/123 HTTP/1.1" 401 483
> It should be "403 Forbidden", not "401 Unauthorized". Looks like some
> issue with server configuration.

I can get the server to return 403 Forbidden for
https://our.server.com/svn/myrepo by removing "Require valid-user"
from our Apache config. This does seem to allow the anonymous checkout
of https://our.server.com/svn/myrepo/trunk to succeed. But this also
prevents the client from asking for a password altogether when
checking out e.g. https://our.server.com/svn/myrepo, which is not the
desired behavior.

>>> It appears that the 1.8.1 client requests /svn/myrepo/!svn/bc/123, to
>>> which access is denied (401), whereas client 1.6.18 only ever requests
>>> /svn/myrepo/!svn/bc/123/trunk, to which access is granted.
>>>
>> Most likely it is some problem with inherited properties feature
>> implemented in Subversion 1.8.
>>
> The issue doesn't reproduces with server configured for non-anonymous
> access: the server returns 401 Forbidden for PROPFIND request on
> repository root and handled properly by Subversion 1.8 client.

(I assume you meant 403 Forbidden.) Does that still allow checking out
the root by users who do have read permission for the root? Can you
perhaps spot an error in my authz and apache configs (please see my
reply to Daniel)?

Thanks for the help,
Mark


Re: Cannot check out public directory with client 1.8.x without access to repo root

2013-08-20 Thread Mark Tsuchida
Hi Daniel,

On Mon, Aug 19, 2013 at 12:06 PM, Daniel Shahaf  wrote:
> Mark Tsuchida wrote on Mon, Aug 19, 2013 at 11:19:42 -0700:
>> svn co https://our.server.com/svn/myrepo/trunk -> Requires
>> authentication with client 1.8.x but not with 1.6.x or 1.7.x
>> svn list https://our.server.com/svn/myrepo/trunk -> Works even with 1.8.1
>> svn list https://our.server.com/svn/myrepo -> Requires auth, as expected
>>
>> The 1.8.x clients can successfully check out myrepo/trunk if a
>> username and password are given, for a user with access to the
>> repository root.
[...]
> Information that might be relevant includes:
>
> - The authz file
> - The  block

Thanks for the suggestions. I've been able to simplify the authz file
to the following without changing the problematic behavior:

-- begin --
[myrepo:/]
mark = rw
* =
[myrepo:/trunk]
* = r
mark = rw
[/]
mark = rw
* =
-- end --

The  block looks like this:

-- begin --

DAV svn
SVNParentPath /home/svnroot
SSLRequireSSL
AuthType Basic
AuthName "Repository"
AuthUserFile /etc/httpd/httpdsvnpasswd
AuthzSVNAccessFile /etc/httpd/svnAccess

Satisfy Any
Require valid-user

-- end --


> - Whether 1.7.x reproduces the problem under either serf and neon (did
>   you test with each of them?)

I tried compiling SVN 1.7.11 with serf 1.3.1 and neon 0.29.6. Both work fine:

$ ~/tmp/bin/svn --config-option servers:global:http-library=serf co
https://our.server.com/svn/myrepo/trunk
# -> OK

$ ~/tmp/bin/svn --config-option servers:global:http-library=neon co
https://our.server.com/svn/myrepo/trunk
# -> OK


> - Whether the problem reproduces with 1.6.17
>
> Also, you should upgrade to at least 1.6.17, if not 1.7.11 or 1.8.1, to
> pick up fixes to security issues.  (An upgrade to at least 1.7 could
> easily fix your problem, too, since it'll enable 1.7+ clients to talk
> HTTPv2, which will avoid the HTTP-non-v2 compatibility codepath (unless
> you have 1.6 clients too...).)

I haven't had a chance to test this yet. I see your point about
upgrading, but it would be nice if we could keep 1.6.11, which is the
default version on CentOS/RHEL 6.4, unless this turns out to be a true
incompatibility.

Mark


How Big A Dump File Can Be Handled?

2013-08-20 Thread Geoff Field
Just a query out of curiosity:

I'm currently in the process of migrating all 74 of our BDB repositories to 
FSFS via a dump/create/load cycle.

I've seen some quite large dump files already - one got up to about 28GB.  The 
svnadmin 1.2.3 tool managed to cope with that quite successfully.  Right now, 
our largest repository (some 19,000 revisions with many files, including 
installation packages) is dumping.  In the 5300 range of revisions, the dump 
file has just passed 9GB.

Am I going to run into problems, or is it open-ended?  This probably comes down 
to the data type of the file index parameters/variables.

I guess I'll find out soon enough, as the dump churns away (and, if/when that 
succeeds, the subsequent load churns through).

Just in case any developer is on hand during my work day here in Australia, it 
might be nice to know.  I'll let the list know if there's a crash during the 
process, too.

Regards,

Geoff

-- 
Apologies for the auto-generated legal boilerplate added by our IT department. 
- The contents of this email, and any attachments, are strictly private
and confidential.
- It may contain legally privileged or sensitive information and is intended
solely for the individual or entity to which it is addressed.
- Only the intended recipient may review, reproduce, retransmit, disclose,
disseminate or otherwise use or take action in reliance upon the information
contained in this email and any attachments, with the permission of
Australian Arrow Pty. Ltd.
- If you have received this communication in error, please reply to the sender
immediately and promptly delete the email and attachments, together with
any copies, from all computers.
- It is your responsibility to scan this communication and any attached files
for computer viruses and other defects and we recommend that it be
subjected to your virus checking procedures prior to use.
- Australian Arrow Pty. Ltd. does not accept liability for any loss or damage
of any nature, howsoever caused, which may result
directly or indirectly from this communication or any attached files. 




svn 1.8.1: segmentation fault on merge

2013-08-20 Thread John Jacobson
I am encountering the crash described below when doing a particular merge.
I've tried the merge on a clean checkout - it still segfaults. The same
merge succeeds with svn 1.7.8. What are the steps that I should take in
order to file a meaningful issue report?



$ svn merge ^/offline/asmm/branches/uat/Production --verbose
--- Merging
*Segmentation fault*


$ svn info .
Path: .
Working Copy Root Path: 
URL: 
Relative URL: ^/offline/asmm/trunk/Production
Repository Root: 
Repository UUID: 3c33d142-4166-11dd-ac8f-de326a75b49c
Revision: 180446
Node Kind: directory
Schedule: normal


$ svn info ^/offline/asmm/branches/uat/Production
Path: Production
URL: 
Relative URL: ^/offline/asmm/branches/uat/Production
Repository Root: svn://etgsvn/etg
Repository UUID: 3c33d142-4166-11dd-ac8f-de326a75b49c
Revision: 180449
Node Kind: directory

(Compiled & running on CentOS 6.2)
$ svn --version
svn, version 1.8.1 (r1503906)
   compiled Aug 16 2013, 14:07:12 on x86_64-unknown-linux-gnu

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme


Re: Switching

2013-08-20 Thread Thorsten Schöning
Guten Tag John Maher,
am Dienstag, 20. August 2013 um 19:33 schrieben Sie:

> For example, when I switch to branch P it switches OK.

Where did you switch from? Does this branch contain the directory
which is responsible for the later mentioned error message? It has
been created by someone of course, either by svn because it's part of
branch or by something other like a build tool.

> An svn
> status on the problem directory shows it with a '?'.  Then I switch
> to branch E and get a conflict.  It says "local unversioned,
> incoming add upon switch".

Which is correct behavior as the director is present, but not versioned.

> The local should be unversioned, it is
> not part of branch P. I do not know why the directory did not get
> deleted during the switch.

Surely because it contained unversioned data itself and therefor
couldn't be deleted by svn as it tries to never delete unversioned
data.

> Svn revert does not do anything useful.  So I then issue svn
> resolve --accept working UI_Email where UI_Email is the directory
> causing the problems.  This clears the conflict.

Of course, that's what resolve is meant for ;-), but the interesting
thing is the data in the directory. It may not contain all the files
and dirs need from your branch E where the directory is versioned in.

> Then I switch to branch P.  Then is says "local delete, incoming
> delete".  Why it has a local delete is beyond me.

This could be because your conflict resolution which may be missing
data which should be present in the director yin branch E, an is not
in your local working copy. This means something has changed but
didn't get committed because you switched instead of first committing
the changes from your conflict resolution.

> So I resolve the conflict then commit and decide to let subversion
> delete the directory (I have a backup because I've lost code to
> subversion before).

You never lose code unless you lose your repo, the only thing may be
that you don't know how to revert to older revisions. ;-) And yes, I
often have the same problem using the console applications and prefer
using Tortoise instead in those cases.

> Then I switch to branch E.  No conflict.

Of course, because the directory is missing, which is different to
what you have described in the start: You switched to branch P from
some other branch, which contained the directory and it surely did
contain unversioned files which prevented svn from deleting the
directory on switching to branch P.

> But I won't get my hopes
> up yet, I still do not have the new library included which was the
> whole reason for creating the branch in the first place.  So I copy
> over the directory and do a svn add then commit.  Then I can switch
> to branch P.  This is where the problem arises.  Subversion deletes
> the files but not the directory because it contains files that do
> not belong in subversion.

That's the info which should have been in the first mail and the start
of this one. :-)

> I have no control over this as the
> compiler puts them there.  They are on the global ignore list.

And subversion can't know how important those files are for you and
therefor can't just delete them. This problem is up to you, you need to
delete them on your own after switching to branch P if you don't need
the directory in your working copy.

> My question is how to properly handle this?  Or is branching
> unusable in this situation with out the extra hassle?

As subversion can't know what to do with unversioned files, it leaves
them as they are where they are. It is up to you to clean up your
working copy in such a way that it doesn't contain any mess which
prevents you from switching between different branches.

Mit freundlichen Grüßen,

Thorsten Schöning

-- 
Thorsten Schöning   E-Mail:thorsten.schoen...@am-soft.de
AM-SoFT IT-Systeme  http://www.AM-SoFT.de/

Telefon...05151-  9468- 55
Fax...05151-  9468- 88
Mobil..0178-8 9468- 04

AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow



RE: Switching

2013-08-20 Thread Andrew Reedick


> -Original Message-
> From: John Maher [mailto:jo...@rotair.com]
> Sent: Tuesday, August 20, 2013 1:33 PM
> To: Andrew Reedick; Subversion help
> Subject: RE: Switching
> 
> Thanks for your reply.  I agree it does not make sense.  But it is
> reproducible.  The dir trees are NOT identical because one branch has a
> library that the other does not.  In normal use I would expect the
> branches to differ.  And I assure you one of the branches does not have
> the directory causing the trouble, I checked on the server.
> 
> So the branches are different and it appears impossible to switch
> between them without conflicts.
> 
> For example, when I switch to branch P it switches OK.  An svn status
> on the problem directory shows it with a '?'.  Then I switch to branch
> E and get a conflict.  It says "local unversioned, incoming add upon
> switch".  The local should be unversioned, it is not part of branch P.
> I do not know why the directory did not get deleted during the switch.
> An svn status shows the directory marked for deletion.  So in one
> instance of time I get a message of a directory that is unversioned,
> incoming add, marked for deletion.

When removing dirs, switch will not delete local/private/unversioned files.  If 
there is a local file in a dir tree, then all the versioned files will be 
removed from your workspace, but a local tree will remain with the local files 
still in it.  That's mostly likely why you see a '?' after the switch.

Ex:
1. 'this_dir' exists in current workspace as a versioned dir tree.
2. 'this_dir' does NOT exist in branch P.
3.  touch this_dir/hello_world.txt
3.  svn switch ^/branches/P
4.  svn status:  " ?   this_dir"
The only file under "this_dir" will be hello_world.txt.  All other versioned 
files/dirs will have been removed.

> 
> Svn revert does not do anything useful.  So I then issue svn resolve --
> accept working UI_Email where UI_Email is the directory causing the
> problems.  This clears the conflict.
> 
> Then I switch to branch P.  Then is says "local delete, incoming
> delete".  Why it has a local delete is beyond me.  That folder is part
> of the branch, I want it there and never issued a delete.  But
> subversion did.  So I resolve this conflict the same as the last one
> and switch back to branch E.  You guessed it, conflict again.

You shot yourself in the foot.  =)

The local copy of the dir prevented switch from running the add.  (Switch 
wasn't able to pull in the versioned copy of the dir.)  Then you didn't fix the 
dir conflict by manually running 'svn copy' yourself to pull in the dir from 
branch P.  When you did the resolve, you told svn that the current state of the 
dir is correct, and since the current state of the dir was effectively 
"deleted", you wound up telling svn to delete the file from branch P.

Again, when resolving tree conflicts, you need to manually copy/add/delete/mv 
manipulate the tree into the correct state before resolving the tree conflict.


> 
> So I resolve the conflict then commit and decide to let subversion
> delete the directory (I have a backup because I've lost code to
> subversion before).  So now my code is gone.  I delete the directory
> with supporting files.  Then I switch to branch P.  Success for now (I
> know failure is just a matter of time).

You can recover the deleted versioned dirs and files via peg revisions.  
http://svnbook.red-bean.com/nightly/en/svn.branchmerge.basicmerging.html#svn.branchmerge.basicmerging.resurrect

 
> Then I switch to branch E.  No conflict.  But I won't get my hopes up
> yet, I still do not have the new library included which was the whole
> reason for creating the branch in the first place.  

Right.  You deleted the dir from branch P.  And you deleted the local/private 
files/tree as well.  Thus no conflict with branch E.

However, if you want to get the dir into branch E, then you should have merged 
from branch P to branch E (or used 'svn copy ^/branches/P/some_dir 
^/branches/E/some_dir.)  (But you'll need to restore the dir in branch P first 
via 'svn copy' and a peg revision.)



> So I copy over the
> directory and do a svn add then commit.  Then I can switch to branch P.

Argh.  No, no, no.  That creates "evil twins".  What you should have done was 
'svn copy svn:///some_dir@1234 some_dir" to add the dir back in.  When you 
run 'svn add' you create brand new objects with no history.  Evil twins break 
merging.  



> This is where the problem arises.  Subversion deletes the files but not
> the directory because it contains files that do not belong in
> subversion.  I have no control over this as the compiler puts them
> there.  They are on the global ignore list.

Svn switch won't delete your local/private files because that would be rude, 
where rude equals "destroying the user's files."  So if you're switching, you 
need to manage private/local files.  Maybe run 'make clean' (assuming you have 
a clean option) before switching?  Or tweak your 

Re: using "svn merge", "svn diff", and "svn patch"

2013-08-20 Thread Stefan Sperling
On Tue, Aug 20, 2013 at 01:16:40PM -0400, James Hanley wrote:
> Not sure if this is a valid operation, but should I be able to use svn
> merge, then svn diff to create a patch, then svn patch on another branch
> (or pristine checkout of the originating branch where the diff was created)
> to create a replica of the merge operation?

No. 'svn patch' is not intended to be a drop-in replacement for 'svn merge'.

> The reason I ask is that it appears not to do that.. I get an "Skipped
> missing target" error on one file that was added with history with the
> merge,

I guess what happened is that you didn't use the --show-copies-as-adds
option for 'svn diff' when you created the diff. svn patch cannot handle
copies, only additions, due to restrictions of the unidiff format.

> another in the same path that doesn't error or add, and apparently
> no mergeinfo included at all.

svn patch doesn't support mergeinfo either.
See http://subversion.tigris.org/issues/show_bug.cgi?id=3747


RE: Switching

2013-08-20 Thread John Maher
Thanks for your reply.  I agree it does not make sense.  But it is 
reproducible.  The dir trees are NOT identical because one branch has a library 
that the other does not.  In normal use I would expect the branches to differ.  
And I assure you one of the branches does not have the directory causing the 
trouble, I checked on the server.

So the branches are different and it appears impossible to switch between them 
without conflicts.

For example, when I switch to branch P it switches OK.  An svn status on the 
problem directory shows it with a '?'.  Then I switch to branch E and get a 
conflict.  It says "local unversioned, incoming add upon switch".  The local 
should be unversioned, it is not part of branch P.  I do not know why the 
directory did not get deleted during the switch.  An svn status shows the 
directory marked for deletion.  So in one instance of time I get a message of a 
directory that is unversioned, incoming add, marked for deletion.

Svn revert does not do anything useful.  So I then issue svn resolve --accept 
working UI_Email where UI_Email is the directory causing the problems.  This 
clears the conflict.

Then I switch to branch P.  Then is says "local delete, incoming delete".  Why 
it has a local delete is beyond me.  That folder is part of the branch, I want 
it there and never issued a delete.  But subversion did.  So I resolve this 
conflict the same as the last one and switch back to branch E.  You guessed it, 
conflict again.

So I resolve the conflict then commit and decide to let subversion delete the 
directory (I have a backup because I've lost code to subversion before).  So 
now my code is gone.  I delete the directory with supporting files.  Then I 
switch to branch P.  Success for now (I know failure is just a matter of time).

Then I switch to branch E.  No conflict.  But I won't get my hopes up yet, I 
still do not have the new library included which was the whole reason for 
creating the branch in the first place.  So I copy over the directory and do a 
svn add then commit.  Then I can switch to branch P.  This is where the problem 
arises.  Subversion deletes the files but not the directory because it contains 
files that do not belong in subversion.  I have no control over this as the 
compiler puts them there.  They are on the global ignore list.

Now when I switch the conflict returns.  Nothing in the book explains how to 
handle this.  Searching comes up with all kinds of irrelevant stuff and 
unanswered questions.

My question is how to properly handle this?  Or is branching unusable in this 
situation with out the extra hassle?

Thanks JM







-Original Message-
From: Andrew Reedick [mailto:andrew.reed...@cbeyond.net] 
Sent: Tuesday, August 20, 2013 10:17 AM
To: John Maher; Subversion help
Subject: RE: Switching


> From: John Maher [mailto:jo...@rotair.com] 
> Sent: Monday, August 19, 2013 1:31 PM
> To: Subversion help
> Subject: Switching
>
> Hello,
>
> I want to thank all who have been helpful.  I have gotten my test project to 
> merge branches successfully.  Now I am trying it on our production code and 
> wish to make sure I am not making any mistakes.
>
> I use one folder for my source code (all branches) mainly because of vendor 
> requirements the code must be run from the same directory.   I have created 
> two branches for two new features.  One feature extends an existing library.  
> The other feature adds a new library as well as extending an existing one.  
> When I switch I create a conflict because the directory exists in one branch 
> and not the other:

That doesn't make sense.  If you branched (i.e. created copies of a baseline) 
then the dir trees should be identical.  Extending/modifying the library 
(adding new dirs) shouldn't create a conflict for svn switch, unless you 
modified the same directory tree/structure in the workspace's branch and in the 
branch you're switching too.  This happens if you 'svn add' the same dir in 
both branches.  Example:
Bad, causes conflict:  
svn add ^/branches/foo/new_dir
svn add ^/branches/bar/new_dir
Good:
Svn add ^/branches/foo/new_dir
cd to bar workspace; svn copy ^/branches/foo/new_dir .
It could also happen if you renamed/moved the same dir in both branches.


> local unversioned, incoming add upon switch

This sounds like you have a normal, unversioned directory in the workspace.  As 
part of the switch, svn wants to add a versioned dir of the same name to your 
workspace.  You should be able to rename the local normal dir to a new name in 
order to let the add operation be run unimpeded.  I would 'svn revert -R' the 
entire workspace[1], rename the normal, local dir, and re-run the switch.  And 
figure out why you have a normal, unversioned copy of the dir in the first 
place.


> This may or may not be what is supposed to happen, that would be the first 
> thing I would like to know.  How to fix it would be the second thing that I 
> would like to know.  Accordi

Re: using "svn merge", "svn diff", and "svn patch"

2013-08-20 Thread James Hanley
This was with 1.8.1 client - BTW.


On Tue, Aug 20, 2013 at 1:16 PM, James Hanley  wrote:

> Not sure if this is a valid operation, but should I be able to use svn
> merge, then svn diff to create a patch, then svn patch on another branch
> (or pristine checkout of the originating branch where the diff was created)
> to create a replica of the merge operation?
>
> The reason I ask is that it appears not to do that.. I get an "Skipped
> missing target" error on one file that was added with history with the
> merge, another in the same path that doesn't error or add, and apparently
> no mergeinfo included at all.
>
> I can't really share what I've seen since even the file names are
> considered proprietary, but I may be able to write a script to reproduce.
>
> Has this been seen or just not an acceptable use-case?
> -Jim
>


using "svn merge", "svn diff", and "svn patch"

2013-08-20 Thread James Hanley
Not sure if this is a valid operation, but should I be able to use svn
merge, then svn diff to create a patch, then svn patch on another branch
(or pristine checkout of the originating branch where the diff was created)
to create a replica of the merge operation?

The reason I ask is that it appears not to do that.. I get an "Skipped
missing target" error on one file that was added with history with the
merge, another in the same path that doesn't error or add, and apparently
no mergeinfo included at all.

I can't really share what I've seen since even the file names are
considered proprietary, but I may be able to write a script to reproduce.

Has this been seen or just not an acceptable use-case?
-Jim


RE: Mixing recursive and non-recursive commits

2013-08-20 Thread Braun, Eric
I'm not following why you think this would be inconsistent behavior.  The 
scenarios you listed are all "modified" parents not newly added parents.  I'm 
not requesting an option to always automatically add parents just to add new 
parents if needed.  I don't know of any one requesting "automatic parents" add 
although I guess you could extend it in the future to that.  Would it help to 
call the option --include-new-parents instead of just --parents?

The fact of the matter is there is no option to do this now and to build a list 
of parents on the command line to checkin a new file down in a large subdir 
tree is time consuming because you have to specify each potentially new parent 
tree (even after added locally).  Doing a commit at the higher level is 
obviously not desirable if there are other subdirs there that are added w/ new 
or modified dirs/files I don't wish to commit now.

I understand you are looking for more consensus from others before moving 
forward with an official request on this.  I'm hoping others jump on this 
thread over time I guess and push for this.  All I can point to is others 
asking/complaining about the lack of support for the same thing:

http://stackoverflow.com/questions/8932165/add-and-commit-files-in-a-tree-to-svn
http://subversion.1072662.n5.nabble.com/feature-request-svn-ci-parents-option-td69929.html

I'll wait awhile to see if others think this is valid but if not I'm fine 
continue on manually adding parents to the command line checkin.

Eric

-Original Message-
From: Philip Martin [mailto:philip.mar...@wandisco.com]
Sent: Tuesday, August 20, 2013 9:40 AM
To: Braun, Eric
Cc: Stefan Sperling; users@subversion.apache.org; Moe, Mark
Subject: Re: Mixing recursive and non-recursive commits

"Braun, Eric"  writes:

> If do a google search for "svn commit parents" you'll see I'm not the
> first to unofficially request this and come across this issue.  I
> suspect most others just kludged around this and found a subtree to
> checkin with additional work involved.  I see the need for this quite
> often when I'm running scripts that interactive with multiple
> directory trees.  Quite often the scripts create new dirs with new
> files that I want to checkin.  So I add these with --parents.  When
> completed though I may want to selectively checkin certain files w/ a
> given comment (not the whole subtree).
>
> Regarding your corner cases if we stick to the explanation that only
> newly added parent directories (and their properties set) will get
> added to the commit list then this handles these scenarios.  In the
> first scenario the property updates in A would NOT be committed
> because A is not a newly added parent directory.  In the second corner
> case items in the changelist plus any newly added parent directories
> is what would be committed.

The problem I have is that the simple behaviour leads to inconsistencies such 
as modified parents with properties.  You suggest resolving that inconsistency 
in a particular way but as far as I can see other behaviours are just as 
reasonable.  You describe the feature as "added parents" but somebody else 
could describe it as "automatic parents" and want the other behaviour.  If we 
implement one behaviour now how do we extend it in the future?

I don't see many requests for this behaviour and in this thread the discussion 
is mostly you and me.  To make progress we need consensus on the desired 
behaviour and that is hard when there are so few voices.

--
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*


[CONFIDENTIALITY AND PRIVACY NOTICE]

Information transmitted by this email is proprietary to Medtronic and is 
intended for use only by the individual or entity to which it is addressed, and 
may contain information that is private, privileged, confidential or exempt 
from disclosure under applicable law. If you are not the intended recipient or 
it appears that this mail has been forwarded to you without proper authority, 
you are notified that any use or dissemination of this information in any 
manner is strictly prohibited. In such cases, please delete this mail from your 
records.

To view this notice in other languages you can either select the following link 
or manually copy and paste the link into the address bar of a web browser: 
http://emaildisclaimer.medtronic.com



Re: Mixing recursive and non-recursive commits

2013-08-20 Thread Philip Martin
"Braun, Eric"  writes:

> If do a google search for "svn commit parents" you'll see I'm not the
> first to unofficially request this and come across this issue.  I
> suspect most others just kludged around this and found a subtree to
> checkin with additional work involved.  I see the need for this quite
> often when I'm running scripts that interactive with multiple
> directory trees.  Quite often the scripts create new dirs with new
> files that I want to checkin.  So I add these with --parents.  When
> completed though I may want to selectively checkin certain files w/ a
> given comment (not the whole subtree).
>
> Regarding your corner cases if we stick to the explanation that only
> newly added parent directories (and their properties set) will get
> added to the commit list then this handles these scenarios.  In the
> first scenario the property updates in A would NOT be committed
> because A is not a newly added parent directory.  In the second corner
> case items in the changelist plus any newly added parent directories
> is what would be committed.

The problem I have is that the simple behaviour leads to inconsistencies
such as modified parents with properties.  You suggest resolving that
inconsistency in a particular way but as far as I can see other
behaviours are just as reasonable.  You describe the feature as "added
parents" but somebody else could describe it as "automatic parents" and
want the other behaviour.  If we implement one behaviour now how do we
extend it in the future?

I don't see many requests for this behaviour and in this thread the
discussion is mostly you and me.  To make progress we need consensus on
the desired behaviour and that is hard when there are so few voices.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*


RE: Switching

2013-08-20 Thread Andrew Reedick

> From: John Maher [mailto:jo...@rotair.com] 
> Sent: Monday, August 19, 2013 1:31 PM
> To: Subversion help
> Subject: Switching
>
> Hello,
>
> I want to thank all who have been helpful.  I have gotten my test project to 
> merge branches successfully.  Now I am trying it on our production code and 
> wish to make sure I am not making any mistakes.
>
> I use one folder for my source code (all branches) mainly because of vendor 
> requirements the code must be run from the same directory.   I have created 
> two branches for two new features.  One feature extends an existing library.  
> The other feature adds a new library as well as extending an existing one.  
> When I switch I create a conflict because the directory exists in one branch 
> and not the other:

That doesn't make sense.  If you branched (i.e. created copies of a baseline) 
then the dir trees should be identical.  Extending/modifying the library 
(adding new dirs) shouldn't create a conflict for svn switch, unless you 
modified the same directory tree/structure in the workspace's branch and in the 
branch you're switching too.  This happens if you 'svn add' the same dir in 
both branches.  Example:
Bad, causes conflict:  
svn add ^/branches/foo/new_dir
svn add ^/branches/bar/new_dir
Good:
Svn add ^/branches/foo/new_dir
cd to bar workspace; svn copy ^/branches/foo/new_dir .
It could also happen if you renamed/moved the same dir in both branches.


> local unversioned, incoming add upon switch

This sounds like you have a normal, unversioned directory in the workspace.  As 
part of the switch, svn wants to add a versioned dir of the same name to your 
workspace.  You should be able to rename the local normal dir to a new name in 
order to let the add operation be run unimpeded.  I would 'svn revert -R' the 
entire workspace[1], rename the normal, local dir, and re-run the switch.  And 
figure out why you have a normal, unversioned copy of the dir in the first 
place.


> This may or may not be what is supposed to happen, that would be the first 
> thing I would like to know.  How to fix it would be the second thing that I 
> would like to know.  According to the help of the resolve command says:
> 
> So I tried svn resolve -accept working LibraryDirectory but I believe that 
> was a mistake because then the directory was marked "Delete" which is not 
> what I wanted.  Does anyone know what is the proper response?

Meh.  Resolving tree conflicts is a bit of a manual process.  IIRC, to resolve 
it, you would need to 
1) rename the normal, local dir, and
2) 'svn copy svn://server/.../LibraryDirectory .' Meaning, you need to manually 
implement the add.  ('svn switch' failed the add so you need to reproduce the 
add manually.)
3) 'svn resolve' the dir.
Which is why I recommend just reverting[1] the switch, renaming the dir and 
re-running the switch.

The main takeaway is that resolving tree conflicts isn't as easy as resolving 
file conflicts.  File conflicts let you use the 'mine-full', 'theirs-full', 
etc. options, but tree conflicts do not.  Fixing tree conflicts requires fixing 
up the tree in the workspace yourself and then using 'svn resolve --accept 
working' to tell subversion that the tree is now in the state you want.  In 
other words, you have to manually implement 'theirs-full'.


> I did not want to lose the library from the working copy so I switched back 
> to the other branch and then switch back.  Now it says:

> local delete, incoming delete upon switch

You (or the failed 'svn switch' command) ran 'svn delete some_dir' in your 
workspace.  However, the current 'svn switch' also wants to run 'svn delete 
some_dir'.  So svn switch is complaining that it can't delete the dir because 
it's already flagged for deletion.   =/


> It seems I did something wrong.  My next step would be to add the library 
> back, but that may not be the best response.  Any suggestions?

It sounds like you mangled the switch with too many hacks while trying to fix 
it, i.e. the workspace is a mess.  Just 'svn revert -R'[1], then 'svn status' 
to make sure that there are no local/private files that could muck up the 
switch.

The thing to remember is that svn is replaying changes on top of your 
workspace.  It walks the revisions, and for each revision, applies that 
revision's changes to the workspace.  So if you're applying 10 revisions' worth 
of changes and the second revision breaks the switch/merge with a tree 
conflict, then you have to manually fix the tree conflict (svn add, svn rm, svn 
revert, etc.), resolve it, and then re-run the switch/merge to apply the 
renaming 8 revisions.



[1] Before you run 'svn revert -R', run 'svn status' to make sure you don't 
have any modified, uncommitted files that you really care about.  Revert will 
delete those changes.




Re: server config

2013-08-20 Thread Thomas Harold

On 8/19/2013 6:19 PM, Ben Reser wrote:

On 8/19/13 9:07 AM, Scott Frankel wrote:

I'm new to SVN server configuration and find myself setting up a
CentOS 6.4 server with svn version 1.6.1, following the red-bean
book.


I'd strongly urge you not to use 1.6.1, see the list of applicable
security issues here: http://subversion.apache.org/security/

If you're using the CentOS packages they may have patched those
issues without updating the svn version number.  You should check
that though.

If you're setting a new server I wouldn't start with 1.6.x but would
go straight to 1.7.x or 1.8.x, probably 1.8.x if you can.


For the 1.8.1 RPMs, I suggest adding the WANDisco repository to your 
configuration.


http://www.wandisco.com/subversion/download

What you're looking for is "Download Subversion Installer V1.8.1 for 
Redhat".  You download a shell script which then needs to be executed to 
install the WANDisco repositories and install the SVN 1.8.1 RPMs.


Re: server config

2013-08-20 Thread Thomas Harold

On 8/20/2013 1:19 AM, olli hauer wrote:

On 2013-08-20 01:41, Nico Kadel-Garcia wrote:

I think he meant "subversion-1.6.11", which is the default version for
CentOS 6.4.


Check the SELinux settings in /etc/sysconfig/selinux.
Set the line to 'SELINUX=permissive' (or disabled)

After changing the SELINUX value a reboot is required

Additional add a trailing '/' so you config looks so.



A better way to handle SELinux issues is to:

# getenforce
- To see whether you are in permissive or enforcing mode
# setenforce permissive
- Run this before doing your tests

Then use the various SELinux troubleshooting tools to see what errors 
were logged while in permissive mode.  Once you have fixed your issues, 
you can use "setenforce enforcing" and then re-run your tests.


The command line troubleshooting tool is:

# sealert -a /var/log/audit/audit.log







Re: checkout / update problem: svn: Malformed XML: not well-formed (invalid token) at line ...

2013-08-20 Thread Philip Martin
markbeezhold  writes:

> Issue 2730 needs to be re-visited!!! 
> (http://subversion.tigris.org/issues/show_bug.cgi?id=2730)
> I relocated an SVN repository, and shortly thereafter began seeing the
> "Issue 2730" problem.
> What a "PAIN"... Every time I do an "svn commit," the log-file inserts the
> same non-ASCII characters into the user-name value along with a valid
> user-name. I have to do an "svnadmin setrevprop" to fix the incoming
> version's "svn:author" property, and edit the update's log-file to remove
> the non-ASCII characters.
> Most lately, something has become so messed-up, that SVN adds a file, then
> breaks because of the the mal-formed XML problem, and then refuses to accept
> the file it had just added. Even the --force option does not help... I
> cannot break out of this cleanup/update cycle, now, no matter what I try.

If you have log files then you are using a 1.6 client which is unlikely
to get fixed.  The 1.8 client will probably handle things better.

There is a problem with non-XML characters affecting some operations,
I've raised http://subversion.tigris.org/issues/show_bug.cgi?id=4415

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*


Re: Issue 4039

2013-08-20 Thread Angelo Tavares
Yes, I have "subst M: C:\SomeDir\Project\subdir", but thanks for the
feedback.

With "subst M: C:\SomeDir\Project", works very well indeed



2013/8/19 Johan Corveleyn 

> On Mon, Aug 19, 2013 at 9:25 PM, Angelo Tavares 
> wrote:
> > My case is creating subst working areas, which is not presented the
> features
> > of subversion.
> >
>
> Can you please give a bit more detail? What do you mean by "creating
> subst working areas"?
>
> Do you mean, for instance, that you have a working copy in
> C:\SomeDir\Project (which is the root of the working copy), and you
> execute "subst M: C:\SomeDir\Project"? If so, that works fine (just
> tried it with 1.7 and 1.8).
>
> But if you want "subst M: C:\SomeDir\Project\subdir", that won't work,
> and like Ivan said, will probably never be fixed (it really doesn't
> fit with the working copy design of 1.7+, where all SVN metadata is
> centralized in the root of the working copy).
>
> --
> Johan
>


Re: Subversion 1.8 httpd.exe taking 100% CPU

2013-08-20 Thread valentijnscholten


On Tuesday, August 20, 2013 12:15:32 PM UTC+2, Ivan Zhakov wrote:
>
> On Tue, Aug 20, 2013 at 2:05 PM,  > 
> wrote: 
> > On Tuesday, August 20, 2013 10:47:22 AM UTC+2, Ivan Zhakov wrote: 
> >>> 
> >>> On Tue, Aug 20, 2013 at 12:20 PM,   wrote: 
> >>> > On Monday, August 19, 2013 5:41:55 PM UTC+2, Dinesh Hirani wrote: 
> >>> >> 
> >>> >> I did not find a solution however I wrote an monitor application 
> that 
> >>> >> checks if the httpd.exe process hits 100%, if so I KILL the process 
> >>> >> and 
> >>> >> CollabNet then restarts another instance. 
> >>> 
> > Last night the problem occurred again, this time I had debug logging 
> enabled 
> > for apache, and left it running for a while. 
> > 
> > Error log shows last succesfull requests at 19:51. Some hours later all 
> > apache threads are busy, as reported in the error log: 
> > 
> > Mon Aug 19 19:51:49.378688 2013] [authz_core:debug] [pid 568:tid 932] 
> > mod_authz_core.c(799): [client 172.17.1.15:2283] AH01626: authorization 
> > result of : denied (no authenticated user yet) 
> > [Mon Aug 19 19:51:51.660084 2013] [authz_core:debug] [pid 568:tid 932] 
> > mod_authz_core.c(799): [client 172.17.1.15:2283] AH01626: authorization 
> > result of Require valid-user : denied (no authenticated user yet) 
> > [Mon Aug 19 19:51:51.660084 2013] [authz_core:debug] [pid 568:tid 932] 
> > mod_authz_core.c(799): [client 172.17.1.15:2283] AH01626: authorization 
> > result of : denied (no authenticated user yet) 
> > [Mon Aug 19 19:51:51.660084 2013] [authnz_ldap:debug] [pid 568:tid 932] 
> > mod_authnz_ldap.c(500): [client 172.17.1.15:2283] AH01691: auth_ldap 
> > authenticate: using URL 
> > ldap://172.17.1.1:3268/DC=isaac,DC=local?sAMAccountName?sub 
> > [Mon Aug 19 21:06:55.298940 2013] [mpm_winnt:error] [pid 568:tid 964] 
> > AH00326: Server ran out of threads to serve requests. Consider raising 
> the 
> > ThreadsPerChild setting 
> As I replied you privately I cannot investigate provided dumps because 
> you're using CollabNet distribution and I don't have access to PDB 
> files required for crash dumps debugging. 
>
> But from what I see process is stuck in 
> libaprutil-1.dll!7489fc50(), given the last message in debug 
> log is "auth_ldap authenticate: using URL" it most likely problem with 
> communication with LDAP server (ldap protocol implemented in 
> libapr-util). It could be misconfiguration or bug in libapr-util. 
>
> With subversion edge 3.x we used to have the same problem, until I changed 
the ldap settings to connect to AD port 3268 instead of 389.
With 3268 the problem was solved. But in subversion edge 4.x the problem is 
back, probably  because of the upgrade to apache 2.4
We have had other problems with apache 2.4 on windows.
 


Re: Subversion 1.8 httpd.exe taking 100% CPU

2013-08-20 Thread Ivan Zhakov
On Tue, Aug 20, 2013 at 2:05 PM,   wrote:
> On Tuesday, August 20, 2013 10:47:22 AM UTC+2, Ivan Zhakov wrote:
>>>
>>> On Tue, Aug 20, 2013 at 12:20 PM,   wrote:
>>> > On Monday, August 19, 2013 5:41:55 PM UTC+2, Dinesh Hirani wrote:
>>> >>
>>> >> I did not find a solution however I wrote an monitor application that
>>> >> checks if the httpd.exe process hits 100%, if so I KILL the process
>>> >> and
>>> >> CollabNet then restarts another instance.
>>>
> Last night the problem occurred again, this time I had debug logging enabled
> for apache, and left it running for a while.
>
> Error log shows last succesfull requests at 19:51. Some hours later all
> apache threads are busy, as reported in the error log:
>
> Mon Aug 19 19:51:49.378688 2013] [authz_core:debug] [pid 568:tid 932]
> mod_authz_core.c(799): [client 172.17.1.15:2283] AH01626: authorization
> result of : denied (no authenticated user yet)
> [Mon Aug 19 19:51:51.660084 2013] [authz_core:debug] [pid 568:tid 932]
> mod_authz_core.c(799): [client 172.17.1.15:2283] AH01626: authorization
> result of Require valid-user : denied (no authenticated user yet)
> [Mon Aug 19 19:51:51.660084 2013] [authz_core:debug] [pid 568:tid 932]
> mod_authz_core.c(799): [client 172.17.1.15:2283] AH01626: authorization
> result of : denied (no authenticated user yet)
> [Mon Aug 19 19:51:51.660084 2013] [authnz_ldap:debug] [pid 568:tid 932]
> mod_authnz_ldap.c(500): [client 172.17.1.15:2283] AH01691: auth_ldap
> authenticate: using URL
> ldap://172.17.1.1:3268/DC=isaac,DC=local?sAMAccountName?sub
> [Mon Aug 19 21:06:55.298940 2013] [mpm_winnt:error] [pid 568:tid 964]
> AH00326: Server ran out of threads to serve requests. Consider raising the
> ThreadsPerChild setting
As I replied you privately I cannot investigate provided dumps because
you're using CollabNet distribution and I don't have access to PDB
files required for crash dumps debugging.

But from what I see process is stuck in
libaprutil-1.dll!7489fc50(), given the last message in debug
log is "auth_ldap authenticate: using URL" it most likely problem with
communication with LDAP server (ldap protocol implemented in
libapr-util). It could be misconfiguration or bug in libapr-util.

-- 
Ivan Zhakov


Re: Subversion 1.8 httpd.exe taking 100% CPU

2013-08-20 Thread valentijnscholten
On Tuesday, August 20, 2013 10:47:22 AM UTC+2, Ivan Zhakov wrote:

> On Tue, Aug 20, 2013 at 12:20 PM,   wrote: 
>> > On Monday, August 19, 2013 5:41:55 PM UTC+2, Dinesh Hirani wrote: 
>> >> 
>> >> I did not find a solution however I wrote an monitor application that 
>> >> checks if the httpd.exe process hits 100%, if so I KILL the process 
>> and 
>> >> CollabNet then restarts another instance. 
>>
>> Last night the problem occurred again, this time I had debug logging 
enabled for apache, and left it running for a while.

Error log shows last succesfull requests at 19:51. Some hours later all 
apache threads are busy, as reported in the error log:

Mon Aug 19 19:51:49.378688 2013] [authz_core:debug] [pid 568:tid 932] 
mod_authz_core.c(799): [client 172.17.1.15:2283] AH01626: authorization 
result of : denied (no authenticated user yet)
[Mon Aug 19 19:51:51.660084 2013] [authz_core:debug] [pid 568:tid 932] 
mod_authz_core.c(799): [client 172.17.1.15:2283] AH01626: authorization 
result of Require valid-user : denied (no authenticated user yet)
[Mon Aug 19 19:51:51.660084 2013] [authz_core:debug] [pid 568:tid 932] 
mod_authz_core.c(799): [client 172.17.1.15:2283] AH01626: authorization 
result of : denied (no authenticated user yet)
[Mon Aug 19 19:51:51.660084 2013] [authnz_ldap:debug] [pid 568:tid 932] 
mod_authnz_ldap.c(500): [client 172.17.1.15:2283] AH01691: auth_ldap 
authenticate: using URL 
ldap://172.17.1.1:32​68/DC=isaac,DC=local​?sAMAccountName?sub
[Mon Aug 19 21:06:55.298940 2013] [mpm_winnt:error] [pid 568:tid 964] 
AH00326: Server ran out of threads to serve requests. Consider raising the 
ThreadsPerChild setting
[Mon Aug 19 21:06:56.299004 2013] [mpm_winnt:debug] [pid 568:tid 964] 
child.c(187): AH00327: mpm_get_completion_context: Failed to get a free 
context within 1 second
[Mon Aug 19 21:07:01.549340 2013] [mpm_winnt:debug] [pid 568:tid 964] 
child.c(187): AH00327: mpm_get_completion_context: Failed to get a free 
context within 1 second
[Mon Aug 19 21:07:06.830928 2013] [mpm_winnt:debug] [pid 568:tid 964] 
child.c(187): AH00327: mpm_get_completion_context: Failed to get a free 
context within 1 second
[Mon Aug 19 21:07:12.159394 2013] [mpm_winnt:debug] [pid 568:tid 964] 
child.c(187): AH00327: mpm_get_completion_context: Failed to get a free 
context within 1 second
[Mon Aug 19 21:07:17.440982 2013] [mpm_winnt:debug] [pid 568:tid 964] 
child.c(187): AH00327: mpm_get_completion_context: Failed to get a free 
context within 1 second
[Mon Aug 19 21:07:22.722570 2013] [mpm_winnt:debug] [pid 568:tid 964] 
child.c(187): AH00327: mpm_get_completion_context: Failed to get a free 
context within 1 second
[Mon Aug 19 21:07:28.129166 2013] [mpm_winnt:debug] [pid 568:tid 964] 
child.c(187): AH00327: mpm_get_completion_context: Failed to get a free 
context within 1 second 


Re: Subversion 1.8 httpd.exe taking 100% CPU

2013-08-20 Thread valentijnscholten


On Tuesday, August 20, 2013 10:47:22 AM UTC+2, Ivan Zhakov wrote:
>
> On Tue, Aug 20, 2013 at 12:20 PM,  > 
> wrote: 
> > On Monday, August 19, 2013 5:41:55 PM UTC+2, Dinesh Hirani wrote: 
> >> 
> >> I did not find a solution however I wrote an monitor application that 
> >> checks if the httpd.exe process hits 100%, if so I KILL the process and 
> >> CollabNet then restarts another instance. 
> > 
> > Is it something you'd like to share? 
> > 
> > I used ProcDump to create a dump when the process went to 100%. Would it 
> be 
> > usefull to post it here? 
> > 
> Could you post just call stack here? 
>
> I just sent you an email with the dump.Not sure if a process dump can 
contain confidential data. 


Re: Subversion 1.8 httpd.exe taking 100% CPU

2013-08-20 Thread Daniel Shahaf
valentijnschol...@gmail.com wrote on Tue, Aug 20, 2013 at 01:20:42 -0700:
> I used ProcDump to create a dump when the process went to 100%. Would it be 
> usefull to post it here?

Please don't post large binary attachments to this list.  Upload them
somewhere and (after ensuring they don't contain passwords, etc) post
a link to them.


Re: Subversion 1.8 httpd.exe taking 100% CPU

2013-08-20 Thread Ivan Zhakov
On Tue, Aug 20, 2013 at 12:20 PM,   wrote:
> On Monday, August 19, 2013 5:41:55 PM UTC+2, Dinesh Hirani wrote:
>>
>> I did not find a solution however I wrote an monitor application that
>> checks if the httpd.exe process hits 100%, if so I KILL the process and
>> CollabNet then restarts another instance.
>
> Is it something you'd like to share?
>
> I used ProcDump to create a dump when the process went to 100%. Would it be
> usefull to post it here?
>
Could you post just call stack here?


-- 
Ivan Zhakov


Re: Subversion 1.8 httpd.exe taking 100% CPU

2013-08-20 Thread valentijnscholten
On Monday, August 19, 2013 5:41:55 PM UTC+2, Dinesh Hirani wrote:

>  I did not find a solution however I wrote an monitor application that 
> checks if the httpd.exe process hits 100%, if so I KILL the process and 
> CollabNet then restarts another instance.
>
Is it something you'd like to share?

I used ProcDump to create a dump when the process went to 100%. Would it be 
usefull to post it here?

 


Re: Cannot check out public directory with client 1.8.x without access to repo root

2013-08-20 Thread Ivan Zhakov
On Mon, Aug 19, 2013 at 11:14 PM, Ivan Zhakov  wrote:
> On Mon, Aug 19, 2013 at 10:19 PM, Mark Tsuchida  
> wrote:
>> Hello,
>>
>> I'm having an issue with our partially-public SVN repository.
>>
>> The server is running SVN 1.6.11 (CentOS 6.4) with Apache and TLS.
>> Our repository (let's call it "myrepo") allows public read access (* =
>> r) to myrepo/trunk, but not to myrepo/ (the root). There is also a
>> directory myrepo/trunk/secret to which only specific users have access
>> to.
>>
>> Everything has been working as expected with SVN 1.6 and 1.7 clients:
>> in particular, no username or password is requested when checking out
>> myrepo/trunk.
>>
>> However, with SVN 1.8.0 and 1.8.1 clients, it is not possible to check
>> out any directory without supplying the credentials of a user who has
>> access to the repository root.
>>
>> svn co https://our.server.com/svn/myrepo/trunk -> Requires
>> authentication with client 1.8.x but not with 1.6.x or 1.7.x
>> svn list https://our.server.com/svn/myrepo/trunk -> Works even with 1.8.1
>> svn list https://our.server.com/svn/myrepo -> Requires auth, as expected
>>
>> The 1.8.x clients can successfully check out myrepo/trunk if a
>> username and password are given, for a user with access to the
>> repository root.
>>
>> I have so far been unable to reproduce this with a simplified test
>> repository, so any hints as to where to look would be much
>> appreciated.
>>
>> The following is the section of ssl_access_log produced by checking
>> out myrepo/trunk using client 1.6.18 (OS X):
>> xx.xx.xx.xx - - [16/Aug/2013:17:36:35 -0700] "OPTIONS
>> /svn/myrepo/trunk HTTP/1.1" 200 197
> [...]
>> /svn/myrepo/!svn/vcc/default HTTP/1.1" 207 420
>> xx.xx.xx.xx - - [16/Aug/2013:17:36:35 -0700] "PROPFIND
>> /svn/myrepo/!svn/bln/123 HTTP/1.1" 207 479
>>
>> And the following is the section of ssl_access_log produced by
>> checking out myrepo/trunk using client 1.8.1 (TortoiseSVN on Windows
>> 7):
>> xx.xx.xx.xx - - [16/Aug/2013:17:34:05 -0700] "OPTIONS
>> /svn/myrepo/trunk HTTP/1.1" 200 197
> [...]
>> xx.xx.xx.xx - - [16/Aug/2013:17:34:06 -0700] "PROPFIND
>> /svn/myrepo/!svn/bc/123 HTTP/1.1" 401 483
It should be "403 Forbidden", not "401 Unauthorized". Looks like some
issue with server configuration.

>>
>> It appears that the 1.8.1 client requests /svn/myrepo/!svn/bc/123, to
>> which access is denied (401), whereas client 1.6.18 only ever requests
>> /svn/myrepo/!svn/bc/123/trunk, to which access is granted.
>>
> Most likely it is some problem with inherited properties feature
> implemented in Subversion 1.8.
>
The issue doesn't reproduces with server configured for non-anonymous
access: the server returns 401 Forbidden for PROPFIND request on
repository root and handled properly by Subversion 1.8 client.


-- 
Ivan Zhakov
CTO | VisualSVN | http://www.visualsvn.com