Re: Strange behavior

2013-08-15 Thread Ullrich Jans

Am 09.08.2013 21:58, schrieb Edwin Castro:

On 8/9/13 10:27 AM, John Maher wrote:

And svn status returns this:
   C Build.bat
  local add, incoming add upon merge


You svn add Build.bat in trunk. Later you svn add Build.bat in your
branch. Subversion sees those as separate objects with individual history.


I've seen this here, too. It seems to be related to a user creating a 
branch with the OS tools without telling SVN about it, then adding it to 
SVN, then porting over changes by hand, then trying to merge in more 
changes...


To create a branch, I've learned to always do an svn copy between URLs, 
e.g. svn cp file:///repository/trunk file:///repository/branches/mybranch.


Cheers,

Ulli

--
Ullrich Jans, Specialist, IT-A
Phone: +49 9131 7701-6627, mailto:ullrich.j...@elektrobit.com
Fax: +49 9131 7701-6333, www.elektrobit.com

Elektrobit Automotive GmbH, Am Wolfsmantel 46, 91058 Erlangen, Germany
Managing Directors: Alexander Kocher, Gregor Zink
Register Court Fürth HRB 4886



Please note: This e-mail may contain confidential information
intended solely for the addressee. If you have received this
e-mail in error, please do not disclose it to anyone, notify
the sender promptly, and delete the message from your system.
Thank you.



RE: svn status --show-updates does not mark file externals with '*' when there is a new revision available on the server

2013-08-15 Thread Piontek Mark
Sorry,

I forgot to mention the versions.

Server is version  1.7.8( r1419691) on Apache httpd 2.2.23 64Bit running on a  
Windows 2008 Server.

My client is version 1.8.1 (r1503906).

Best regards,

Mark

Pepperl+Fuchs GmbH, Mannheim
Geschaeftsfuehrer/Managing Directors: Dr.-Ing. Gunther Kegel (Vors./CEO), 
Dr.-Ing. Peter Adolphs, Werner Guthier, Mehmet Hatiboglu
Vorsitzender des Aufsichtsrats/Chairman of the supervisory board: Claus Michael
Registergericht/Register Court: AG Mannheim HRB 4713

Wichtiger Hinweis:
Diese E-Mail einschliesslich ihrer Anhaenge enthaelt vertrauliche und
rechtlich geschuetzte Informationen, die nur fuer den Adressaten bestimmt sind.
Sollten Sie nicht der bezeichnete Adressat sein, so teilen Sie dies bitte dem
Absender umgehend mit und loeschen Sie diese Nachricht und ihre Anhaenge. Die
unbefugte Weitergabe, das Anfertigen von Kopien und jede Veraenderung der E-Mail
ist untersagt. Der Absender haftet nicht fuer Inhalte von veraenderten
E-Mails.


Important Information:
This e-mail message including its attachments contains confidential and legally 
protected information solely intended for the addressee. If you are not the 
intended addressee of this message, please contact the addresser immediately 
and delete this message including its attachments. The unauthorized 
dissemination, copying and change of this e-mail are strictly forbidden. The 
addresser shall not be liable for the content of such changed e-mails.


RE: svn 1.8 causing locks to be broken on update

2013-08-15 Thread Bert Huijben
Hi Felipe,

 

Do you have access to the repository configuration at the server?

 

Things we are most interested in is how exactly your authentication is setup. 
E.g. do you allow anonymous acces, and if yes in what way?

Posting your server configuration (with passwords and private information 
changed) would really help.

 

I don’t think the serf debug log is really giving much more information here, 
as there are (as far as I can tell) no requests that fail. The default server 
side logging (if not disabled) provides most likely more than enough 
information to look into this.

 

Last night (EU time) we spend some time with different scenarios in an attempt 
to reproduce your issue, but we were unable to.

 

Bert

 

 

From: Felipe Alvarez [mailto:felipe.alva...@gmail.com] 
Sent: donderdag 15 augustus 2013 04:29
To: Johan Corveleyn; William Smith; philip.mar...@wandisco.com
Cc: Hiroharu Tamaru; Users Subversion Apache
Subject: Re: svn 1.8 causing locks to be broken on update

 

 

 

As of 1.8 SVN only uses the serf library for http communication, and
no longer the neon library (before 1.8, both were part of svn, but
neon was the default library).

Unfortunately there is no runtime-switch (yet) to enable debug output
with svn+serf. There is already an open enhancement request for this
[1].

You can enable debug logging with serf by rebuilding (see [2]).

With your combined input, this issue really starts to look like a
serf-related issue.
- Succeeds with file:// file:///\\ 
- Fails with http(s), but only with 1.8 clients, not with older clients.

To double check that it's serf-related, perhaps one of you could try
with 1.7+serf, and see if that fails as well. You can enable serf with
1.7 by specifying http-library=serf in the servers configuration file,
or by passing
--config-option servers:global:http-library=serf
on the command line.

Perhaps it's time to open an issue in the issue tracker for this.

 

​Subversion client 1.7 using serf cause the lock to break! But it does not 
break when using neon (default)

---8---

C:\tmpsvn --username will --password will co 
http://svntest.freshcomp.com.au/svn/repos --config-option 
servers:global:http-library=serf wc
Awc\Trunk
Awc\Trunk\Lettus
Awc\Trunk\Lettus\lbin
Awc\Trunk\Lettus\lbin\file2.txt
Awc\Trunk\Lettus\lbin\test.txt
Awc\Trunk\Lettus\lbin\file1.txt
Checked out revision 4.

C:\tmpcd wc\Trunk\Lettus\lbin
C:\tmp\wc\Trunk\Lettus\lbindir
Directory of C:\tmp\wc\Trunk\Lettus\lbin
15/08/2013  12:07 PMDIR  .
15/08/2013  12:07 PMDIR  ..
13/08/2013  01:14 PM 6 file1.txt
13/08/2013  05:01 PM 5 file2.txt
13/08/2013  05:35 PM 6 test.txt
   3 File(s) 17 bytes
   2 Dir(s)  89,690,247,168 bytes free

C:\tmp\wc\Trunk\Lettus\lbinsvn lock test.txt --config-option 
servers:global:http-library=serf
'test.txt' locked by user 'will'.

C:\tmp\wc\Trunk\Lettus\lbinsvn st --config-option 
servers:global:http-library=serf
 K  test.txt

C:\tmp\wc\Trunk\Lettus\lbincd ..
C:\tmp\wc\Trunk\Lettussvn up --config-option servers:global:http-library=serf
Updating '.':
At revision 4.

C:\tmp\wc\Trunk\Lettuscd ..
C:\tmp\wc\Trunksvn up --config-option servers:global:http-library=serf
Updating '.':
At revision 4.

C:\tmp\wc\Trunkcd ..
C:\tmp\wcsvn up --config-option servers:global:http-library=serf
Updating '.':
UB  Trunk\Lettus\lbin\test.txt

Updated to revision 4.

C:\tmp\wcsvn st --config-option servers:global:http-library=serf
C:\tmp\wc​

 

​---8---​


--

​Felipe​

 



Re: svn 1.8 causing locks to be broken on update

2013-08-15 Thread Lieven Govaerts
On Wed, Aug 14, 2013 at 11:30 PM, Johan Corveleyn jcor...@gmail.com wrote:
 On Wed, Aug 14, 2013 at 12:05 PM, Felipe Alvarez
 felipe.alva...@gmail.com wrote:

 I have the same issue.

 It happens when I run 1.8.1 windows client with 1.6.9 https
 repository sever. I haven't tried so many combinations ATM,
 but here are some observations:

 1.8.1 client run with 1.6.9 https:// repo server gives this issue.
 1.8.1 client run with 1.6.9 generated file:/// repositories are OK.
 1.8.1 client run with 1.7.6 generated file:/// repositories are OK.
 1.7.6 client run with 1.6.9 https:// repo server is OK.

 Whether the WC is freshly checked out by 1.8.1 client, or upgraded
 from 1.7.6 checked out WC did not change the results.

 How's the case for the original poster? Do we see something
 in common?

 # I'm reading this ML through the archives.
 --
 Hiroharu


 Hi Hiroharu

 You are indeed correct. We have done a very similar experiment here, too. We
 tried all of the above scenarios you gave. But our older client was 1.6.15,
 and we did not use https, we used http (apache 2.2)

 With the help of my colleague we have done some testing with svn 1.8.1
 (windows 7 and Ubuntu) client and svn 1.6.15 (redhat 5.5) client.

 Using the file:/// method in all cases works fine (locks NOT broken). All
 other methods also work fine, including http. Of the tests we made, the one
 which breaks the locks is: client 1.8.1; repository made with svn 1.6.15;
 protocol HTTP (apache 2.2).

 One method that we have not yet tried is: client 1.8.1; repo with svn client
 1.8.1; protocol HTTP

 How do I enabled debugging in .subversion/config or .subversion/servers? It
 used to be something like neon-debug but that's no longer available since
 1.8.1 (or 1.8)


 As of 1.8 SVN only uses the serf library for http communication, and
 no longer the neon library (before 1.8, both were part of svn, but
 neon was the default library).

 Unfortunately there is no runtime-switch (yet) to enable debug output
 with svn+serf. There is already an open enhancement request for this
 [1].

 You can enable debug logging with serf by rebuilding (see [2]).

