expanding custom keywords in dump

2014-01-31 Thread Julian Elischer
I’m trying to automate the real-time importing (mirroring) of the 
FreeBSD SVN tree into a Perforce tree. This is not for FreeBSD 
development but to allow integration of two projects, both based on 
FreeBSD (and leaving p4 is not an option :-( ).
Perforce have a tool that takes a SVN dump and converts it into 
perforce transactions in a very 1:1 way (p4import-svn).


Unfortunately the one thing that fails is that custom keywords are not 
expanded. This doesn’t seem much but in the merged project there is no 
way to see what revision of file was imported from the FreeBSD 
repository, as the “$FreeBSD$” keyword is left unexpanded on export. 
This also means that files that are moved across to Perforce will 
always have diffs with files taken from the DVD images as they have 
the keyword expanded. One project started with a DVD image so the 
large project i’m merging with has a lot of freeBSD files taken from 
that DVD, and thus there are a lot of false merge conflicts.


Is there any way that the subversion dump routine can be configured to 
allow expansion of these keywords? In this usage, the dump is 
effectively playing the part of the client. Having it expand the 
keywords would allow the expanded version to be imported into Perforce 
which would then contain files that would match what is exported on 
the DVDs.
Would this even be a useful thing for exporting the a project repo to 
another SVN based repo so that such keywords would be “frozen” in place?


Regards, Julian


Re: expanding custom keywords in dump

2014-01-31 Thread Branko Čibej
On 31.01.2014 11:07, Julian Elischer wrote:
> I’m trying to automate the real-time importing (mirroring) of the
> FreeBSD SVN tree into a Perforce tree. This is not for FreeBSD
> development but to allow integration of two projects, both based on
> FreeBSD (and leaving p4 is not an option :-( ).
> Perforce have a tool that takes a SVN dump and converts it into
> perforce transactions in a very 1:1 way (p4import-svn).
>
> Unfortunately the one thing that fails is that custom keywords are not
> expanded. This doesn’t seem much but in the merged project there is no
> way to see what revision of file was imported from the FreeBSD
> repository, as the “$FreeBSD$” keyword is left unexpanded on export.
> This also means that files that are moved across to Perforce will
> always have diffs with files taken from the DVD images as they have
> the keyword expanded. One project started with a DVD image so the
> large project i’m merging with has a lot of freeBSD files taken from
> that DVD, and thus there are a lot of false merge conflicts.
>
> Is there any way that the subversion dump routine can be configured to
> allow expansion of these keywords? In this usage, the dump is
> effectively playing the part of the client. Having it expand the
> keywords would allow the expanded version to be imported into Perforce
> which would then contain files that would match what is exported on
> the DVDs.
> Would this even be a useful thing for exporting the a project repo to
> another SVN based repo so that such keywords would be “frozen” in place?

There's currently no way to tell either 'svnadmin dump' or 'svnrdump
dump' to expand keywords. These tools were designed to create a backup
of the repository, not the working copy; and since the repository stores
keywords unexpanded, there was no reason to add such a feature.

Note that expanding keywords in the dump would make no sense for
Subversion in any case; since the svn:keywords properties are also part
of the dump, a client would expect them to be unexpanded in the
repository and would report spurious diffs in the keyword expansion.

Expanding keywords might, you point out, be useful for migrating to
another VCS, and adding such an feature is definitely an option. Patches
are always welcome.

-- Brane


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


Re: expanding custom keywords in dump

2014-01-31 Thread Thorsten Schöning
Guten Tag Julian Elischer,
am Freitag, 31. Januar 2014 um 11:07 schrieben Sie:

> [...]“$FreeBSD$” keyword is left unexpanded on export.

This doesn't seem to be a keyword which svn clients expand by default,
therefore you would have two building lots.

http://svnbook.red-bean.com/en/1.8/svn.advanced.props.special.keywords.html

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



Vendor Branches from Foreign Repositories: svn: E200009: Can't set 'svn:eol-style'

2014-01-31 Thread Uwe Tropp
Hello,

I'm trying to import a vendor branch from a foreign repository by:

d:\foo>svn copy http://svn.boost.org/svn/boost/tags/release/Boost_1_55_0
Boost

svn starts copying, but aborts with E29: Can't set 'svn:eol-style':

--- Copying from foreign repository URL
'http://svn.boost.org/svn/boost/tags/release/Boost_1_55_0':
:
:
A Boost\tools\quickbook\test\html\images
svn: E29: Can't set 'svn:eol-style': file
'D:\foo\Boost\tools\quickbook\test\html\images\open_clipart_library_logo.svg
' has binary mime type property

Since I have no control over the foreign repository I can't fix this issue
and am now stuck and unable to complete the import.
I think SVN should either skip the properties for this file and place a
warning or mark it as a conflict but continue to import instead of abort.

Can anybody add this to the issue tracker?

Is there a workaround to solve this?

Regards,
Uwe



smime.p7s
Description: S/MIME cryptographic signature


RE: Disjoint working copy

2014-01-31 Thread Ræstad Atle Eivind
> Is there a way to get full status information for a disjoint working copy 
> without performing "svn st" on each sub working copies? 

A workaround on Linux with svn client 1.7 or newer is to use a command similar 
to:
find . -type d -name "\.svn" | sed 's/\.svn$//' | xargs svn st

Then at least I get a complete status, but is there some better way to get "svn 
st to show the complete status for the disjoint working copy?

That is instead of reporting:
?   wc/mod1
in the example. It would be nice if svn did understand that wc/mod1 is actually 
a new working copy (it could just look at the wc/mod1/.svn folder).

/Atle


Re: Disjoint working copy

2014-01-31 Thread Les Mikesell
On Fri, Jan 31, 2014 at 9:18 AM, Ræstad Atle Eivind
 wrote:
>> Is there a way to get full status information for a disjoint working copy 
>> without performing "svn st" on each sub working copies?
>
> A workaround on Linux with svn client 1.7 or newer is to use a command 
> similar to:
> find . -type d -name "\.svn" | sed 's/\.svn$//' | xargs svn st
>

Is that really easier than setting an external property?

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


Possible bug in SVN 1.8.3 and 1.8.4 - file locking

2014-01-31 Thread Steve Davis
Hi -

I have been trying to pin down the cause of an issue my users are seeing when 
using SVN. It's actually a Windows Server 2008 R2 (64 bit) Bitnami-Redmine 
stack of SVN, but I've tried to scrape it back to the most basic levels during 
debugging, to hopefully omit any Bitnami-related issues.

I have seen this occur when the underlying SVN install is 1.8.3 and 1.8.4

I have performed the following actions (on the server itself, sing the bitnami 
cmd prompt to ensure all environment variables for SVN should be as expected)

:: Create a new repository. No options or extras - no hooks.
svnadmin create f:\svn_repository\Testrepo

:: Check the empty repo out to my local disk (on the SVN Server) - obviously 
I've masked the real address here
svn co https://xx.com/svn/Testrepo c:\dev\Testrepo

:: created a simple text file manually under windows - NewDoc.txt with a few 
bytes of text in it so it's not empty

:: Made SVN aware of the file by adding it
svn add c:\dev\Testrepo\NewDoc.txt

:: Committed the file into the repository
svn ci c:\dev\Testrepo -m "test commit"

:: Attempted to lock the working file
svn lock c:\dev\Testrepo\NewDoc.txt

Response:

svn: E200035: sqlite[S19]: LOCK.lock_token may not be NULL
svn: E200035: Additional errors:
svn: E200035: sqlite[S19]: LOCK.lock_token may not be NULL

I've been digging around on this for a while - seen one or two examples of 
people seeing this, but not seen any solutions as-of-yet. I couldn't find any 
trace of a bug raised either (Hopefully I've not missed one!)

I've first seen this in a Bitnami 2.3.2.1 install, and to try to make sure it's 
not already been fixed I just updated to a Bitnami Redmine 2.4.2.0 install: 
Same result.

I have tried a totally standalone collabnet svn server install of 1.8.5 on a 
separate machine, and the locks on that are working. I then put 1.8.5 onto the 
server where we're seeing the problem and once again the same problem occurred. 
So this seems to be an issue occurring as a result of the configuration setup 
we have on that server. We do make use of an access file on that server, so my 
next test was to disable the access file setup and retry. This worked exactly 
as expected (by using a checkout using the local file system), responding that 
the file had been locked

So, it would seem that this issue is related to the use of the following 
httpd.conf settings:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.s

And/or

serving the files over https

And the related settings pointing to the relevant access authority file.

Can anyone advise or assist with this? Has anyone else seen this issue? I'm 
starting to run out of ideas of how to further pinpoint this at the moment...

Many thanks for any advice or assistance!

Regards - Steve

This e-mail and any files transmitted with it are confidential and 
intended solely for the individual or entity to whom they are addressed. 
Any views or opinions presented or expressed are those of the 
author(s) and may not necessarily represent those of the business and 
no representation is given nor liability accepted for the accuracy 
or completeness of any information contained in this email unless expressly 
stated to the contrary.

If you are not the intended recipient or have received this e-mail in
error, you may not use, disseminate, forward, print or copy it, but
please notify the sender that you have received it in error.
 
Whilst we have taken reasonable precautions to ensure that any 
attachment to this e-mail has been swept for viruses, we cannot accept 
liability for any damage sustained as a result of software viruses and 
would advise that you carry out your own virus checks before opening 
any attachment. Please note that communications sent by or to any 
person through our computer systems may be viewed by other 
company personnel and agents.

A division of Rapp Limited. 
Registered Office: 1 Riverside, Manbre Road, London W6 9WA
Registered in England no: 1581935
---
This email message has been delivered safely and archived online by Mimecast.
For more information please visit http://www.mimecast.co.uk 
---

Re: Vendor Branches from Foreign Repositories: svn: E200009: Can't set 'svn:eol-style'

2014-01-31 Thread Ben Reser
On 1/31/14, 5:49 AM, Uwe Tropp wrote:
> I'm trying to import a vendor branch from a foreign repository by:
> 
> d:\foo>svn copy http://svn.boost.org/svn/boost/tags/release/Boost_1_55_0
> Boost
> 
> svn starts copying, but aborts with E29: Can't set 'svn:eol-style':
> 
> --- Copying from foreign repository URL
> 'http://svn.boost.org/svn/boost/tags/release/Boost_1_55_0':
> :
> :
> A Boost\tools\quickbook\test\html\images
> svn: E29: Can't set 'svn:eol-style': file
> 'D:\foo\Boost\tools\quickbook\test\html\images\open_clipart_library_logo.svg
> ' has binary mime type property
> 
> Since I have no control over the foreign repository I can't fix this issue
> and am now stuck and unable to complete the import.
> I think SVN should either skip the properties for this file and place a
> warning or mark it as a conflict but continue to import instead of abort.
> 
> Can anybody add this to the issue tracker?
> 
> Is there a workaround to solve this?

I agree, this isn't very useful as it stands.

Fixed on trunk with:
http://svn.apache.org/r1563361

Don't think we'll backport this to 1.8 since I ended up adding an API.  We
probably could though with some effort of switch the foreign copy from using
the svn_wc_add_from_disk2() into using the other functions that can do all the
same things, just can't do them all at once and ultimately end up using
svn_wc_prop_set4() which already has the argument to skip the property
canonicalization.

You could workaround this locally by modifying subversion/libsvn_wc/adm_ops.c
to change the skip_some_checks argument to the svn_wc__canonicalize_props()
call in svn_wc_add_from_disk2().  That's at line 1016 in the current 1.8.x
branch.  However, that will disable those checks for all adds (including those
done via svn add, svn merge, and svn patch) which I wouldn't recommend for
daily usage.  But that sort of patch might get you past this issue temporarily.


Re: Possible bug in SVN 1.8.3 and 1.8.4 - file locking

2014-01-31 Thread Ben Reser
On 1/31/14, 1:54 PM, Steve Davis wrote:
> :: Attempted to lock the working file
> svn lock c:\dev\Testrepo\NewDoc.txt
> 
> Response:
> svn: E200035: sqlite[S19]: LOCK.lock_token may not be NULL
> svn: E200035: Additional errors:
> svn: E200035: sqlite[S19]: LOCK.lock_token may not be NULL

What if anything is in the httpd error_log?

Can you capture the network traffic between the server and the client and post
it (removing Authentication headers) for the LOCK request?

> I’ve first seen this in a Bitnami 2.3.2.1 install, and to try to make sure 
> it’s
> not already been fixed I just updated to a Bitnami Redmine 2.4.2.0 install:
> Same result.

I'm not familiar with Bitnami Redmine, can you tell us what version of httpd
you have with it?

> I have tried a totally standalone collabnet svn server install of 1.8.5 on a
> separate machine, and the locks on that are working. I then put 1.8.5 onto the
> server where we’re seeing the problem and once again the same problem 
> occurred.
> So this seems to be an issue occurring as a result of the configuration setup
> we have on that server. We do make use of an access file on that server, so my
> next test was to disable the access file setup and retry. This worked exactly
> as expected (by using a checkout using the local file system), responding that
> the file had been locked
>
> So, it would seem that this issue is related to the use of the following
> httpd.conf settings:
> LoadModule dav_svn_module modules/mod_dav_svn.so
> LoadModule authz_svn_module modules/mod_authz_svn.s
> And/or
>
> serving the files over https

Doubtful.

> And the related settings pointing to the relevant access authority file.

This is more likely.  Can you post your configuration?


Re: expanding custom keywords in dump

2014-01-31 Thread Nico Kadel-Garcia
This is why you don't use keywords if you can avoid it, especially for
multi-environment projects.  Frankly, you will often have diffs with
keywords and "svn:eol-style": Don't evey try to pretend that anything
with keywords is going to be byte for byte consistent between working
environments.

And this is *especially* why you don't use "custom keywords". They're
not porable.

On Fri, Jan 31, 2014 at 8:27 AM, Thorsten Schöning
 wrote:
> Guten Tag Julian Elischer,
> am Freitag, 31. Januar 2014 um 11:07 schrieben Sie:
>
>> [...]"$FreeBSD$" keyword is left unexpanded on export.
>
> This doesn't seem to be a keyword which svn clients expand by default,
> therefore you would have two building lots.
>
> http://svnbook.red-bean.com/en/1.8/svn.advanced.props.special.keywords.html
>
> 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: expanding custom keywords in dump

2014-01-31 Thread Ben Reser
On 1/31/14, 8:00 PM, Nico Kadel-Garcia wrote:
> This is why you don't use keywords if you can avoid it, especially for
> multi-environment projects.  Frankly, you will often have diffs with
> keywords and "svn:eol-style": Don't evey try to pretend that anything
> with keywords is going to be byte for byte consistent between working
> environments.
> 
> And this is *especially* why you don't use "custom keywords". They're
> not porable.
> 
> On Fri, Jan 31, 2014 at 8:27 AM, Thorsten Schöning
>> This doesn't seem to be a keyword which svn clients expand by default,
>> therefore you would have two building lots.
>>
>> http://svnbook.red-bean.com/en/1.8/svn.advanced.props.special.keywords.html

Branko gave a perfectly reasonable answer.  Beyond that I honestly don't get
the point of these two emails.  FreeBSD uses keywords because as an open source
project they ship source.  Even more importantly they have downstream projects
(e.g. Apple uses their find command
http://opensource.apple.com/source/shell_cmds/shell_cmds-175/find/main.c ).  I
can't think of a better way of tracking versioning for them once the source
leaves their version control system and potentially goes into another.  Yes
there are all sorts of annoying bits about this.

Custom properties don't really make anything more difficult.  Since custom
properties are repository dictated configuration.  In fact the custom property
feature was written by the FreeBSD guys and then passed along upstream to ease
this burden.  They're not expecting Perforce to ever expand these.  They stay
literal in the source to show the base from upstream.  The fact that Perforce
doesn't expand it can be considered a feature.

So if you're going to critique their technique, how about making a suggestion
of a better technique.  It's like a couple guys snickering in their Ferrari as
a lorry goes by because he could have gotten there much faster in a Ferrari,
even though the driver of the lorry only has the goal to get 10 tons of freight
there not go fast.