Re:Re: Re: please help about SVN authentication

2010-09-02 Thread alinagra
actually I use svnserve, no Apache/http access.
and I have several repositories under the svn directory.
It looks like this:
svn
---prj1 repo
---prj2 repo
---prj2 repo

and this issue happens in every repo.





At 2010-09-01 17:36:29,"Erik Andersson"  wrote:



2010/9/1 alinagra
Here is the repo arch:

/trunk
/folder a
/folder b

/folder c
/access

/tag

I think this is the most common case, and it seems if one doesn't have access 
right, he can not create a tag for /trunk.
or is there something wrong with my configuration?


Are you using the SVNParentPath or SVNPath directive?
Can you show us your Subversion section for Apache?




At 2010-09-01 14:11:07,"Erik Andersson"  wrote:



2010/9/1 alinagra
Hi, buddies,

I have setup a SVN server and  I use SASL authentication. But right now I have 
a authz question:
I can create tags with accont TIM, but when I try to create a tag with the 
account not  jim, it reports "access denied" error.

Where do you create tags? 
Does anyone know why? Thanks in advance

Here is my authz file:
### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
###  - a single user,
###  - a group of users defined in a special [groups] section,
###  - an alias defined in a special [aliases] section,
###  - all authenticated users, using the '$authenticated' token,
###  - only anonymous users, using the '$anonymous' token,
###  - anyone, using the '*' wildcard.
###
### A match can be inverted by prefixing the rule with '~'. Rules can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').

[groups]
# harry_and_sally = harry,sally
aa = TIM

[test:/]
* = rw

[test:/trunk/access]
@aa = rw
* =   



and here is the svnserve.conf:
### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository.  (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)

### Visithttp://subversion.tigris.org/ for more information.