A FYI to Johan: note that there are two levels of abstraction here:
- serf: the http library that's now used instead of neon: implements
the http protocol and sends/receives bytes over the network
- ra_serf: the subversion ra module that uses serf to communicate with
a mod_dav_svn module in an apache server via XML request/reply
messaging

If there's an issue that looks like missing or corrupted data,
connection or authentication problems then we look to the serf
library. The logging you refer to is then a good way to start
gathering info on what's going wrong.

However in this case it seems that the communication itself is ok, but
there's a potential issue in how ra_serf drives the communication
(i.e. the content of the xml requests). Serf logging will not help
here as it's a level too deep. A simple wireshark trace can help, once
the exact reproduction recipe is known.
(serf can also log request and reply output, even with https, but it's
easier to use wireshark)

Lieven

 With your combined input, this issue really starts to look like a
 serf-related issue.
 - Succeeds with file://
 - Fails with http(s), but only with 1.8 clients, not with older clients.

 To double check that it's serf-related, perhaps one of you could try
 with 1.7+serf, and see if that fails as well. You can enable serf with
 1.7 by specifying http-library=serf in the servers configuration file,
 or by passing
 --config-option servers:global:http-library=serf
 on the command line.

 Perhaps it's time to open an issue in the issue tracker for this.

 [1] http://subversion.tigris.org/issues/show_bug.cgi?id=4407 (Provide
 serf equivalent of neon-debug-mask)

 [2] http://svn.haxx.se/users/archive-2013-07/0344.shtml

 --
 Johan


Re: Suggestion to change the name Subversion

2013-08-15 Thread Branko Čibej
On 13.08.2013 02:03, Nico Kadel-Garcia wrote:
 No one else remember the old Satan monitoring toolkit, that had an option 
 to change the displayed name and icon to Santa?

 The name Subversion has enough positive reputation that changing it, just 
 to avoid NSA style monitoring, seems very destabilizing to a popular project. 
 Let's not change it.

I'm all for filling up NSA's databases with subversive connotations.
Helps finance open source (Hadoop, don't y'know). :)

-- Brane


-- 
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. br...@wandisco.com


Re: SVN 1.8.1 Errors - Show Log and Commit New Files

2013-08-15 Thread Philip Martin
Geoff Field geoff_fi...@aapl.com.au writes:

 I've just commented out the AuthzSVNAccessFile line and have done
 the following:

 C:\SVN_Testsvn ci test6.txt --message test 1.8.1 checkin
 Adding test6.txt
 svn: E155011: Commit failed (details follow):
 svn: E155011: File 'C:\SVN_Test\test6.txt' is out of date
 svn: E175005: File 'test6.txt' already exists

 10.63.36.64 - AAPL\\gf [15/Aug/2013:10:33:21 +1000] CHECKOUT 
 /Subversion/Playground/!svn/ver/897/trunk HTTP/1.1 201 439
 10.63.36.64 - - [15/Aug/2013:10:33:21 +1000] HEAD 
 /Subversion/Playground/trunk/test6.txt HTTP/1.1 401 -
 10.63.36.64 - - [15/Aug/2013:10:33:21 +1000] DELETE 
 /Subversion/Playground/!svn/act/fe51daff-f5fc-d84f-ada1-17b5395050b2 
 HTTP/1.1 401 580
 10.63.36.64 - - [15/Aug/2013:10:33:21 +1000] DELETE 
 /Subversion/Playground/!svn/act/fe51daff-f5fc-d84f-ada1-17b5395050b2 
 HTTP/1.1 401 580
 10.63.36.64 - AAPL\\gf [15/Aug/2013:10:33:21 +1000] DELETE 
 /Subversion/Playground/!svn/act/fe51daff-f5fc-d84f-ada1-17b5395050b2 
 HTTP/1.1 204 -

That still shows 401 unauthorized which is odd if you are not using
Authz.  Do you have some other authz beyond AuthzSVNAccessFile?

The 1.2.3 client simply shows that with neon we don't send HEAD.

 Again, the error log did not change.

You may get more information if you add

LogLevel debug

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


Re: svn 1.8 causing locks to be broken on update

2013-08-15 Thread Philip Martin
Felipe Alvarez felipe.alva...@gmail.com writes:

 I'm using a 1.8.x client and a 1.6.x server and I can't reproduce it. I
 tried this

 svnadmin create repo --compatible-version 1.6
 svn co http://localhost:/obj/repo wc
 svn mkdir --parents wc/A/B/C
 touch wc/A/B/C/f
 svn add wc/A/B/C/f
 svn ci -mm wc
 svn up wc
 svn lock wc/A/B/C/f
 cd wc/A
 svn up
 cd ..
 svn up
 cd ..
 svn st wc

 and the final status shows wc/A/B/C/f still locked.

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

 ​Hi Philip

 Pardon my ignorance. We are using an authentic 1.6.15 client, not a 1.8.1
 in 1.6 mode (If I am interpreting your --compatible-version option
 correctly). Further, we are using Apache 2.2 with the following config 
 http://pastebin.com/ZefLnHA9

 We followed the exact same steps as you have, but not localhost, we used a
 remote host. Should it matter?

I have determined that the the lock gets broken when I use a 1.6.16
server but it is not broken when I use a 1.6.17 server.  It was fixed by
r1124173.

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


RE: svn 1.8 causing locks to be broken on update

2013-08-15 Thread Bert Huijben


 -Original Message-
 From: Philip Martin [mailto:philip.mar...@wandisco.com]
 Sent: donderdag 15 augustus 2013 11:41
 To: Felipe Alvarez
 Cc: Hiroharu Tamaru; Users Subversion Apache; Johan Corveleyn; William
 Smith
 Subject: Re: svn 1.8 causing locks to be broken on update
 
 Felipe Alvarez felipe.alva...@gmail.com writes:
 
  I'm using a 1.8.x client and a 1.6.x server and I can't reproduce it. I
  tried this
 
  svnadmin create repo --compatible-version 1.6
  svn co http://localhost:/obj/repo wc
  svn mkdir --parents wc/A/B/C
  touch wc/A/B/C/f
  svn add wc/A/B/C/f
  svn ci -mm wc
  svn up wc
  svn lock wc/A/B/C/f
  cd wc/A
  svn up
  cd ..
  svn up
  cd ..
  svn st wc
 
  and the final status shows wc/A/B/C/f still locked.
 
  --
  Philip Martin | Subversion Committer
  WANdisco // *Non-Stop Data*
 
  ​Hi Philip
 
  Pardon my ignorance. We are using an authentic 1.6.15 client, not a 1.8.1
  in 1.6 mode (If I am interpreting your --compatible-version option
  correctly). Further, we are using Apache 2.2 with the following config 
  http://pastebin.com/ZefLnHA9
 
  We followed the exact same steps as you have, but not localhost, we used
 a
  remote host. Should it matter?
 
 I have determined that the the lock gets broken when I use a 1.6.16
 server but it is not broken when I use a 1.6.17 server.  It was fixed by
 r1124173.

Ah, good catch:
[[
r1104309 | cmpilato | 2011-05-17 17:02:05 +0200 (di, 17 mei 2011) | 20 lines

With rhuijben, avoid transmitting entry props for unmodified, locked
files when the client-provided lock token matches what is stored in
the repository.  This fixes issue #3525 (Locked file which is
scheduled for delete causes tree conflict) and issue #3471 (svn up
touches file w/ lock  svn:keywords property).

NOTE:  There is a remaining 3525-related test that is still failing
(update_tests.py 53), but that's because of out-of-date expectations
in the WC-NG world.  (That will be fixed in a subsequent revision.)

* subversion/libsvn_repos/reporter.c
  (update_entry): Return early not only when there's not a provided
lock token, but also when there's a provided lock token that matches
what's in the repository.

* subversion/tests/cmdline/lock_tests.py
  (update_locked_deleted): Remove @XFail decorator.

* subversion/tests/cmdline/update_tests.py
  (update_with_file_lock_and_keywords_property_set): Remove @XFail decorator.
]]

A group effort on 2011's SvnDay Hackathon :)

Bert



Re: svn 1.8 causing locks to be broken on update

2013-08-15 Thread Johan Corveleyn
On Thu, Aug 15, 2013 at 12:12 PM, Bert Huijben b...@qqmail.nl wrote:


 -Original Message-
 From: Philip Martin [mailto:philip.mar...@wandisco.com]
 Sent: donderdag 15 augustus 2013 11:41
 To: Felipe Alvarez
 Cc: Hiroharu Tamaru; Users Subversion Apache; Johan Corveleyn; William
 Smith
 Subject: Re: svn 1.8 causing locks to be broken on update

 Felipe Alvarez felipe.alva...@gmail.com writes:

  I'm using a 1.8.x client and a 1.6.x server and I can't reproduce it. I
  tried this
 
  svnadmin create repo --compatible-version 1.6
  svn co http://localhost:/obj/repo wc
  svn mkdir --parents wc/A/B/C
  touch wc/A/B/C/f
  svn add wc/A/B/C/f
  svn ci -mm wc
  svn up wc
  svn lock wc/A/B/C/f
  cd wc/A
  svn up
  cd ..
  svn up
  cd ..
  svn st wc
 
  and the final status shows wc/A/B/C/f still locked.
 
  --
  Philip Martin | Subversion Committer
  WANdisco // *Non-Stop Data*
 
  Hi Philip
 
  Pardon my ignorance. We are using an authentic 1.6.15 client, not a 1.8.1
  in 1.6 mode (If I am interpreting your --compatible-version option
  correctly). Further, we are using Apache 2.2 with the following config 
  http://pastebin.com/ZefLnHA9
 
  We followed the exact same steps as you have, but not localhost, we used
 a
  remote host. Should it matter?

 I have determined that the the lock gets broken when I use a 1.6.16
 server but it is not broken when I use a 1.6.17 server.  It was fixed by
 r1124173.

 Ah, good catch:
 [[
 r1104309 | cmpilato | 2011-05-17 17:02:05 +0200 (di, 17 mei 2011) | 20 lines

 With rhuijben, avoid transmitting entry props for unmodified, locked
 files when the client-provided lock token matches what is stored in
 the repository.  This fixes issue #3525 (Locked file which is
 scheduled for delete causes tree conflict) and issue #3471 (svn up
 touches file w/ lock  svn:keywords property).

 NOTE:  There is a remaining 3525-related test that is still failing
 (update_tests.py 53), but that's because of out-of-date expectations
 in the WC-NG world.  (That will be fixed in a subsequent revision.)

 * subversion/libsvn_repos/reporter.c
   (update_entry): Return early not only when there's not a provided
 lock token, but also when there's a provided lock token that matches
 what's in the repository.

 * subversion/tests/cmdline/lock_tests.py
   (update_locked_deleted): Remove @XFail decorator.

 * subversion/tests/cmdline/update_tests.py
   (update_with_file_lock_and_keywords_property_set): Remove @XFail decorator.
 ]]

 A group effort on 2011's SvnDay Hackathon :)

 Bert


Great! I remember that series of lock-related discussions / fixes.

Now, playing user's advocate: is there still something useful to do
here? I.e. apparently ra_neon worked fine with the broken servers.
Should ra_serf also be able to handle this, so 1.8 clients can still
work fine with servers  1.6.17?

-- 
Johan


Re: Suggestion to change the name Subversion

2013-08-15 Thread Johan Corveleyn
On Mon, Aug 12, 2013 at 10:57 PM, Glenn Holmer ghol...@weycogroup.com wrote:
 On 08/12/2013 03:51 PM, Greg Stein wrote:

 Apache Subversion actually started as Inversion around December
 1999, or January 2000. It wasn't until April 2000, that we accepted
 Subversion as a rename. It had version in the name, and we *were*
 trying to subvert the CVS installations/community, so the name fit
 extremely well :-)

 It became Apache Subversion in February 2010.


 Great story, thanks!

And if you want to know how to pronounce Subversion:

  http://subversion.apache.org/faq.html#pronounce

:-)

-- 
Johan


Re: svn 1.8 causing locks to be broken on update

2013-08-15 Thread Felipe Alvarez
On Thu, Aug 15, 2013 at 6:19 PM, Bert Huijben b...@qqmail.nl wrote:

 Hi Felipe,

 Do you have access to the repository configuration at the server?

 Things we are most interested in is how exactly your authentication is
 setup. E.g. do you allow anonymous acces, and if yes in what way?

 Posting your server configuration (with passwords and private information
 changed) would really help.

 I don’t think the serf debug log is really giving much more information
 here, as there are (as far as I can tell) no requests that fail. The
 default server side logging (if not disabled) provides most likely more
 than enough information to look into this.

 Last night (EU time) we spend some time with different scenarios in an
 attempt to reproduce your issue, but we were unable to.

 Bert


​Hi Bert. I do have access to the server. I posted the HTTP config here 
http://pastebin.com/ZefLnHA9

- we do not allow anonymous access
- auth is handles by htpasswd valid-user (also use 'authz' to hide some
directories from some users, but I do not believe this is the case here)

I'm outputing the access_log of the virtualhost which runs SVN server
(apache). I hope I'm not spamming. I thought it was too small to paste on
pastebin...

ps. the 'error_log' was 0 bytes

This is output from a 1.6.15 client and 1.6.15 server. Locks are not broken
---BEGIN---
cat access_log_svntest_1.6.15
192.168.0.20 - - [15/Aug/2013:21:21:37 +1000] OPTIONS / HTTP/1.1 200 -
- SVN/1.6.15 (r1038135) neon/0.25.5
192.168.0.20 - - [15/Aug/2013:21:21:47 +1000] OPTIONS / HTTP/1.1 200 -
- SVN/1.6.15 (r1038135) neon/0.25.5
192.168.0.20 - - [15/Aug/2013:21:22:01 +1000] OPTIONS /svn/repos HTTP/1.1
401 491 - SVN/1.6.15 (r1038135) neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:04 +1000] OPTIONS /svn/repos
HTTP/1.1 200 189 - SVN/1.6.15 (r1038135) neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:04 +1000] PROPFIND /svn/repos
HTTP/1.1 207 649 - SVN/1.6.15 (r1038135) neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:04 +1000] PROPFIND
/svn/repos/!svn/vcc/default HTTP/1.1 207 400 - SVN/1.6.15 (r1038135)
neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:04 +1000] PROPFIND
/svn/repos/!svn/bln/4 HTTP/1.1 207 451 - SVN/1.6.15 (r1038135)
neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] PROPFIND /svn/repos
HTTP/1.1 207 649 - SVN/1.6.15 (r1038135) neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] PROPFIND
/svn/repos/!svn/vcc/default HTTP/1.1 207 400 - SVN/1.6.15 (r1038135)
neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] PROPFIND
/svn/repos/!svn/bln/4 HTTP/1.1 207 451 - SVN/1.6.15 (r1038135)
neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] PROPFIND /svn/repos
HTTP/1.1 207 649 - SVN/1.6.15 (r1038135) neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] PROPFIND
/svn/repos/!svn/vcc/default HTTP/1.1 207 451 - SVN/1.6.15 (r1038135)
neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] PROPFIND
/svn/repos/!svn/bc/4 HTTP/1.1 207 659 - SVN/1.6.15 (r1038135)
neon/0.25.5
192.168.0.20 - - [15/Aug/2013:21:22:06 +1000] OPTIONS /svn/repos HTTP/1.1
401 491 - SVN/1.6.15 (r1038135) neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] OPTIONS /svn/repos
HTTP/1.1 200 189 - SVN/1.6.15 (r1038135) neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] PROPFIND /svn/repos
HTTP/1.1 207 649 - SVN/1.6.15 (r1038135) neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] PROPFIND /svn/repos
HTTP/1.1 207 649 - SVN/1.6.15 (r1038135) neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] PROPFIND
/svn/repos/!svn/vcc/default HTTP/1.1 207 400 - SVN/1.6.15 (r1038135)
neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] PROPFIND
/svn/repos/!svn/bln/4 HTTP/1.1 207 451 - SVN/1.6.15 (r1038135)
neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] PROPFIND /svn/repos
HTTP/1.1 207 649 - SVN/1.6.15 (r1038135) neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] PROPFIND
/svn/repos/!svn/vcc/default HTTP/1.1 207 400 - SVN/1.6.15 (r1038135)
neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] PROPFIND
/svn/repos/!svn/bln/4 HTTP/1.1 207 451 - SVN/1.6.15 (r1038135)
neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:06 +1000] REPORT
/svn/repos/!svn/vcc/default HTTP/1.1 200 3946 - SVN/1.6.15 (r1038135)
neon/0.25.5
192.168.0.20 - - [15/Aug/2013:21:22:51 +1000] OPTIONS
/svn/repos/Trunk/Lettus/lbin HTTP/1.1 401 491 - SVN/1.6.15 (r1038135)
neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:51 +1000] OPTIONS
/svn/repos/Trunk/Lettus/lbin HTTP/1.1 200 189 - SVN/1.6.15 (r1038135)
neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:51 +1000] PROPFIND
/svn/repos/Trunk/Lettus/lbin HTTP/1.1 207 712 - SVN/1.6.15 (r1038135)
neon/0.25.5
192.168.0.20 - felipe [15/Aug/2013:21:22:51 +1000] PROPFIND
/svn/repos/Trunk/Lettus/lbin/file1.txt HTTP/1.1 207 698 - SVN/1.6.15
(r1038135) neon/0.25.5
192.168.0.20 - felipe 