[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
### and "none".  The sample settings below are the defaults.
anon-access = none
auth-access = write
### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
#password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control.  Unless you specify a path
### starting with a /, the file's location is relative to the the
### directory containing this file.  If you don't specify an
### authz-db, no path-based access control is done.
### Uncomment the line below to use the default authorization file.
authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa.  The default realm
### is repository's uuid.
realm = dreamlink

[sasl]
### This option specifies whether you want to use the Cyrus SASL
### library for authentication. Default is false.
### This section will be ignored if svnserve is not built with Cyrus
### SASL support; to check, run 'svnserve --version' and look for a line
### reading 'Cyrus SASL authentication is available.'
use-sasl = true
### These options specify the desired strength of the security layer
### that you want SASL to provide. 0 means no encryption, 1 means
### integrity-checking only, values larger than 1 are correlated
### to the effective key length for encryption (e.g. 128 means 128-bit
### encryption). The values below are the defaults.
min-encryption = 128
max-encryption = 256



您想拥有和网易免费邮箱一样强大的软件吗?




网易邮箱,没有垃圾邮件的邮箱。



Re: how to migrate svn directory

2010-09-02 Thread Yunlong Wang
Thanks Eckhardt.
I mean to migrate a sub-directory on repository server A to another sub-dir
on repo server B. Not a "working copy" migration.

Wait: "working copies" are scrap space for editing, which you create when

needed and throw away after use. "repositories" are databases that contain

the files including their history. This just to get the terminology right,
> ...


and thanks Ryan,
I will call our svn admin to apply the migrate method.


Re: Re: Re: please help about SVN authentication

2010-09-02 Thread Johan Corveleyn
Please do not top-post on this list (i.e. put your reply below the
thing you're replying to, not above it). Now on to the matter at
hand...

2010/9/2 alinagra :
> actually I use svnserve, no Apache/http access.
> and I have several repositories under the svn directory.
> It looks like this:
> svn
> ---prj1 repo
> ---prj2 repo
> ---prj2 repo
>
> and this issue happens in every repo.
>
>
>
>
> At 2010-09-01 17:36:29,"Erik Andersson"  wrote:
>
>
> 2010/9/1 alinagra 
>>
>> Here is the repo arch:
>>
>> /trunk
>>     /folder a
>>     /folder b
>>     /folder c
>>     /access
>>
>> /tag
>>
>> I think this is the most common case, and it seems if one doesn't have
>> access right, he can not create a tag for /trunk.
>> or is there something wrong with my configuration?
>
> Are you using the SVNParentPath or SVNPath directive?
> Can you show us your Subversion section for Apache?
>>
>>
>> At 2010-09-01 14:11:07,"Erik Andersson"  wrote:
>>
>>
>> 2010/9/1 alinagra 
>>>
>>> Hi, buddies,
>>>
>>> I have setup a SVN server and  I use SASL authentication. But right now I
>>> have a authz question:
>>> I can create tags with accont TIM, but when I try to create a tag with
>>> the account not  jim, it reports "access denied" error.
>>
>> Where do you create tags?
>>>
>>> Does anyone know why? Thanks in advance
>>>
>>> Here is my authz file:
>>> ### This file is an example authorization file for svnserve.
>>> ### Its format is identical to that of mod_authz_svn authorization
>>> ### files.
>>> ### As shown below each section defines authorizations for the path and
>>> ### (optional) repository specified by the section name.
>>> ### The authorizations follow. An authorization line can refer to:
>>> ###  - a single user,
>>> ###  - a group of users defined in a special [groups] section,
>>> ###  - an alias defined in a special [aliases] section,
>>> ###  - all authenticated users, using the '$authenticated' token,
>>> ###  - only anonymous users, using the '$anonymous' token,
>>> ###  - anyone, using the '*' wildcard.
>>> ###
>>> ### A match can be inverted by prefixing the rule with '~'. Rules can
>>> ### grant read ('r') access, read-write ('rw') access, or no access
>>> ### ('').
>>>
>>> [groups]
>>> # harry_and_sally = harry,sally
>>> aa = TIM
>>>
>>> [test:/]
>>> * = rw
>>>
>>> [test:/trunk/access]
>>> @aa = rw
>>> * =

You need to have read access to an entire subtree if you want to
create a tag from it. A tag in SVN is essentially a copy of the
subtree to another location (typically the /tags subdirectory on the
repository). If people could create tags of a part of the repository
to which they don't have full read access, they could also just create
a copy to any location in which they have full access, bypassing the
authz security.

So in your case: if people other that TIM need to create tags from
trunk (or trunk/access), they'll need to have read access on
/trunk/access (* = r).

Or am I misunderstanding something? Are they trying to create tags
from siblings of /trunk/access, to which they have full access?

Cheers,
-- 
Johan


Svn on apache = "403 Forbidden in response to PROPFIND"

2010-09-02 Thread Mikołaj Tutak

 Hi!

I have "plain" s...@apache server on debian linux (stable). However svn 
"checkout" generates some strange error: "svn: Server sent unexpected 
return value (403 Forbidden) in response to PROPFIND request for 
'/svn/test'". On the apache side it's: "client denied by server 
configuration: /var/www/svn". I've checked configuration, and google 
many times - without any clue.


My s...@apache config is:


  DAV svn
  SVNParentPath /var/lib/svn

  AuthType Basic
  AuthName "Subversion Repository"
  AuthBasicAuthoritative off
  Require valid-user
  Require group svn


Client is svn command line and tortoisesvn - same results.

Browsing page http:///svn/test/ works fine.

Any idea?!

PS: subversion 1.5.1dfsg1-4, apache2 2.2.9-10+lenny8

--
pozdrawiam
  Mikołaj Tutak



Re: Svn on apache = "403 Forbidden in response to PROPFIND"

2010-09-02 Thread Erik Andersson
2010/9/2 Mikołaj Tutak 

>  Hi!
>
> I have "plain" s...@apache server on debian linux (stable). However svn
> "checkout" generates some strange error: "svn: Server sent unexpected return
> value (403 Forbidden) in response to PROPFIND request for '/svn/test'". On
> the apache side it's: "client denied by server configuration: /var/www/svn".
> I've checked configuration, and google many times - without any clue.
>
/var/www/svn.. this seems like you're not hitting your location section, but
trying to view $DocumentRoot/svn

The rest of your Apache config would be interesting to see..


> My s...@apache config is:
>
> 
>  DAV svn
>  SVNParentPath /var/lib/svn
>
>  AuthType Basic
>  AuthName "Subversion Repository"
>  AuthBasicAuthoritative off
>  Require valid-user
>  Require group svn
> 
>
> Client is svn command line and tortoisesvn - same results.
>
> Browsing page http:///svn/test/ works fine.
>
> Any idea?!
>
> PS: subversion 1.5.1dfsg1-4, apache2 2.2.9-10+lenny8
>
> --
> pozdrawiam
>  Mikołaj Tutak
>
>


Re: svn redo after reverse merge

2010-09-02 Thread ankush chadha




From: "Cooke, Mark" 
To: ankush chadha ; users@subversion.apache.org
Sent: Thu, September 2, 2010 1:50:26 AM
Subject: RE: svn redo after reverse merge

> -Original Message-
> From: ankush chadha [mailto:ankushchadha2...@yahoo.com] 
> Sent: 01 September 2010 17:16
> To: users@subversion.apache.org
> Subject: svn redo after reverse merge
> 
> Hi All
> 
> I am trying to do following operation
> 
> file.txt has 100 revisions and located directly under 
> svn://myrepo.org/trunk
> 
> 1. svn co svn://myrepo.org/trunk/
> 
> 2. Undoing few changes made to this file
> svn merge -c -100 svn://myrepo.org/trunk/
> svn merge -c -99 svn://myrepo.org/trunk/
> .
> svn merge -c -90 svn://myrepo.org/trunk/
> 
> 3. After resolving all the conflicts I do a commit (bulk)
> svn commit -m "Rolling back rev 100 to 90"
> 
If you just want to go back to the file as it was in r90, why not just
get a copy of that revision and check it in again with a suitable
comment?  Seems a lot less hassle to me (but maybe I am missing
something)...

AC- In my current case there are lots of files and folders, and there are lots 
of folder structure changes. If it was just a bunch of files, then I would have 
done what you recommended.


> 4. Now suppose for some reason I want revision 95 back in, 
> the following command won't work
> svn merge -c 95 svn://myrepo.org/trunk/
> as according to SVN, revision 95 is already there
> 
I'm not sure what you want to do here?  Are you wanting to apply the {
r94 > r95 } patch to what is in effect r90?  Or just revert to r95 (in
which case you could just get r95 and check it in again)?

AC - Reverting to r95 won't help as I just want the diff or the changes that 
were made in r95.

I tried using the svn diff command, created patches and used the GNU patch 
utility for windows to apply the patch back. But I don't think this approach 
will add the merge history for r95 again.


> Whats the best way to put a change back which was already 
> there but rolled back due to the reverse merge.
> 
> One way to do is to perform commit after every single undo 
> merge operation and rollback the reverse  merge to bring the 
> change back in. But I want to avoid this approach.
> 
Can you clarify?  It seems a slightly odd thing to be doing.


AC - Sure. Let me give a small example. Suppose there is a source folder that 
contains around 50 modules. There were lot of changes made to this source 
folder 
say around 20 new features. Once everything was checked in, we realized that 
for 
the current release we just need feature A and B and rollback everything else. 
We want all the merge history, any history. Ideally we should branch at an 
early 
revision and then add feature A and B. But in my case I cannot create a branch 
now. I hope this helps.

~ mark c



  

is this a bug ?

2010-09-02 Thread H
I got no reaction on freenode#svn, so here goes :

This looks like a bug in 1.6.12 to me :
for a subdirectory with its .svn/ removed
a 'svn up --force .' in its parent does not recreate it
where 'svn up --force dirname' does

-- Hans


RE: Multiple Repositories under one subversion daemon

2010-09-02 Thread Bob Archer
> -Original Message-
> >I may have totally misunderstood you. Are the above paths you show
> working copy paths, or are they existing svn repositories?
> Those are not existing svn repositories yet. Let's just say that
> those project folders should be at those locations only and I want
> to create SVN repositories at each of those locations.
> 
> I am using a Windows XP Pro machine. Also by symlink do you mean
> Windows shortcuts?

No, symlinks are different than sortcuts and they don't exist on XP. 

But, I think you are mixing up "repository" and "working copy". Have you read 
the first two chapters of the FREE svn book?

BOb



RE: how to migrate svn directory

2010-09-02 Thread Bob Archer
> Thanks Eckhardt.
> I mean to migrate a sub-directory on repository server A to another
> sub-dir on repo server B. Not a "working copy" migration.
> 
> Wait: "working copies" are scrap space for editing, which you
> create when
> needed and throw away after use. "repositories" are databases that
> contain
> the files including their history. This just to get the terminology
> right, ...
> 
> and thanks Ryan,
> I will call our svn admin to apply the migrate method.

You would use svnadmin dump and load to do this. Dump from repository A and 
load the dump to repository B. If there is stuff in the A dump you don't want 
in the B repo you will need to use svndumpfilter.

This is explained in the FREE svn book. 
http://svnbook.red-bean.com/nightly/en/svn-book.html

BOb



RE: Re:Re: Re: please help about SVN authentication

2010-09-02 Thread Bob Archer
> Subject: Re:Re: Re: please help about SVN authentication
> 
> actually I use svnserve, no Apache/http access.
> and I have several repositories under the svn directory.
> It looks like this:
> svn
> ---prj1 repo
> ---prj2 repo
> ---prj2 repo
> 
> and this issue happens in every repo.
> 
> 
> 
> At 2010-09-01 17:36:29,"Erik Andersson"  wrote:
> 
> 
> 2010/9/1 alinagra 
> Here is the repo arch:
> 
> /trunk
>     /folder a
>     /folder b
>     /folder c
>     /access
> 
> /tag
> 
> I think this is the most common case, and it seems if one doesn't
> have access right, he can not create a tag for /trunk.
> or is there something wrong with my configuration?
> 

There is a known bug in svn that if the user trying to create a branch doesn't 
have at least read access to the root of the repository, even though they have 
access to the path they are copying from/to it won't work. This has been fixed, 
it is in the svn tracker and slated to release in 1.6.13.

The only way to fix this for now is to make sure your users all have read 
access to the root of the repository.

BOb



Crash merging into branmch using SLIK

2010-09-02 Thread Tim Mayo
Hi

 

I received the following message while trying to merge into a working copy
of a branch using SLIK:

 

--- Merging r16298 through r16446 into '.':

Aname_management_tests



Aname_management_tests\test_reservations.py

This application has halted due to an unexpected error.

A crash report and minidump file were saved to disk, you can find them here:

C:\DOCUME~1\TIM~1.MAY\LOCALS~1\Temp\svn-crash-log20100902151326.log

C:\DOCUME~1\TIM~1.MAY\LOCALS~1\Temp\svn-crash-log20100902151326.dmp

Please send the log file to users@subversion.apache.org to help us analyse

and solve this problem.

 

The merge command was:

 

  svn merge --accept postpone
https://svn.realworld-systems.com/RealworldUK/Products/trunk/rwuk_LPM/module
s/internal

 

Cheers  ... and thanks for a fantastic app

Tim

 

Tim Mayo

Technical Architect

Realworld Systems

 

Phone: +44 1223 532670

E-mail: tim.m...@realworld-systems.com



svn-crash-log20100902151326.dmp
Description: Binary data


svn-crash-log20100902151326.log
Description: Binary data


RE: is this a bug ?

2010-09-02 Thread Jon Foster
Hans wrote:
> I got no reaction on freenode#svn, so here goes :
> 
> This looks like a bug in 1.6.12 to me :
> for a subdirectory with its .svn/ removed
> a 'svn up --force .' in its parent does not recreate it
> where 'svn up --force dirname' does

That won't happen in Subversion 1.7, so I wouldn't worry about it.
(Subversion 1.7 won't have .svn folders in subdirectories, so you won't
be able to delete them).

Kind regards,

Jon


**
This email and its attachments may be confidential and are intended solely for 
the use of the individual to whom it is addressed. Any views or opinions 
expressed are solely those of the author and do not necessarily represent those 
of Cabot Communications Ltd.

If you are not the intended recipient of this email and its attachments, you 
must take no action based upon them, nor must you copy or show them to anyone.

Cabot Communications Limited
Verona House, Filwood Road, Bristol BS16 3RY, UK
+44 (0) 1179584232

Co. Registered in England number 02817269

Please contact the sender if you believe you have received this email in error.

**


__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__


Re: Svn on apache = "403 Forbidden in response to PROPFIND"

2010-09-02 Thread Mikołaj Tutak

 W dniu 2010-09-02 15:42, Erik Andersson pisze:



2010/9/2 Mikołaj Tutak mailto:mtu...@nixz.net>>

 Hi!

I have "plain" s...@apache server on debian linux (stable). However
svn "checkout" generates some strange error: "svn: Server sent
unexpected return value (403 Forbidden) in response to PROPFIND
request for '/svn/test'". On the apache side it's: "client denied
by server configuration: /var/www/svn". I've checked
configuration, and google many times - without any clue.

/var/www/svn.. this seems like you're not hitting your location 
section, but trying to view $DocumentRoot/svn


The rest of your Apache config would be interesting to see..


The rest is here (+/- stock Debian config):

ServerRoot "/etc/apache2"
LockFile /var/lock/apache2/accept.lock
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15


StartServers  5
MinSpareServers   5
MaxSpareServers  10
MaxClients  150
MaxRequestsPerChild   0



StartServers  2
MaxClients  150
MinSpareThreads  25
MaxSpareThreads  75
ThreadsPerChild  25
MaxRequestsPerChild   0


User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

AccessFileName .htaccess


Order allow,deny
Deny from all

DefaultType text/plain
HostnameLookups Off
ErrorLog /var/log/apache2/error.log
LogLevel debug
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Include /etc/apache2/httpd.conf
Include /etc/apache2/ports.conf
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" 
\"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" 
combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined
Alias /error/ "/usr/share/apache2/error/"
Include /etc/apache2/conf.d/
Include /etc/apache2/sites-enabled/
# ports 
NameVirtualHost *:80
Listen 80


# SSL name based virtual hosts are not yet supported, therefore no
# NameVirtualHost statement here
Listen 443

##

ServerName db.local.
ServerAdmin webmas...@csoft.waw.pl
DocumentRoot /var/www/


Options FollowSymLinks
AllowOverride None



Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all


ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/


AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all


ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"

Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128



###

--
pozdrawiam
  Mikołaj Tutak



Re: Multiple Repositories under one subversion daemon

2010-09-02 Thread Alexander Skwar

BOb,

Do you mean junction points, which are more like hardlinks in Unix?  
Isn't it so, that they need to be on the same "drive" (filesystem)?


Alexander

Am 02.09.2010 um 16:09 schrieb Bob Archer :


-Original Message-

I may have totally misunderstood you. Are the above paths you show

working copy paths, or are they existing svn repositories?
Those are not existing svn repositories yet. Let's just say that
those project folders should be at those locations only and I want
to create SVN repositories at each of those locations.

I am using a Windows XP Pro machine. Also by symlink do you mean
Windows shortcuts?


No, symlinks are different than sortcuts and they don't exist on XP.

But, I think you are mixing up "repository" and "working copy". Have  
you read the first two chapters of the FREE svn book?


BOb



Scripting an svn:externals change

2010-09-02 Thread BRM
I recently had my subversion server die - the box, not subversion itself - and 
have been working through the recovery process.
Part of that is going through and modifying a number of projects for the change 
in the URL - namely changing from a non-standard port for apache to a standard 
port.
We have started using svn:externals in some projects, but did not use the 
relative path values - instead, specifying the whole URL; so I need to update 
the URLs in the svn:externals.

I know I can get the values using 'svn pget svn:externals'; but the SVN redbook 
recommends against using pset/propset to set the values.
So, how do I set the values from a script? "svn help pset" seems to show a "-F" 
parameter for reading the values from a file. This seems like it would take 
care 
of the concern mentioned issue - that the externals are multi-line.
If that is the case, then shouldn't the note say to use that parameter with 
pset 
or use pedit instead of flatly saying use pedit?
Or is there another reason why I shouldn't use pset?

TIA,

Ben

http://svnbook.red-bean.com/nightly/en/svn.advanced.externals.html



RE: Multiple Repositories under one subversion daemon

2010-09-02 Thread Bob Archer
> >> -Original Message-
> >>> I may have totally misunderstood you. Are the above paths you
> show
> >> working copy paths, or are they existing svn repositories?
> >> Those are not existing svn repositories yet. Let's just say that
> >> those project folders should be at those locations only and I
> want
> >> to create SVN repositories at each of those locations.
> >>
> >> I am using a Windows XP Pro machine. Also by symlink do you mean
> >> Windows shortcuts?
> >
> > No, symlinks are different than sortcuts and they don't exist on
> XP.
> >
> > But, I think you are mixing up "repository" and "working copy".
> Have
> > you read the first two chapters of the FREE svn book?
> >
> > BOb
> >
> BOb,
> 
> Do you mean junction points, which are more like hardlinks in Unix?
> Isn't it so, that they need to be on the same "drive" (filesystem)?
> 
> Alexander
> 
> Am 02.09.2010 um 16:09 schrieb Bob Archer :
>

No, I really was talking about symbolic links.

run 

mklink /? in a cmd windows on Vista, Windows 2008 or Windows 7.

http://techblissonline.com/ntfs-symbolic-link-or-symlink-in-windows-vista-and-windows-server-2008/

BOb


Re: An issue about SVN access deny

2010-09-02 Thread David Brodbeck

On Sep 1, 2010, at 1:54 AM, alinagra wrote:

> Hi, Johan, 
> Thanks for your reply!
> 
> I want to create tag for /trunk, and the accounts expept TIM do not have 
> access right to the /trunk/access folder, in another words, the /trunk/access 
> folder is invisible for all other accounts.
> I have tried sevral times, and it seems if a user do not have access right to 
> a subfolder, he can not create a tag for this folder.
> Am I right ? or anyone has some solution?

Tagging is a copy operation in SVN, so the person making the tag has to be able 
to read the source of the tag.

-- 

David Brodbeck
System Administrator, Linguistics
University of Washington






Re: Scripting an svn:externals change

2010-09-02 Thread Andy Levy
On Thu, Sep 2, 2010 at 12:27, BRM  wrote:
> I recently had my subversion server die - the box, not subversion itself - and
> have been working through the recovery process.
> Part of that is going through and modifying a number of projects for the 
> change
> in the URL - namely changing from a non-standard port for apache to a standard
> port.
> We have started using svn:externals in some projects, but did not use the
> relative path values - instead, specifying the whole URL; so I need to update
> the URLs in the svn:externals.
>
> I know I can get the values using 'svn pget svn:externals'; but the SVN 
> redbook
> recommends against using pset/propset to set the values.

Read that more carefully - it's a special case. svn propset is only
discouraged if you have a *multiline* value. That is, you have one
directory which needs to reference multiple externals. If you're only
referencing a single external for each directory, svn propset will be
fine.

> So, how do I set the values from a script? "svn help pset" seems to show a 
> "-F"
> parameter for reading the values from a file. This seems like it would take 
> care
> of the concern mentioned issue - that the externals are multi-line.
> If that is the case, then shouldn't the note say to use that parameter with 
> pset
> or use pedit instead of flatly saying use pedit?

Most of the time, using svn propedit is enough because people don't
often make changes to their whole repository via a script as you're
doing here.

> Or is there another reason why I shouldn't use pset?

If you only have one external per directory, I don't see why you can't use pset.


Re: Scripting an svn:externals change

2010-09-02 Thread Ryan Schmidt

On Sep 2, 2010, at 11:27, BRM wrote:

> I recently had my subversion server die - the box, not subversion itself - 
> and 
> have been working through the recovery process.
> Part of that is going through and modifying a number of projects for the 
> change 
> in the URL - namely changing from a non-standard port for apache to a 
> standard 
> port.
> We have started using svn:externals in some projects, but did not use the 
> relative path values - instead, specifying the whole URL; so I need to update 
> the URLs in the svn:externals.
> 
> I know I can get the values using 'svn pget svn:externals'; but the SVN 
> redbook 
> recommends against using pset/propset to set the values.
> So, how do I set the values from a script? "svn help pset" seems to show a 
> "-F" 
> parameter for reading the values from a file. This seems like it would take 
> care 
> of the concern mentioned issue - that the externals are multi-line.
> If that is the case, then shouldn't the note say to use that parameter with 
> pset 
> or use pedit instead of flatly saying use pedit?
> Or is there another reason why I shouldn't use pset?

If you can afford to have the repository offline, make a dumpfile, twiddle it, 
load it into a new repository, and have everybody check out new working copies, 
you may want to consider doing that. The twiddling step would be done with the 
svndumptool script. The advantage would be that you could correct the externals 
definitions in all past revisions of the repository too, not just the HEAD, so 
that anybody needing to check out a past revision would still have working 
externals in the repository's new location. And do use relative externals this 
time so you won't have to do this kind of surgery ever again, noting that the 
relative externals syntax is only compatible with Subversion 1.5 and higher.





Re: Re: An issue about SVN access deny

2010-09-02 Thread Alexey Bakhirkin
So, you want your users to be able to make a sparse tag of "trunk"
without "access" subdirectory? If a user can check out "trunk" without
"access" (in your configuration) he may try to tag his working copy.

2010/9/1 alinagra :
> Hi, Johan,
> Thanks for your reply!
>
> I want to create tag for /trunk, and the accounts expept TIM do not have
> access right to the /trunk/access folder, in another words, the
> /trunk/access folder is invisible for all other accounts.
> I have tried sevral times, and it seems if a user do not have access right
> to a subfolder, he can not create a tag for this folder.
> Am I right ? or anyone has some solution?
>
> Thanks!
>
>
> At 2010-09-01 16:36:17,"Johan Corveleyn"  wrote:
>
>>2010/9/1 alinagra 
>>>
>>> Hi, buddies,
>>>
>>> I have setup a SVN server and use SASL authentication. But right now I have 
>>> a authz question:
>>> I add authentication control the folder: /trunk/access, and only the 
>>> account TIM can access this folder.
>>>
>>> I can create tags with accont TIM, but when I try to create a tag with 
>>> other accounts, it reports "access denied" error.
>>> and if I delete these lines below in the authz file, other accounts can 
>>> create tags.
>>>
>>> [test:/trunk/access]
>>> @aa = rw
>>> * =
>>
>>Do you mean that the other accounts want to create tags of
>>/trunk/access? In that case they need at least read access, so you
>>should change
>>* =
>>to:
>>* = r
>>
>>in the above rule.
>>
>>--
>>Johan
>
>
> 
> 您想拥有和网易免费邮箱一样强大的软件吗?


Re: svn redo after reverse merge

2010-09-02 Thread Ryan Schmidt
On Sep 2, 2010, at 08:46, ankush chadha wrote:

> Suppose there is a source folder that contains around 50 modules. There were 
> lot of changes made to this source folder say around 20 new features. Once 
> everything was checked in, we realized that for the current release we just 
> need feature A and B and rollback everything else. We want all the merge 
> history, any history. Ideally we should branch at an early revision and then 
> add feature A and B. But in my case I cannot create a branch now. I hope this 
> helps.

I don't know why what you tried didn't work. But, another approach could be to 
create a branch of some past revision, then merge in any additional changes 
needed.




Re: Mark file with svn:eol-style as binary

2010-09-02 Thread Semen Vadishev
 Hello,

Just FYI:

This issue is fixed in SVNKit at trunk and 1.3.x branch. The bugfix will
be included into 1.3.5 release.

Semen Vadishev,
TMate Software,
http://svnkit.com/ - Java [Sub]Versioning Library!
http://sqljet.com/ - Java SQLite Library!


On 01.09.10 19:35, Semen Vadishev wrote:
>  Hello,
>
> The following behavior seems to be unexpected.
>
> 1. Set 'native' EOL style on file:
>
> $  svn ps svn:eol-style native file
> property 'svn:eol-style' set on 'file'
>
> 2. Mark this file as binary:
>
> $  svn ps svn:mime-type application/octet-stream file
> property 'svn:mime-type' set on 'file'
>
> I believe the behavior is unexpected since svn refuses to do the same
> steps in reverse order.
>
> $  svn ps svn:mime-type application/octet-stream file
> property 'svn:mime-type' set on 'file'
>
> $  svn ps svn:eol-style native file
> svn: File 'file' has binary mime type property
>
> The described above is reproducible with subversion build from 1.6.x
> branch sources:
>
> $ svn --version
> svn, version 1.6.13 (dev build)
>


Re: Re:Re: Re: please help about SVN authentication

2010-09-02 Thread Johan Corveleyn
On Thu, Sep 2, 2010 at 4:16 PM, Bob Archer  wrote:
>> Subject: Re:Re: Re: please help about SVN authentication
>>
>> actually I use svnserve, no Apache/http access.
>> and I have several repositories under the svn directory.
>> It looks like this:
>> svn
>> ---prj1 repo
>> ---prj2 repo
>> ---prj2 repo
>>
>> and this issue happens in every repo.
>>
>>
>>
>> At 2010-09-01 17:36:29,"Erik Andersson"  wrote:
>>
>>
>> 2010/9/1 alinagra 
>> Here is the repo arch:
>>
>> /trunk
>>     /folder a
>>     /folder b
>>     /folder c
>>     /access
>>
>> /tag
>>
>> I think this is the most common case, and it seems if one doesn't
>> have access right, he can not create a tag for /trunk.
>> or is there something wrong with my configuration?
>>
>
> There is a known bug in svn that if the user trying to create a branch 
> doesn't have at least read access to the root of the repository, even though 
> they have access to the path they are copying from/to it won't work. This has 
> been fixed, it is in the svn tracker and slated to release in 1.6.13.
>
> The only way to fix this for now is to make sure your users all have read 
> access to the root of the repository.

Yes, but I don't think that is the issue. According to the authz file
sent in the first post, all users already have (full) access to the
root of the repository:
[test:/]
* = rw

So it must be something else (or there must be a typo or something).

Cheers,
-- 
Johan


Re: svn redo after reverse merge

2010-09-02 Thread ankush chadha


Ryan

I tried following

svn co svn://repository/trunk

svn merge -r 10:7 svn://repository/trunk

svn commit -m "undo rev 10, 9, 8"

svn merge -c 8 svn://repository/trunk
No changes in redo operation - svn status returns nothing


Branching is I believe ideal solution but I have some restrictions of creating 
a 
branch as of now. So as of now, if I have to perform redo operation it will be 
to create a patch first using svn diff and then apply this patch and then 
commit 
changes.


Ankush



From: Ryan Schmidt 
To: ankush chadha 
Cc: "Cooke, Mark" ; users@subversion.apache.org
Sent: Thu, September 2, 2010 1:12:36 PM
Subject: Re: svn redo after reverse merge

On Sep 2, 2010, at 08:46, ankush chadha wrote:

> Suppose there is a source folder that contains around 50 modules. There were 
>lot of changes made to this source folder say around 20 new features. Once 
>everything was checked in, we realized that for the current release we just 
>need 
>feature A and B and rollback everything else. We want all the merge history, 
>any 
>history. Ideally we should branch at an early revision and then add feature A 
>and B. But in my case I cannot create a branch now. I hope this helps.

I don't know why what you tried didn't work. But, another approach could be to 
create a branch of some past revision, then merge in any additional changes 
needed.


  

Re: svn redo after reverse merge

2010-09-02 Thread ankush chadha
Actually it works with --ignore-ancestry option

 i.e. svn merge -c 8 svn://repository/trunk --ignore-ancestry

Ankush






From: ankush chadha 
To: Ryan Schmidt 
Cc: "Cooke, Mark" ; users@subversion.apache.org
Sent: Thu, September 2, 2010 2:47:17 PM
Subject: Re: svn redo after reverse merge




Ryan

I tried following

svn co svn://repository/trunk

svn merge -r 10:7 svn://repository/trunk

svn commit -m "undo rev 10, 9, 8"

svn merge -c 8 svn://repository/trunk
No changes in redo operation - svn status returns nothing


Branching is I believe ideal solution but I have some restrictions of creating 
a 
branch as of now. So as of now, if I have to perform redo operation it will be 
to create a patch first using svn diff and then apply this patch and then 
commit 
changes.


Ankush



From: Ryan Schmidt  
To: ankush chadha 
Cc: "Cooke, Mark" ; users@subversion.apache.org
Sent: Thu, September 2, 2010 1:12:36 PM
Subject: Re: svn redo after reverse merge

On Sep 2, 2010, at 08:46, ankush chadha wrote:

> Suppose there is a source folder that contains around 50 modules. There were 
>lot of changes made to this source folder say around 20 new features. Once 
>everything was checked in, we realized that for the current release we just 
>need 
>feature A and B and rollback everything else. We want all the merge history, 
>any 
>history. Ideally we should branch at an early revision and then add feature A 
>and B. But in my case I cannot create a branch now. I hope this helps.

I don't know why what you tried didn't work. But, another approach could be to 
create a branch of some past revision, then merge in any additional changes 
needed.


  

Re: Scripting an svn:externals change

2010-09-02 Thread BRM
- Original Message 

> On Sep 2, 2010, at 11:27, BRM wrote:
> > I recently had my  subversion server die - the box, not subversion itself - 
>and 
>
> > have been  working through the recovery process.
> > Part of that is going through and  modifying a number of projects for the 
>change 
>
> > in the URL - namely  changing from a non-standard port for apache to a 
>standard 
>
> >  port.
> > We have started using svn:externals in some projects, but did not  use the 
> > relative path values - instead, specifying the whole URL; so I  need to 
>update 
>
> > the URLs in the svn:externals.
> > 
> > I know I  can get the values using 'svn pget svn:externals'; but the SVN 
>redbook 
>
> >  recommends against using pset/propset to set the values.
> > So, how do I  set the values from a script? "svn help pset" seems to show a 
>"-F" 
>
> >  parameter for reading the values from a file. This seems like it would 
> > take 
>care 
>
> > of the concern mentioned issue - that the externals are  multi-line.
> > If that is the case, then shouldn't the note say to use that  parameter 
> > with 
>pset 
>
> > or use pedit instead of flatly saying use  pedit?
> > Or is there another reason why I shouldn't use pset?
> 
> If  you can afford to have the repository offline, make a dumpfile, twiddle 
> it, 
>load  it
> into a new repository, and have everybody check out new working copies, you  
>may
> want to consider doing that. The twiddling step would be done with the  
>svndumptool
> script. The advantage would be that you could correct the externals  
>definitions in all
> past revisions of the repository too, not just the HEAD, so  that anybody 
>needing to
> check out a past revision would still have working  externals in the 
>repository's new
> location. And do use relative externals this  time so you won't have to do 
> this 
>kind
> of surgery ever again, noting that the  relative externals syntax is only 
>compatible
> with Subversion 1.5 and  higher. 

That's a good thought. I might try doing that tonight. I'm aware of they syntax 
compat issue, and have no problem
saying that we have to use 1.5 or higher; it's just a matter of getting the 
update through.

Ben



RE: Crash merging into branch using SlikSVN

2010-09-02 Thread Bert Huijben
Ok,

 

I think I just found the cause of this crash (and a few other related
crashes) in the SlikSVN Subversion client.

 

It is caused by a broken combination of patches in my buildscripts. I will
create a SlikSVN 1.6.12.1 later this week (probably tomorrow)

 

Thanks for sending these reports,

Bert

 

From: Tim Mayo [mailto:tim.m...@realworld-systems.com] 
Sent: donderdag 2 september 2010 16:19
To: users@subversion.apache.org
Subject: Crash merging into branmch using SLIK

 

Hi

 

I received the following message while trying to merge into a working copy
of a branch using SLIK:

 

--- Merging r16298 through r16446 into '.':

Aname_management_tests



Aname_management_tests\test_reservations.py

This application has halted due to an unexpected error.

A crash report and minidump file were saved to disk, you can find them here:

C:\DOCUME~1\TIM~1.MAY\LOCALS~1\Temp\svn-crash-log20100902151326.log

C:\DOCUME~1\TIM~1.MAY\LOCALS~1\Temp\svn-crash-log20100902151326.dmp

Please send the log file to users@subversion.apache.org to help us analyse

and solve this problem.

 

The merge command was:

 

  svn merge --accept postpone
https://svn.realworld-systems.com/RealworldUK/Products/trunk/rwuk_LPM/module
s/internal

 

Cheers  ... and thanks for a fantastic app

Tim

 

Tim Mayo

Technical Architect

Realworld Systems

 

Phone: +44 1223 532670

E-mail: tim.m...@realworld-systems.com



RE: hint of the day

2010-09-02 Thread Jeremy Mordkoff
The attached archive has 3 files in it

 

BRANCHES is the key file. It lives in the root of trunk. BRANCHES lists
all known branches and where they should be merged to. Project branches
should have two entries, one "out" to make sure the project branch is
staying up to date, and one "in" to make sure that the project merges to
somewhere useful someday. There are comments and examples in BRANCHES.

 

changes is a script that checks for all commits since the last time it
was run and categorizes them by branch and component (any directory
under trunk is a component). It emits a warning if I finds a branch not
listed in BRANCHES.

 

tomerge is a script that reminds you of what needs to be merged and from
where to where. 

 

I run changes and tomerge -c every morning.

 

The path to the repository is hardcoded, as is the location of a
workspace. I'd be open to any ideas as to how these could be calculated.

 

JLM

 

 

 

Jeremy Mordkoff

Director, QA, IT & Release

ZeeVee, Inc.

One Monarch Drive | Littleton, MA 01460

Office: 978.467.1395 x233 | Fax: 978.467.1404

Mobile: 978-257-2183

j...@zeevee.com   

www.zeevee.com   

 

From: Erik Andersson [mailto:kir...@gmail.com] 
Sent: Wednesday, September 01, 2010 8:54 AM
To: Jeremy Mordkoff
Cc: users@subversion.apache.org
Subject: Re: hint of the day

 

 

On Wed, Sep 1, 2010 at 2:11 PM, Jeremy Mordkoff  wrote:

Just an FYI for anyone that does merging.

I just spent an hour cleaning up a mess with my mergeinfo's. I missed a
hint that I was about to do something really stupid.

Here's the merge:


[rele...@zaz1 rel_2_5]$ svn merge $B/rel_2_5_3
--- Merging r14352 through r14594 into '.':
Ulcast/build/images/nand/root/lcast/etc/post_install.sh
Ulcast/build/images/nand/root/lcast/etc/lc_UpdateNOR.sh
 G   .
[rele...@zaz1 rel_2_5]$ svn commit -m 'merge from rel_2_5_3 of a fix
made in trunk'
Sending.
Sendinglcast/build/images/nand/root/lcast/etc/lc_UpdateNOR.sh
Sendinglcast/build/images/nand/root/lcast/etc/post_install.sh
Transmitting file data ..
Committed revision 14595.


The hint I missed was the G next to the '.'. That should have told me
that there were changes in my workspace, and since I never knowingly
commit local changes and merges at the same time, I should have stopped
right there.

Also, I have some tools that I use to keep track of branches and stuff.
Is there a good place to publish them?

I'd like to see them very much. If you don't publish them anywhere,
please send them my way.

 

Cheers / Erik 


JLM

 



svn_tools.tar
Description: svn_tools.tar


Provider encountered an error while streaming a REPORT response. [500, #0]

2010-09-02 Thread Tami Doyen
Does anyone know how to resolve this error?

 

A user is getting this error:

 

Command Update
Error REPORT of '/svn/!svn/vcc/default': Could not read response body:
An existing 
Error connection was forcibly closed by the remote host.
Error (http://bby-svn:3691)
Finished!

 

The Server log file:

 

[Thu Sep 02 11:47:07 2010] [notice] Apache/2.2.15 (Unix) DAV/2
mod_ssl/2.2.15 OpenSSL/1.0.0 SVN/1.6.11 PHP/5.2.6 mod_python/3.3.1
Python/2.3.4 configured -- resuming normal operations

[Thu Sep 02 11:52:52 2010] [error] [client 192.x.x.x] Provider
encountered an error while streaming a REPORT response.  [500, #0]

[Thu Sep 02 11:52:52 2010] [error] [client 192.x.x.x] A failure occurred
while driving the update report editor  [500, #103]

[Thu Sep 02 11:52:52 2010] [error] [client 192.x.x.x] Error writing
base64 data: Software caused connection abort  [500, #103]

 

Apache

[pmc_servers]
http-timeout = 6000

 

Tami Doyen

PMC-Sierra

 



Re: hint of the day

2010-09-02 Thread Nico Kadel-Garcia
Don't name it "BRANCHES". Name it "BRANCHES.txt", to avoid confusion
with actual Subversion branches and with filesystems that mishandle
mixed case and don't allow "branches" and "BRANCHES" in the same
directory.

On Thu, Sep 2, 2010 at 3:28 PM, Jeremy Mordkoff  wrote:
> The attached archive has 3 files in it
>
>
>
> BRANCHES is the key file. It lives in the root of trunk. BRANCHES lists all
> known branches and where they should be merged to. Project branches should
> have two entries, one “out” to make sure the project branch is staying up to
> date, and one “in” to make sure that the project merges to somewhere useful
> someday. There are comments and examples in BRANCHES.
>
>
>
> changes is a script that checks for all commits since the last time it was
> run and categorizes them by branch and component (any directory under trunk
> is a component). It emits a warning if I finds a branch not listed in
> BRANCHES.
>
>
>
> tomerge is a script that reminds you of what needs to be merged and from
> where to where.
>
>
>
> I run changes and tomerge –c every morning.
>
>
>
> The path to the repository is hardcoded, as is the location of a workspace.
> I’d be open to any ideas as to how these could be calculated.
>
>
>
> JLM
>
>
>
>
>
>
>
> Jeremy Mordkoff
>
> Director, QA, IT & Release
>
> ZeeVee, Inc.
>
> One Monarch Drive | Littleton, MA 01460
>
> Office: 978.467.1395 x233 | Fax: 978.467.1404
>
> Mobile: 978-257-2183
>
> j...@zeevee.com
>
> www.zeevee.com
>
>
>
> From: Erik Andersson [mailto:kir...@gmail.com]
> Sent: Wednesday, September 01, 2010 8:54 AM
> To: Jeremy Mordkoff
> Cc: users@subversion.apache.org
> Subject: Re: hint of the day
>
>
>
>
>
> On Wed, Sep 1, 2010 at 2:11 PM, Jeremy Mordkoff  wrote:
>
> Just an FYI for anyone that does merging.
>
> I just spent an hour cleaning up a mess with my mergeinfo's. I missed a hint
> that I was about to do something really stupid.
>
> Here's the merge:
>
>
> [rele...@zaz1 rel_2_5]$ svn merge $B/rel_2_5_3
> --- Merging r14352 through r14594 into '.':
> U    lcast/build/images/nand/root/lcast/etc/post_install.sh
> U    lcast/build/images/nand/root/lcast/etc/lc_UpdateNOR.sh
>  G   .
> [rele...@zaz1 rel_2_5]$ svn commit -m 'merge from rel_2_5_3 of a fix made in
> trunk'
> Sending    .
> Sending    lcast/build/images/nand/root/lcast/etc/lc_UpdateNOR.sh
> Sending    lcast/build/images/nand/root/lcast/etc/post_install.sh
> Transmitting file data ..
> Committed revision 14595.
>
>
> The hint I missed was the G next to the '.'. That should have told me that
> there were changes in my workspace, and since I never knowingly commit local
> changes and merges at the same time, I should have stopped right there.
>
> Also, I have some tools that I use to keep track of branches and stuff. Is
> there a good place to publish them?
>
> I'd like to see them very much. If you don't publish them anywhere, please
> send them my way.
>
>
>
> Cheers / Erik
>
> JLM
>
>


Re: Scripting an svn:externals change

2010-09-02 Thread BRM
- Original Message 

> From: BRM 
> To: Ryan Schmidt 
> - Original Message 
> > On Sep 2, 2010, at 11:27, BRM  wrote:
> > If  you can afford to have the repository offline, make a  dumpfile, 
> > twiddle 
>it, load  it
> > into a new repository, and  have everybody check out new working copies, 
> > you 
>may
> > want  to consider doing that. The twiddling step would be done with the 
>svndumptool
> > script. The advantage would be that you could  correct the externals 
>definitions in all
> > past revisions of  the repository too, not just the HEAD, so  that anybody 
>needing  to
> > check out a past revision would still have working  externals in  the 
>repository's new
> > location. And do use relative externals  this  time so you won't have to do 
>this kind
> > of surgery  ever again, noting that the  relative externals syntax is only 
>compatible
> > with Subversion 1.5 and  higher. 
> That's  a good thought. I might try doing that tonight. I'm aware of they 
>syntax 
>
> compat issue, and have no problem
> saying that we have to use 1.5 or  higher; it's just a matter of getting the 
> update through.

Okay - well, I decided to try this route, but was advised to try it on a test 
repository first.
Good thing - as there is a bit of an issue, and one I need to avoid if I can...

The issue is that an existing working copy's externals are not being updated 
when 'svn update' runs,
even though the externals have changed on the server through the update.

Here's my test:

1. Create a file-based repository:

$ cd /
$ mkdir svnTest && cd svnTest
$ svnadmin create Example1

$ mkdir -p ~/testsvn && cd ~/testsvn
$ export SVNROOT=/svnTest
$ svn co ${SVNROOT}/Example1 example1.wc
$ cd example1.wc
$ mkdir sub1 sub2
$ svn add sub1 sub2
$ svn commit -m "Adding some structure for test"
$ touch sub1/file1
$ svn add sub1/file1
$ svn commit -m "Adding a file for test"
$ svn pedit svn:externals sub2

set the svn:externals to:

sub2a file:///svnTest/Example1

save and quit

$ svn update
$ svn commit -m "Adding an external for test"

2. Make a backup of the working copy
$ cd ~/testsvn
$ tar -jcvvf example1.wc.tar.bz2 example1.wc

3. Dump the repository

$ cd /svnTest
$ svnadmin dump Example1 > Example1.dump

4. Switch the external reference from Example1 to Example2

$ cat Example1.dump | sed 
's/file:\/\/\/svnTest\/Example1/file:\/\/\/svnTest\/Example2/' > 
Example1-edited.dump

5. Load the edited dump into a new repository (Example2)

$ cd /svnTest
$ svnadmin create Example2
$ svnadmin load Example2 < Example1-edited.dump

6. Rename the Example1 repository so it looks like it was removed

$ cd /svnTest
$ mv Example1 Example1.removed

7. Relocate the Example1 working copy, then update it

$ cd ~/testsvn
$ cd example1.wc
$ svn switch --relocate file:///svnTest/Example1 file:///svnTest/Example2
$ svn update

At this point 'svn update' fails outright complaining that it cannot find 
file:///svnTest/Example1 (since it was removed).
So I can live with sub2a not getting updated without an svn switch  --relocate 
occurring on it - integrity and all; however, I would have  expected that
svn update the svn:externals on sub2. I could even live with having to  rename 
an existing external (sub2a -> sub2a.orig) and updating (it's  kinda of 
acceptable, but not ideal).

At this point, I would expect that the svn:externals property for 'sub2' match 
what is in the Example2 repository.
However, an 'svn pget svn:externals sub2'  reveals that it did not get updated. 
I even tried 'svn update --force'.
I kind of expected that 'svn update --ignore-externals' would not update it 
either  - which is what I found when I tried it.

Now I tried this with a 1.5.1 and 1.6.6 versions of the svn toolchain; though 
if 
it is working in something newer okay. However, I'm kind of stuck with those 
two 
versions - ubuntu hardy-backports provides 1.5.1 and lucid uses 1.6.6.

Now why is this a "big issue" for me? B/c I and a number of my team  members 
have a lot of projects with svn:externals, and we need to update  our working 
copies.
I need to make this as seamless as possible. Scripting the svn switch  
--relocate command is easy; but I shouldn't have to also edit the  
svn:externals 
on each project
since that was already changed in the repository.

Now I may be able to alleviate my issue some through temporarily  restoring an 
alternate port that gets redirected to the server via  proxy[1] (the old server 
ran on example.com:82 and the new one is on  example.com); but forcing people 
to 
have to completely delete their  working copies is not an easy option - 
especially since there may be  some changes in the working copies that have not 
yet made it to the  server.

Or am I missing some?  At this point, I am not going to touch my primary 
repository until I know the right solution - but that also means we're stuck.

TIA,

Ben

[1]http://silmor.de/49



Re: Scripting an svn:externals change

2010-09-02 Thread Ryan Schmidt
On Sep 2, 2010, at 18:51, BRM wrote:

> - Original Message 
> 
>> From: BRM 
>> To: Ryan Schmidt 
>> - Original Message 
>>> On Sep 2, 2010, at 11:27, BRM  wrote:
>>> If  you can afford to have the repository offline, make a dumpfile, twiddle 
>>> it, load it into a new repository, and have everybody check out new working 
>>> copies, you 
>>> may want to consider doing that. 

> Okay - well, I decided to try this route, but was advised to try it on a test 
> repository first.
> Good thing - as there is a bit of an issue, and one I need to avoid if I 
> can...
> 
> The issue is that an existing working copy's externals are not being updated 
> when 'svn update' runs,
> even though the externals have changed on the server through the update.
> 
> Here's my test:
> 
> 1. Create a file-based repository:
> 
> $ cd /
> $ mkdir svnTest && cd svnTest
> $ svnadmin create Example1
> 
> $ mkdir -p ~/testsvn && cd ~/testsvn
> $ export SVNROOT=/svnTest
> $ svn co ${SVNROOT}/Example1 example1.wc
> $ cd example1.wc
> $ mkdir sub1 sub2
> $ svn add sub1 sub2
> $ svn commit -m "Adding some structure for test"
> $ touch sub1/file1
> $ svn add sub1/file1
> $ svn commit -m "Adding a file for test"
> $ svn pedit svn:externals sub2
> 
> set the svn:externals to:
> 
> sub2a file:///svnTest/Example1
> 
> save and quit
> 
> $ svn update
> $ svn commit -m "Adding an external for test"
> 
> 2. Make a backup of the working copy
> $ cd ~/testsvn
> $ tar -jcvvf example1.wc.tar.bz2 example1.wc
> 
> 3. Dump the repository
> 
> $ cd /svnTest
> $ svnadmin dump Example1 > Example1.dump
> 
> 4. Switch the external reference from Example1 to Example2
> 
> $ cat Example1.dump | sed 
> 's/file:\/\/\/svnTest\/Example1/file:\/\/\/svnTest\/Example2/' > 
> Example1-edited.dump

Do not use sed to edit a dumpfile. Use a tool designed for the task, like 
svndumptool.

http://svn.borg.ch/svndumptool/


> 5. Load the edited dump into a new repository (Example2)
> 
> $ cd /svnTest
> $ svnadmin create Example2
> $ svnadmin load Example2 < Example1-edited.dump

Because this repository is now different than it was before (the history has 
been edited), you must give the new repository a new UUID.

svnadmin load --ignore-uuid Example2 < Example1-edited.dump


Since the UUID has changed, everyone must check out new working copies; it is 
not possible to update or switch existing working copies to this new changed 
repository.