Re: svn 1.8 causing locks to be broken on update

2013-08-15 Thread Philip Martin
Johan Corveleyn jcor...@gmail.com writes:

 Now, playing user's advocate: is there still something useful to do
 here? I.e. apparently ra_neon worked fine with the broken servers.
 Should ra_serf also be able to handle this, so 1.8 clients can still
 work fine with servers  1.6.17?

It appears to be related to a path handling bug in code that is supposed
to handle old servers, the obvious fix makes the problem worse.  I've
raised http://subversion.tigris.org/issues/show_bug.cgi?id=4412

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


Re: Suggestion to change the name Subversion

2013-08-15 Thread Glenn Holmer

On 08/15/2013 06:18 AM, Johan Corveleyn wrote:

On Mon, Aug 12, 2013 at 10:57 PM, Glenn Holmer ghol...@weycogroup.com wrote:

On 08/12/2013 03:51 PM, Greg Stein wrote:


Apache Subversion actually started as Inversion around December
1999, or January 2000. It wasn't until April 2000, that we accepted
Subversion as a rename. It had version in the name, and we *were*
trying to subvert the CVS installations/community, so the name fit
extremely well :-)

It became Apache Subversion in February 2010.



Great story, thanks!


And if you want to know how to pronounce Subversion:

   http://subversion.apache.org/faq.html#pronounce


Hahaha, I still have copies of Linus saying the corresponding thing in 
English and Swedish.


--
Glenn Holmer
Weyco Group, Inc.
phone: 414-908-1809
fax: 414-908-1601


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread dlellis
  Once you copy, you break the link.  If you were to make a change to 
the 
  copy, no one else would then see it. 
 
 No one else would see it with externals either, except that you 
 wrote a custom tool to analyze the externals, see if a newer 
 revision of the original exists, and show that to the user. If you 
 can do that with externals, you can do that with copies too. (Use 
 svn log --stop-on-copy to find out where the copy came from, then 
 see if there are newer revisions of that.)

The challenge I then see on this is one of finding all instances of foo.c. 
 If you have foo.c copied/forked fifty times to different projects, each 
of which has branched a couple of times, how do you programmatically find 
all different instances of foo.c (to let a developer choose which may be 
most appropriate?)  If you have good ideas, I'm very open to listening.

Also if you have to projects that both want foo.c and both have valid 
changes to make to the file, how does that get managed when they are 
copies?  Its a trivial implementation when it is implemented as a file 
external. 

We also have instances where we purposely want multiple copies of the same 
exact file within the same project.  We can effectively manage this 
through file externals to a structured datastore (AKA a set of folders 
within a repo).  Regardless of where and how a team decides to structure 
their project, all files are neatly organized in this one section of the 
repo (that is considered taboo to directly interact with).  The ability to 
have a specific file having many copies of itself and not care about its 
position within the repository is a powerful feature.  I understand this 
may diverge a bit from SVN's core thoughts on CM, but if SVN can support 
odd variations to its use, it becomes an even more indispensable building 
block.  Diversity in approaches is good.

From a feature perspective, externals are a very appropriate method to 
accomplish this (really a CM implementation of symlinks).  If we're saying 
that externals from an implementation standpoint are not quite appropriate 
at this time, I get that argument.  What is the general consensus as to 
where externals are on the roadmap? 

I may not convince the team that externals are really really useful (even 
if abused) in this application, but I'm hoping that the team does 
appreciate the general usefulness of externals and keeps maturing the 
feature.

Thanks
Dan



Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread Les Mikesell
On Thu, Aug 15, 2013 at 10:12 AM,  dlel...@rockwellcollins.com wrote:

  Once you copy, you break the link.  If you were to make a change to the
  copy, no one else would then see it.

 No one else would see it with externals either, except that you
 wrote a custom tool to analyze the externals, see if a newer
 revision of the original exists, and show that to the user. If you
 can do that with externals, you can do that with copies too. (Use
 svn log --stop-on-copy to find out where the copy came from, then
 see if there are newer revisions of that.)

 The challenge I then see on this is one of finding all instances of foo.c.
 If you have foo.c copied/forked fifty times to different projects, each of
 which has branched a couple of times, how do you programmatically find all
 different instances of foo.c (to let a developer choose which may be most
 appropriate?)  If you have good ideas, I'm very open to listening.

There is no difference in that question than finding where the
'future' copies of a pegged external target went.  You can only do
either if you have a convention for a canonical path.

 Also if you have to projects that both want foo.c and both have valid
 changes to make to the file, how does that get managed when they are copies?
 Its a trivial implementation when it is implemented as a file external.

How so?  I assume you also have to handle cases either way: where both
projects want the same change and where both projects need different
changes - where typical svn users would have branches/tags to
distinguish them.   But regardless of how you identify the target
file, there shouldn't be any effective difference between copying a
version into your directory or using a file external as long as you
don't modify it in place and commit it back - something your external
tool could track.

 We also have instances where we purposely want multiple copies of the same
 exact file within the same project.  We can effectively manage this through
 file externals to a structured datastore (AKA a set of folders within a
 repo).  Regardless of where and how a team decides to structure their
 project, all files are neatly organized in this one section of the repo
 (that is considered taboo to directly interact with).  The ability to have a
 specific file having many copies of itself and not care about its position
 within the repository is a powerful feature.  I understand this may diverge
 a bit from SVN's core thoughts on CM, but if SVN can support odd variations
 to its use, it becomes an even more indispensable building block.  Diversity
 in approaches is good.

Again, you get the history in a copy.  You can tell if they are the
same.  Or, on unix-like systems you can use symlinks to a canonical
copy within the project.

 From a feature perspective, externals are a very appropriate method to
 accomplish this (really a CM implementation of symlinks).  If we're saying
 that externals from an implementation standpoint are not quite appropriate
 at this time, I get that argument.  What is the general consensus as to
 where externals are on the roadmap?

I agree that externals are very useful, but most projects would use
them at subdirectory levels for component libraries where they work
nicely, not for thousands of individual file targets.   Is there
really no natural grouping - perhaps even of sets of combinations that
have been tested together that you could usefully group in
release-tagged directories?

 I may not convince the team that externals are really really useful (even if
 abused) in this application, but I'm hoping that the team does appreciate
 the general usefulness of externals and keeps maturing the feature.

Please make the distinction between file externals - which are sort of
an exception with special handling, and normal externals. Subversion
uses directories as a natural sort of project container - which, not
surprisingly fits the model of most things you want to manage on
computers, and some reasonable number of directory-level externals
'just work' without special considerations.  I'm not against better
performance, of course, but it makes sense to me to make pragmatic
design decisions for the same reasons you might avoid throwing
millions of files in one flat directory even in a non-versioned
scenario.   Theoretically, you should be able to do that, but in
practice it isn't going to perform as well as something with better
structure.

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


svnserve 1.8 freezes

2013-08-15 Thread Aleksa Todorovic
Hi, all!

I wanted to check if anyone else experienced similar issue like the on I
have. I have svn server running on Windows XP as service (using
svnserve.exe). Everything was working fine until I switched server from 1.7
to 1.8. From that moment, every few days, SVN server would freeze eating up
all cpu it can (50% on dual core system). Note that I upgraded repository
after upgrading svn software. I created full dump of frozen svnserver.exe
(70MB in size) to help developers resolve the issue. Has anyone else had
this kind of problem with 1.8 server?

Regards,
Aleksa


Re: Suggestion to change the name Subversion

2013-08-15 Thread Thomas Harold

On 8/12/2013 8:03 PM, Nico Kadel-Garcia wrote:

No one else remember the old Satan monitoring toolkit, that had an
option to change the displayed name and icon to Santa?

The name Subversion has enough positive reputation that changing
it, just to avoid NSA style monitoring, seems very destabilizing to a
popular project. Let's not change it.



We get around this whole issue with our users by either always saying 
Subversion instead of subversion so that it's clear we're talking 
about a proper noun instead of a verb.  Or by just using SVN.





Re: Suggestion to change the name Subversion

2013-08-15 Thread Naumenko, Roman
On 2013/08/12 5:25 PM, Mauricio Tavares wrote:
 On Mon, Aug 12, 2013 at 4:57 PM, Glenn Holmer ghol...@weycogroup.com wrote:
 On 08/12/2013 03:51 PM, Greg Stein wrote:
 Apache Subversion actually started as Inversion around December
 1999, or January 2000. It wasn't until April 2000, that we accepted
 Subversion as a rename. It had version in the name, and we *were*
 trying to subvert the CVS installations/community, so the name fit
 extremely well :-)

 It became Apache Subversion in February 2010.
 Great story, thanks!
Agreed. On the name change topic, I had a professor who would
 greet people with heaveno because he believed the traditional
 greeting had satanic connotations. His attempts to make us use that
 did not go very far...
http://lyrics.wikia.com/Andrew_Rannells:Hello! 
http://lyrics.wikia.com/Andrew_Rannells:Hello%21
:)

--Roman
___

This email is intended only for the use of the individual(s) to whom it is 
addressed and may be privileged and confidential.
Unauthorised use or disclosure is prohibited. If you receive This e-mail in 
error, please advise immediately and delete the original message. 
This message may have been altered without your or our knowledge and the sender 
does not accept any liability for any errors or omissions in the message.

Ce courriel est confidentiel et protégé. L'expéditeur ne renonce pas aux droits 
et obligations qui s'y rapportent. 
Toute diffusion, utilisation ou copie de ce message ou des renseignements qu'il 
contient par une personne autre que le (les) destinataire(s) désigné(s) est 
interdite.
Si vous recevez ce courriel par erreur, veuillez m'en aviser immédiatement, par 
retour de courriel ou par un autre moyen.



Re: Suggestion to change the name Subversion

2013-08-15 Thread Stefan Sperling
On Thu, Aug 15, 2013 at 12:23:35PM -0400, Thomas Harold wrote:
 We get around this whole issue with our users by either always
 saying Subversion instead of subversion so that it's clear we're
 talking about a proper noun instead of a verb.  Or by just using
 SVN.

Ah, the Secret Vigilante Network! Very suspicious.


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread dlellis
  The challenge I then see on this is one of finding all instances of 
foo.c.
  If you have foo.c copied/forked fifty times to different projects, 
each of
  which has branched a couple of times, how do you programmatically find 
all
  different instances of foo.c (to let a developer choose which may be 
most
  appropriate?)  If you have good ideas, I'm very open to listening.
 
 There is no difference in that question than finding where the
 'future' copies of a pegged external target went.  You can only do
 either if you have a convention for a canonical path.

true (I believe).

 
  Also if you have to projects that both want foo.c and both have valid
  changes to make to the file, how does that get managed when they are 
copies?
  Its a trivial implementation when it is implemented as a file 
external.
 
 How so?  I assume you also have to handle cases either way: where both
 projects want the same change and where both projects need different
 changes - where typical svn users would have branches/tags to
 distinguish them.   But regardless of how you identify the target
 file, there shouldn't be any effective difference between copying a
 version into your directory or using a file external as long as you
 don't modify it in place and commit it back - something your external
 tool could track.

We do want to modify in place.  Copying back creates an additional step 
that is already managed quite well by SVN with externals.  I don't want to 
duplicate something that already exists (I'll mess it up).  There was some 
discussion on another thread about advancing a peg revision of an external 
when an external is committed.  This would be a neat feature, though I 
completely understand why it would not be incorporated.  We do this behind 
the scenes right now with very little work (post-commit script in TSVN 
gives us knowledge of what a user committed).

 
  We also have instances where we purposely want multiple copies of the 
same
  exact file within the same project.  We can effectively manage this 
through
  file externals to a structured datastore (AKA a set of folders 
within a
  repo).  Regardless of where and how a team decides to structure their
  project, all files are neatly organized in this one section of the 
repo
  (that is considered taboo to directly interact with).  The abilityto 
have a
  specific file having many copies of itself and not care about its 
position
  within the repository is a powerful feature.  I understand this may 
diverge
  a bit from SVN's core thoughts on CM, but if SVN can support odd 
variations
  to its use, it becomes an even more indispensable building block. 
Diversity
  in approaches is good.
 
 Again, you get the history in a copy.  You can tell if they are the
 same.  Or, on unix-like systems you can use symlinks to a canonical
 copy within the project.

We're not a unix-like system but that is what would work great (with the 
exception that you can't revision control symlinks, right?)

 
  From a feature perspective, externals are a very appropriate method to
  accomplish this (really a CM implementation of symlinks).  If we're 
saying
  that externals from an implementation standpoint are not quite 
appropriate
  at this time, I get that argument.  What is the general consensus as 
to
  where externals are on the roadmap?
 
 I agree that externals are very useful, but most projects would use
 them at subdirectory levels for component libraries where they work
 nicely, not for thousands of individual file targets.   Is there
 really no natural grouping - perhaps even of sets of combinations that
 have been tested together that you could usefully group in
 release-tagged directories?

The whole discovery we found is that most of our reuse occurred in 
unplanned ways (I'd imagine if you took two linux distros and compare 
files which changed and didn't change, it would be a huge collection of 
random files that aren't easily abstracted out.  You might be able to do 
it once, but as each new distribution branches out, the commonality 
between each of them becomes impossible to form groupings on.


 ...'just work' without special considerations.  I'm not against better
 performance, of course, but it makes sense to me to make pragmatic
 design decisions for the same reasons you might avoid throwing
 millions of files in one flat directory even in a non-versioned
 scenario.   Theoretically, you should be able to do that, but in
 practice it isn't going to perform as well as something with better
 structure.

I'm not sure what a reasonable number of external files per folder is, but 
I'd think it'd be similar to a reasonable number of regular files would 
be.  Two million is nuts, but 50 seems reasonable.  The issue is that I'm 
currently forced to deal with not just the current directory, but the 
recursion on all nested directories (--depth infinity).  If, as the 
subject of this thread requests, we could perform work on the directory at 
hand at not the 

svn merge --reintegrate - quick question

2013-08-15 Thread Z W
Hi All


We have a situation where a few folks dont use --reintegrate option when
performing svn merge, while others do.

What's
1- the consequence of not using --reintegrate option; can the feature
branch continue to svn merge to trunk the 2nd time and thereafter ?
2- the impact on those feature branches that do use --reintegrate option;
from what we read in the manual, that one cannot use this feature branches
anymore.

Thanks
Sincerely


Re: svn 1.8 causing locks to be broken on update

2013-08-15 Thread Johan Corveleyn
On Thu, Aug 15, 2013 at 10:30 AM, Lieven Govaerts
lieven.govae...@gmail.com wrote:
 On Wed, Aug 14, 2013 at 11:30 PM, Johan Corveleyn jcor...@gmail.com wrote:
 On Wed, Aug 14, 2013 at 12:05 PM, Felipe Alvarez
 felipe.alva...@gmail.com wrote:
...
 How do I enabled debugging in .subversion/config or .subversion/servers? It
 used to be something like neon-debug but that's no longer available since
 1.8.1 (or 1.8)


 As of 1.8 SVN only uses the serf library for http communication, and
 no longer the neon library (before 1.8, both were part of svn, but
 neon was the default library).

 Unfortunately there is no runtime-switch (yet) to enable debug output
 with svn+serf. There is already an open enhancement request for this
 [1].

 You can enable debug logging with serf by rebuilding (see [2]).

 A FYI to Johan: note that there are two levels of abstraction here:
 - serf: the http library that's now used instead of neon: implements
 the http protocol and sends/receives bytes over the network
 - ra_serf: the subversion ra module that uses serf to communicate with
 a mod_dav_svn module in an apache server via XML request/reply
 messaging

 If there's an issue that looks like missing or corrupted data,
 connection or authentication problems then we look to the serf
 library. The logging you refer to is then a good way to start
 gathering info on what's going wrong.

 However in this case it seems that the communication itself is ok, but
 there's a potential issue in how ra_serf drives the communication
 (i.e. the content of the xml requests). Serf logging will not help
 here as it's a level too deep. A simple wireshark trace can help, once
 the exact reproduction recipe is known.
 (serf can also log request and reply output, even with https, but it's
 easier to use wireshark)

 Lieven

Ah yes, thanks. I will keep that in mind.

-- 
Johan


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread dlellis
 On Thu, Aug 15, 2013 at 12:39 PM,  dlel...@rockwellcollins.com wrote:
 
   But regardless of how you identify the target
  file, there shouldn't be any effective difference between copying a
  version into your directory or using a file external as long as you
  don't modify it in place and commit it back - something your external
  tool could track.
 
  We do want to modify in place.  Copying back creates an additionalstep 
that
  is already managed quite well by SVN with externals.
 
 I've never done that with a file external - where does the commit go?

It commits a new revision of what the file external pointed to - pretty 
handy.  If you are pegged, it will not automagically update your pegged 
revision (as I'd expect), so unless you are on the HEAD or update your peg 
to what just committed, an update will revert your WC back to the pegged 
version. 

 
  Again, you get the history in a copy.  You can tell if they are the
  same.  Or, on unix-like systems you can use symlinks to a canonical
  copy within the project.
 
 
  We're not a unix-like system but that is what would work great (with 
the
  exception that you can't revision control symlinks, right?)
 
 I think so, but the links and the target would be versioned
 independently which might complicate your tracking.

Yes, it would complicate things quite a bit and introduce areas for 
defects to get introduced.

 
  The whole discovery we found is that most of our reuse occurred 
inunplanned
  ways (I'd imagine if you took two linux distros and compare files 
which
  changed and didn't change, it would be a huge collection of random 
files
  that aren't easily abstracted out.  You might be able to do it once, 
but as
  each new distribution branches out, the commonality between each of 
them
  becomes impossible to form groupings on.
 
 I was thinking of just adding an extra layer of grouping management
 that would be versioned and able to be duplicated as much as
 necessary.   Suppose you made 10 directories and copied 100 files into
 each with tagged versions of these directories for every combination
 you need to access.   Normally there would be natural groupings where
 there is a common manager making decisions, etc., but for the moment
 just consider it for performance.   Within the repository, the copies
 are cheap like symlinks - you could have a large number of
 pre-arranged tagged choices.   Then your top level project becomes 10
 directory-level externals instead of 1000 file externals.

With more complexity comes more bugs and process missteps.  We're really 
striving to keep things as simple as possible.  We're fundamentally 
accepting of update times going from 2 seconds to 2 minutes.  Its harder 
when 2 minutes becomes 20 minutes.

 
  I'm not sure what a reasonable number of external files per folder is, 
but
  I'd think it'd be similar to a reasonable number of regular files 
would be.
  Two million is nuts, but 50 seems reasonable.
 
 Think of this in terms of client-server activity.  With directory
 level externals, the client can ask the server if anything under the
 directory has newer revisions in one exchange and if it hasn't, you
 are done.   So what's reasonable is the amount of activity you want to
 wait for.

The whole discussion has centered on an attempted work around for the 
connection caching that doesn't currently occur for externals.  If that 
can happen, I think we'd be very content.  We're accepting of some 
performance issues.  There was an XKCD a while ago that talked about how 
much time a task takes, how many times you do it and how much waste is 
created over a year.  It was interesting (even if obvious if you thought 
about it).  I think with connection caching we'd hit the sweet spot and 
working further would result in diminishing returns.  This thread is an 
attempt a hopefully short-term work around this limitation.

 Usually I'd consider the 'human' side of organization first, so if you
 can come up with any groupings that could be done as copies into
 tagged directories you might want to arrange them by the people/groups
 who make the choices - and then the performance win would just be an
 extra bonus.

That's just it, we can't find (let alone maintain over time) any 
consistent groupings by function.  Trying to create groupings other ways 
could confuse the developers, or if we try and hide the fact that we have 
an optimized backend of sorts, we then have to write more tool software 
(we don't like writing tools, we like writing embedded software).  In the 
end, revision controlled symlinks are the best answer and file externals 
appear to be very close.  And we're oh so close with file externals right 
now. 

Thanks
Dan


[BUG] -std=c90 passed to non-GCC compilers

2013-08-15 Thread Daniel Richard G.
I am building Subversion 1.8.1 on Solaris 10 on AMD64, using the vendor
compiler. All of the compile lines produce a warning from the compiler:

/bin/bash /tmp/subversion-build/libtool --tag=CC --silent --mode=compile cc 
-std=c90  -D__EXTENSIONS__ -D_REENTRANT-DSOLARIS2=10 
-D_POSIX_PTHREAD_SEMANTICS [...]
cc: Warning: illegal option -d=c90


The -std=c90 flag appears to be added by the SVN_CC_MODE_SETUP() macro
in build/ac-macros/compiler.m4. This then uses SVN_CFLAGS_ADD_IFELSE(),
which checks to see if the compiler accepts a specified flag. This macro
assumes that the compiler will throw an error if it doesn't recognize a
flag, which unfortunately does not hold true in the case of the Sun
compiler and this -std= flag.

According to cc -flags, -s is Strip symbol table from the executable
file. The cc(1) man page states cc recognizes -a, -e, -r, -t, -u, and
-z and passes these options and their arguments to ld.  cc also passes
any unrecognized options to ld with a warning.

Perhaps the macro should check the value of $GCC before testing
this flag?


--Daniel


P.S.: Please Cc: any replies, as I am not subscribed to this list.


-- 
Daniel Richard G. || sk...@iskunk.org
My ASCII-art .sig got a bad case of Times New Roman.


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread Les Mikesell
On Thu, Aug 15, 2013 at 2:03 PM,  dlel...@rockwellcollins.com wrote:

 With more complexity comes more bugs and process missteps.  We're really
 striving to keep things as simple as possible.  We're fundamentally
 accepting of update times going from 2 seconds to 2 minutes.  Its harder
 when 2 minutes becomes 20 minutes.

Are your build systems on the other side of the world from the
repository?   The quick fix might be to reduce the latency one way or
another (move one of the pieces, use the wandisco distributed repo
approach, etc?) or automate with something like jenkins so you don't
have a person waiting.

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


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread dlellis
 On Thu, Aug 15, 2013 at 2:03 PM,  dlel...@rockwellcollins.com wrote:
 
  With more complexity comes more bugs and process missteps.  We're 
really
  striving to keep things as simple as possible.  We're fundamentally
  accepting of update times going from 2 seconds to 2 minutes.  Its 
harder
  when 2 minutes becomes 20 minutes.
 
 Are your build systems on the other side of the world from the
 repository?   The quick fix might be to reduce the latency one way or
 another (move one of the pieces, use the wandisco distributed repo
 approach, etc?) or automate with something like jenkins so you don't
 have a person waiting.

Yes, and that's a big contributor.  Co-location helps significantly, but 
isn't an option in our case.  I'll take a look at your suggestions.

Thanks
dan


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread Les Mikesell
On Thu, Aug 15, 2013 at 2:24 PM,  dlel...@rockwellcollins.com wrote:

  With more complexity comes more bugs and process missteps.  We're
  really
  striving to keep things as simple as possible.  We're fundamentally
  accepting of update times going from 2 seconds to 2 minutes.  Its harder
  when 2 minutes becomes 20 minutes.

 Are your build systems on the other side of the world from the
 repository?   The quick fix might be to reduce the latency one way or
 another (move one of the pieces, use the wandisco distributed repo
 approach, etc?) or automate with something like jenkins so you don't
 have a person waiting.

 Yes, and that's a big contributor.  Co-location helps significantly, but
 isn't an option in our case.  I'll take a look at your suggestions.

Depending on your platform and tools, there are times when it works
better to have a remote display to a machine on a network where the
real work happens than to copy everything locally.   And if you can
automate with Jenkins, you don't really even need the display for the
build, although you do have to somehow commit your changes to
subversion.

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


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread Johan Corveleyn
On Thu, Aug 15, 2013 at 9:03 PM,  dlel...@rockwellcollins.com wrote:
...
 The whole discussion has centered on an attempted work around for the
 connection caching that doesn't currently occur for externals.  If that can
 happen, I think we'd be very content.  We're accepting of some performance
 issues.  There was an XKCD a while ago that talked about how much time a
 task takes, how many times you do it and how much waste is created over a
 year.  It was interesting (even if obvious if you thought about it).  I
 think with connection caching we'd hit the sweet spot and working further
 would result in diminishing returns.  This thread is an attempt a hopefully
 short-term work around this limitation.


As you've read in the responses by Ben Reser and Ivan Zhakov earlier
in this thread, the ra-session-reuse (connection caching) is work in
progress. That might take some time before it ends up in a final
release (if it's slated for 1.9, that's at least half a year away).

Have you considered setting up something like write-through
proxying[1], where you set up local read-only mirrors of your central
svn repository (which transparently sent through write requests to the
master)? That might significantly reduce latency for those read
operations, and might be good enough to make things workable.

[1] 
http://svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html#svn.serverconfig.httpd.extra.writethruproxy

-- 
Johan


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread Les Mikesell
On Thu, Aug 15, 2013 at 2:03 PM,  dlel...@rockwellcollins.com wrote:

  We do want to modify in place.  Copying back creates an additionalstep
  that

  is already managed quite well by SVN with externals.

 I've never done that with a file external - where does the commit go?


 It commits a new revision of what the file external pointed to - pretty
 handy.  If you are pegged, it will not automagically update your pegged
 revision (as I'd expect), so unless you are on the HEAD or update your peg
 to what just committed, an update will revert your WC back to the pegged
 version.

I'd actually expect it to be pretty confusing if you had multiple
people committing changes based from different back-rev pegged
references anywhere near the same time frame.  Does your external
'notify about new versions' tool help with that?   Don't you get
conflicting changes that you'd want branches to help isolate?

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


Re: [BUG] -std=c90 passed to non-GCC compilers

2013-08-15 Thread Branko Čibej
On 15.08.2013 21:08, Daniel Richard G. wrote:
 I am building Subversion 1.8.1 on Solaris 10 on AMD64, using the vendor
 compiler. All of the compile lines produce a warning from the compiler:

 /bin/bash /tmp/subversion-build/libtool --tag=CC --silent --mode=compile cc 
 -std=c90  -D__EXTENSIONS__ -D_REENTRANT-DSOLARIS2=10 
 -D_POSIX_PTHREAD_SEMANTICS [...]
 cc: Warning: illegal option -d=c90


 The -std=c90 flag appears to be added by the SVN_CC_MODE_SETUP() macro
 in build/ac-macros/compiler.m4. This then uses SVN_CFLAGS_ADD_IFELSE(),
 which checks to see if the compiler accepts a specified flag. This macro
 assumes that the compiler will throw an error if it doesn't recognize a
 flag,

Indeed it does so assume ...

  which unfortunately does not hold true in the case of the Sun
 compiler and this -std= flag.

 According to cc -flags, -s is Strip symbol table from the executable
 file. The cc(1) man page states cc recognizes -a, -e, -r, -t, -u, and
 -z and passes these options and their arguments to ld.  cc also passes
 any unrecognized options to ld with a warning.

 Perhaps the macro should check the value of $GCC before testing
 this flag?

Clearly it should. I was kind of hoping that wouldn't be necessary, but
compilers differ too much in how they handle unknown options. Note that
we already have a workaround for clang for the same issue, but I doubt
we can rely on a similar workaround for Sun CC (and all the other myriad
compilers out there).

Thanks for the report, I'll look into fixing this.

-- Brane

-- 
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. br...@wandisco.com


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread dlellis
 
  It commits a new revision of what the file external pointed to - 
pretty
  handy.  If you are pegged, it will not automagically update your 
pegged
  revision (as I'd expect), so unless you are on the HEAD or update your 
peg
  to what just committed, an update will revert your WC back to the 
pegged
  version.
 
 I'd actually expect it to be pretty confusing if you had multiple
 people committing changes based from different back-rev pegged
 references anywhere near the same time frame.  Does your external
 'notify about new versions' tool help with that?   Don't you get
 conflicting changes that you'd want branches to help isolate?

Yes, its obvious to users when they are not on the latest revision of the 
file, but they c/would still go through a merge process if need be.

Its actually very straight-forward as we intentionally focused on 
targeting non-CM-guru folks.


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread Les Mikesell
On Thu, Aug 15, 2013 at 4:03 PM,  dlel...@rockwellcollins.com wrote:


 I'd actually expect it to be pretty confusing if you had multiple
 people committing changes based from different back-rev pegged
 references anywhere near the same time frame.  Does your external
 'notify about new versions' tool help with that?   Don't you get
 conflicting changes that you'd want branches to help isolate?

 Yes, its obvious to users when they are not on the latest revision of the
 file, but they c/would still go through a merge process if need be.

 Its actually very straight-forward as we intentionally focused on targeting
 non-CM-guru folks.

I'm having a little trouble picturing how you would sanely maintain
(say) a conflicting line of code where 2 projects need the difference
across several revisions when all the commits from both go to the head
of the same trunk copy.

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


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread Ben Reser
On 8/15/13 1:05 PM, Les Mikesell wrote:
 I'd actually expect it to be pretty confusing if you had multiple
 people committing changes based from different back-rev pegged
 references anywhere near the same time frame.  Does your external
 'notify about new versions' tool help with that?   Don't you get
 conflicting changes that you'd want branches to help isolate?

The commit won't complete you'll get an out of date error.


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread dlellis
Ben Reser bre...@apache.org wrote on 08/15/2013 02:57:23 PM:


 On 8/15/13 1:05 PM, Les Mikesell wrote:
  I'd actually expect it to be pretty confusing if you had multiple
  people committing changes based from different back-rev pegged
  references anywhere near the same time frame.  Does your external
  'notify about new versions' tool help with that?   Don't you get
  conflicting changes that you'd want branches to help isolate?
 
 The commit won't complete you'll get an out of date error.

That's right, isn't it.  It'd be no different than two folks trying to 
commit the same file around the same time, right (one would get an out of 
date error)? 

Thanks,
Dan


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread Les Mikesell
On Thu, Aug 15, 2013 at 5:14 PM,  dlel...@rockwellcollins.com wrote:

  I'd actually expect it to be pretty confusing if you had multiple
  people committing changes based from different back-rev pegged
  references anywhere near the same time frame.  Does your external
  'notify about new versions' tool help with that?   Don't you get
  conflicting changes that you'd want branches to help isolate?

 The commit won't complete you'll get an out of date error.

 That's right, isn't it.  It'd be no different than two folks trying to
 commit the same file around the same time, right (one would get an out of
 date error)?

Right, but when working on the trunk explicitly you'd expect to update
to accept others' changes often, or to branch to preserve and isolate
your differences.   I don't see how either quite matches a model where
changes might be made based on multiple differing back-rev pinned
externals.   What happens if two projects don't want to accept each
others' changes and need to commit their own?  In a more typical
scenario they would be working on branch copies that could diverge,
but I think you lose that by forcing a canonical path for development
(as a tradeoff for knowing where the 'new' work is...).

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


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread dlellis
  The commit won't complete you'll get an out of date error.
 
  That's right, isn't it.  It'd be no different than two folks trying to
  commit the same file around the same time, right (one would get an out 
of
  date error)?
 
 Right, but when working on the trunk explicitly you'd expect to update
 to accept others' changes often, or to branch to preserve and isolate
 your differences.   I don't see how either quite matches a model where
 changes might be made based on multiple differing back-rev pinned
 externals.   What happens if two projects don't want to accept each
 others' changes and need to commit their own?  In a more typical
 scenario they would be working on branch copies that could diverge,
 but I think you lose that by forcing a canonical path for development
 (as a tradeoff for knowing where the 'new' work is...).
 
If a project doesn't want to accept a change, they fork to a new 
history.  The tool does this with a svn cp old_pedigree/foo.c 
new_pedigree/foo.c and an update to the svn:externals property.  They 
now lose sight of what the other project commits after that fork though. 
The backend of where the file is stored and how is masked by the tool. 
pedigree is essentially implemented as a folder.  To the developer, they 
may know that their file is really a file external, but they don't treat 
it really any different from a normal file until it comes time to fork. 
I try to differentiate forking as a pedigree/history from branching and 
the like. 

This system is essentially an implementation of Rational's CMVC history 
feature.


Re: How to change paths on an external file without a full update --depth infinity?

2013-08-15 Thread Les Mikesell
On Thu, Aug 15, 2013 at 6:09 PM,  dlel...@rockwellcollins.com wrote:

 If a project doesn't want to accept a change, they fork to a new
 history.  The tool does this with a svn cp old_pedigree/foo.c
 new_pedigree/foo.c and an update to the svn:externals property.  They now
 lose sight of what the other project commits after that fork though.  The
 backend of where the file is stored and how is masked by the tool.
 pedigree is essentially implemented as a folder.  To the developer, they
 may know that their file is really a file external, but they don't treat it
 really any different from a normal file until it comes time to fork.  I
 try to differentiate forking as a pedigree/history from branching and the
 like.

 This system is essentially an implementation of Rational's CMVC history
 feature.

In subversion's view a copy is a branch so any distinction is strictly
your own convention.  Likewise for tags, except that there is a
generally accepted convention of not committing changes after a tag
copy.   Do you have additional conventions or tools to help users of
the pre-fork version know that it has branched?I don't think there
is a generic solution for that - subversion tracks copy-from history,
but not copy-to.

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


RE: SVN 1.8.1 Errors - Show Log and Commit New Files

2013-08-15 Thread Geoff Field
 From: Philip Martin
 Sent: Thursday, 15 August 2013 19:02 PM
 Geoff Field writes:
  I've just commented out the AuthzSVNAccessFile line and have done 
  the following:

This time, I changed the AuthType line to AuthType None for the Subversion 
location.  Similar test (but with fewer typos this time).
C:\svn co https://aapleng1/Subversion/Playground/trunk/ \SVN_Test
ASVN_Test\test7.txt
ASVN_Test\test.txt
Checked out revision 898.

C:\cd SVN_Test

C:\SVN_Testcopy test.txt test9.txt
1 file(s) copied.

C:\SVN_Testsvn add test9.txt
A test9.txt

C:\SVN_Testsvn ci test9.txt --message test9
Adding test9.txt
svn: E155011: Commit failed (details follow):
svn: E155011: File 'C:\SVN_Test\test9.txt' is out of date
svn: E175005: File 'test9.txt' already exists


  C:\SVN_Testsvn ci test6.txt --message test 1.8.1 checkin
  Adding test6.txt
  svn: E155011: Commit failed (details follow):
  svn: E155011: File 'C:\SVN_Test\test6.txt' is out of date
  svn: E175005: File 'test6.txt' already exists

Same error report persisting.

  10.63.36.64 - AAPL\\gf [15/Aug/2013:10:33:21 +1000] CHECKOUT 
  /Subversion/Playground/!svn/ver/897/trunk HTTP/1.1 201 439
  10.63.36.64 - - [15/Aug/2013:10:33:21 +1000] HEAD 
  /Subversion/Playground/trunk/test6.txt HTTP/1.1 401 -
  10.63.36.64 - - [15/Aug/2013:10:33:21 +1000] DELETE 
  
 /Subversion/Playground/!svn/act/fe51daff-f5fc-d84f-ada1-17b5395050b2 
  HTTP/1.1 401 580
  10.63.36.64 - - [15/Aug/2013:10:33:21 +1000] DELETE 
  
 /Subversion/Playground/!svn/act/fe51daff-f5fc-d84f-ada1-17b5395050b2 
  HTTP/1.1 401 580
  10.63.36.64 - AAPL\\gf [15/Aug/2013:10:33:21 +1000] DELETE 
  
 /Subversion/Playground/!svn/act/fe51daff-f5fc-d84f-ada1-17b5395050b2 
  HTTP/1.1 204 -
 
 That still shows 401 unauthorized which is odd if you are 
 not using Authz.  Do you have some other authz beyond 
 AuthzSVNAccessFile?

It could be the SSL layer.  The location section does contain the following 
line:
  SSLRequireSSL

Still showing:
...
0.63.36.64 - AAPL\\gf [16/Aug/2013:09:39:24 +1000] CHECKOUT 
/Subversion/Playground/!svn/ver/898/trunk HTTP/1.1 201 439
10.63.36.64 - - [16/Aug/2013:09:39:25 +1000] HEAD 
/Subversion/Playground/trunk/test9.txt HTTP/1.1 401 -
10.63.36.64 - - [16/Aug/2013:09:39:26 +1000] DELETE 
/Subversion/Playground/!svn/act/c6198893-72e5-4548-8b05-ca9a07555ac2 HTTP/1.1 
401 580
10.63.36.64 - - [16/Aug/2013:09:39:27 +1000] DELETE 
/Subversion/Playground/!svn/act/c6198893-72e5-4548-8b05-ca9a07555ac2 HTTP/1.1 
401 580
10.63.36.64 - AAPL\\gf [16/Aug/2013:09:39:27 +1000] DELETE 
/Subversion/Playground/!svn/act/c6198893-72e5-4548-8b05-ca9a07555ac2 HTTP/1.1 
204 -

 The 1.2.3 client simply shows that with neon we don't send HEAD.
 
  Again, the error log did not change.
 
 You may get more information if you add
 
 LogLevel debug

I did that, too.  I'll email the full results privately, as the 3000-odd lines 
resulting from this set of transactions is a bit too big for a group email.  
The final sections of the error log say this, though:
...
[Fri Aug 16 09:39:25 2013] [debug] ssl_engine_io.c(1490): 
+-+
[Fri Aug 16 09:39:25 2013] [info] Subsequent (No.11) HTTPS request received for 
child 249 (server aapleng1.aapl.com.au:443)
[Fri Aug 16 09:39:25 2013] [debug] ssl_engine_io.c(1523): OpenSSL: I/O error, 5 
bytes expected to read on BIO#1114588 [mem: 121bae8]
[Fri Aug 16 09:39:25 2013] [info] Connection to child 248 established (server 
aapleng1.aapl.com.au:443, client 10.63.36.64)
[Fri Aug 16 09:39:25 2013] [info] (70014)End of file found: SSL input filter 
read failed.
[Fri Aug 16 09:39:25 2013] [info] Seeding PRNG with 136 bytes of entropy
[Fri Aug 16 09:39:25 2013] [debug] ssl_engine_kernel.c(1794): OpenSSL: Write: 
SSL negotiation finished successfully
[Fri Aug 16 09:39:25 2013] [debug] ssl_engine_kernel.c(1776): OpenSSL: 
Handshake: start
[Fri Aug 16 09:39:25 2013] [info] Connection to child 249 closed with standard 
shutdown(server aapleng1.aapl.com.au:443, client 10.63.36.64)
[Fri Aug 16 09:39:25 2013] [debug] ssl_engine_kernel.c(1784): OpenSSL: Loop: 
before/accept initialization
[Fri Aug 16 09:39:25 2013] [debug] ssl_engine_io.c(1512): OpenSSL: read 11/11 
bytes from BIO#112df18 [mem: 52345e0] (BIO dump follows)
[Fri Aug 16 09:39:25 2013] [debug] ssl_engine_io.c(1459): 
+-+
...
[Fri Aug 16 09:39:27 2013] [info] Subsequent (No.2) HTTPS request received for 
child 248 (server aapleng1.aapl.com.au:443)
[Fri Aug 16 09:39:27 2013] [info] [client 10.63.36.64] Access granted: 
'AAPL\\gf' DELETE Playground:
[Fri Aug 16 09:39:27 2013] [debug] ssl_engine_io.c(1523): OpenSSL: I/O error, 5 
bytes expected to read on BIO#112df18 [mem: 52345e0]
[Fri Aug 16 09:39:27 2013] [info] (70014)End of file found: SSL input filter 
read failed.
[Fri Aug 16 09:39:27 2013] [debug] ssl_engine_kernel.c(1794): OpenSSL: Write: 
SSL 

RE: SVN 1.8.1 Errors - Show Log and Commit New Files - SOLVED (FOR ME)

2013-08-15 Thread Geoff Field
Thanks to everybody for their patience with my issue.  The root cause is not 
really solved, but at least I (and my colleagues) can get back to normal work 
patterns.

I've finally managed to get the upgrade to Apache 2.2 and SVN server 1.6.9 
running.  As it turns out, my former colleagues had deliberately configured all 
the ports one up from the default (thus, SSL was running on port 444 instead of 
the default 443).  Once I'd fixed this, Apache 2.2 started serving SVN via the 
default interfaces.

With that, I can now run everything happily.

I have not deleted the Apache 2.0/SVN server 1.2.3 configuration, so I should 
be able to switch back to that if needed.  I suppose it's possible some 
repositories might become inaccessible to the earlier server due to the server 
upgrade, but I'm not particularly fussed about that.

Regards,

Geoff

-- 
Geoff Field

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