What does "Repository moved temporarily " mean?

2010-05-12 Thread David Aldrich
Hi

One of our users tried to copy between repositories and got error:

"svn: Repository moved temporarily to 'https://[snip] please relocate"

We understand that such copying is disallowed, but please will someone explain 
what "Repository moved temporarily" means in this context?

Is it possible that some temporary files have been created somewhere?

Best regards

David




Re: long path names on windows prefixed with \\?\ not handled by svn commands

2010-05-12 Thread Heinz Prantner

Hello Bert,

yes, confirmed, providing absolute paths without the prefix \\?\  
works. As you mention, we just have to know which function requires  
the prefix, or has it implicit or does not support it at all.
Thanks for your clarification.


Heinz

On 11.05.2010, at 21:57, Bert Huijben wrote:

Subversion uses the APR library which handles the escaping for  
specific API functions that allow this trick. The ‘\\?\’ style  
paths are not a different path, but just the original path escaped  
for a specific api.
(Some Windows APIs allow this trick, others just support long paths  
directly and then there are functions that support neither. By  
passing the long path yourself you assume that all filesystem  
functions have this long path support)


If you pass absolute paths to svn, it should support long paths  
directly. (Windows doesn’t support long relative paths). Subversion  
1.7 will probably work better with long relative paths, as it will  
use absolute paths internally for almost every operation.


Bert

From: Heinz Prantner [mailto:heinz.prant...@opensynergy.com]
Sent: dinsdag 11 mei 2010 14:21
To: users@subversion.apache.org
Subject: long path names on windows prefixed with \\?\ not handled  
by svn commands


Hello,

running svn client commands other than svn checkout on windows fail,
if the path name (of the local working copy location) is prefixed  
with \\?\.

The prefix is required for path names longer than  255 or so.

It seems that svn commands like svn info or svn status behave  
different

than svn checkout command regarding the path name prefix.

example:

svn info \\?\c:\long\path\name
svn: '\' is not a working copy

Any thoughts?

(I am using svn client version 1.6.11 from CollabNet)

Thanks,
Heinz







Heinz Prantner
Senior Software Design Engineer

OpenSynergy GmbH
Rotherstr. 9, 10245 Berlin

t: +49 (30) 20 1818 35-23
f: +49 (39) 20 1818 35-02
m: +49 (179) 23 63 588
e: heinz.prant...@opensynergy.com

w: www.opensynergy.com

Handelsregister: Amtsgericht Charlottenburg, HRB 108616B
Geschäftsführung: Frank-Peter Böhm, Stefaan Sonck Thiebaut, Rolf Morich






RE: Best practice for moving folders around?

2010-05-12 Thread Cooke, Mark
Many thanks Ulrich for your input...

> -Original Message-
> From: Ulrich Eckhardt [mailto:eckha...@satorlaser.com] 
> Sent: 11 May 2010 16:33
> 
> On Tuesday 11 May 2010, Cooke, Mark wrote:
> > Can I ask your suggestions on how best to correct the following
> > scenario:
> >
> > In a new repository we checked a version of the product code into
> > 'trunk' (moving projects from VSS, finally).
> 
> Just for the record: There are tools that preserve some 
> history, in case you care.
> 
We converted the whole archive using vss2svn (this one:
http://code.google.com/p/vss2svn/ there seem to be 2 projects with that
name!) which worked reasonably well.  However, we decided to split the
projects into separate repos (with associated Trac sites) and the effort
to dumpfilter all the bits out was deemed too much for the little gain.
So we just keep the import available read-only for reference.

> > This was cp'd to 'tags'/tag1.
> 
> A normal tagging operation, okay.
> 
> > A new svn user then cp'd 'tags'/tag1 to 'tags'/tag2 and 
> > checked this out as a working copy:
> >
> > [project] -> 'trunk'
> > 'trunk' -> 'tags'/tag1
> > 'tags'/tag1 -> 'tags'/tag2
> > 'tags'/tag2 -> (wc)
> > (wc) -> 'tags'/tag2
> 
> Generally, tags are points in time, they are not intended for 
> development and should be treated as immutable. There are even
> pre-commit hooks that enforce this. However, there is nothing
> that could stop the user from creating a working copy of it,
> only from committing to the repository.
> 
Good idea, I Have no hooks setup as yet, I will look into this.
Otherwise, yes, it is mainly an education issue...

> > Several updates later we have discussed the idea of what is
> > a 'tag', 'branch' and the 'trunk' and have decided that the 
> > development should have occurred in 'trunk' (small teams of
> > one or two so no perceived need for developer branches) and
> > that we should create a new 'tags'/tag2 for the release
> > version.
> 
> Yes, development should have taken place either in trunk or 
> in a separate branch. What you can do now depends on where you
> are and what you did in between
> 
> 1. If "tag2" was not modified and trunk was not modified 
> either (only local changes to the working copy), you could
> switch (svn switch) your working copy to the trunk and commit
> from there. You could then delete the tag, there isn't anything
> in there that happened anyway.
> 
...development has been committed...

> 2. If the trunk was not modified, you could simply delete the 
> project therein and move "tag2" in its place. Looking at the
> history, you will see that the location of the project jumps
> a bit around though, in case you care.
> 
...this case applies, but...

> 3. If the developer already committed his changes to the tag, 
> and others committed to trunk, you should merge those changes
> into trunk instead. For that, you first declare the tag as a
> branch and move it to the "branches" folder. Then, you simply
> merge the revisions you want to the trunk. This is not different
> from the normal everyday merge that you do from a feature
> branch to your trunk and explained in the manual. Note that 
> the developer must switch (svn switch) his working copy which
> still points at the tag, either at the branch or at trunk.
> 
...no other changes to 'trunk' have occurred...

> > How do we best achieve this, preserving as much history as 
> > possible?  I can think of several possible solutions:
> >
> > 1) merge 'tags'/tag2 into trunk, delete 'tags'/tag2 then
> >create new 'tags'/tag2 from trunk?
> >
> > 2) delete 'trunk', move 'tags'/tag2 to become 'trunk', 
> >create new tag
> >
> > 3) I'm sure I could think of worse ideas
> 
> Actually, I would suggest merging the changes. Firstly, it 
> documents that the changes were made in isolation. Secondly,
> it keeps the continuity of trunk.  Lastly, you get familiar
> with branching and merging. In any case, you should delete
> or move "tag2", because it is not a tag.
> 
I agree with all your points, so I propose we will (a) move the
offending tag2 to 'branches', relocating the wc to the new location, (b)
merge the changes into 'trunk' to reinforce the idea that that should be
where development continues and then (c) create a new tag2 from the
trunk.

> > using latest tortoise from windoze clients.
> 
> Right-click, submenu, "Merge...". This will guide you through 
> the merge process. Select "tag2" as source URL and a (clean)
> working copy of the trunk as target. Ignoring line ending and
> whitespace sometimes helps, or merging smaller ranges. Always
> merge and commit the root project folder, so you only have
> "svn:mergeinfo" property in one place.
> 
Thanks for the useful guide, we will have a go and, hopefully, report
success.

> Good luck!
> 
Once again, many thanks for your time.

~ mark c


Free Online Subversion Training - All About Subversion Hook Scripts

2010-05-12 Thread george.pow...@wandisco.com
svn.wandisco.com/hookscripts

Hook scripts are server-side executables tied to various Subversion
events. During this course, attendees will learn how to use hook
scripts for:

* Email notification of an event
* Commit validation
* Automatic backup of changes
* Integration with issue trackers and other external systems.
* Specific access control scenarios
* And much more

Broadcast Details
Wed, May 19, 2010
9:00 am PDT


svn update and permissions

2010-05-12 Thread Igmar Palsenberg

Hi,

An svn update process doesn roughtly this :

open("tempfile.tmp", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0666)

write() tempfile.tml
rename("tempfile.tmp", "targetfile");

While this works, it has one problem : The rename recreated the file, 
and thus applies default permissions. While this is OK in most situations,
it isn't in some. Does this have a specific reason, and is changing  the 
behaviour to a truncate() and write() a good alternative ?



Regards,


Igmar





Re: Best practice for moving folders around?

2010-05-12 Thread Les Mikesell

Cooke, Mark wrote:


Good idea, I Have no hooks setup as yet, I will look into this.
Otherwise, yes, it is mainly an education issue...


Note that making mistakes is fairly normal, so one thing you should work out is 
a scheme to track the tags that you care about.  You probably want some 
human-friendly name and numbering scheme where you copy the trunk or branch 
versions you expect to be interested in - and you should expect some of these to 
have various problems and you'll just ignore them later.


On the other hand if you are just getting started and want to clean up, you 
could probably svnadmin dump the repository, svnadumpfilter including only 
tags2, then make a new repository with trunk/tags/branches directories and 
svnadmin load your history with trunk as the parent directory.


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



Update of missing on non-working directory

2010-05-12 Thread Vadym Chepkov
Hi,

I think the exit code subversion returns isn't right, it should indicate an 
error

$ svn --version
svn, version 1.6.11 (r934486)


$ svn update /blah-blah
Skipped '/blah-blah'
$ echo $?
0

$ svn update /etc
Skipped '/etc'
$ echo $?
0


Vadym

Re: Update of missing on non-working directory

2010-05-12 Thread Andy Levy
On Wed, May 12, 2010 at 09:23, Vadym Chepkov  wrote:
> Hi,
>
> I think the exit code subversion returns isn't right, it should indicate an 
> error
>
> $ svn --version
> svn, version 1.6.11 (r934486)
>
>
> $ svn update /blah-blah
> Skipped '/blah-blah'
> $ echo $?
> 0
>
> $ svn update /etc
> Skipped '/etc'
> $ echo $?
> 0

Why? The command executed successfully and reported what it did.
Skipping something which is not a working copy isn't a program error;
attempting to update a something which is not a WC is a user error.


Re: Update of missing on non-working directory

2010-05-12 Thread Vadym Chepkov
Consider this:

$ svn -q --non-interactive update /blah-blah
$ echo $?
0

No output even to stderr, no indication of a failure at all.
Subversion doesn't always used interactively, hence --non-interactive switch.
If you made a mistake in a script it will be unnoticed (well, this was my 
unpleasant surprise)

Vadym


On May 12, 2010, at 9:28 AM, Andy Levy wrote:

> On Wed, May 12, 2010 at 09:23, Vadym Chepkov  wrote:
>> Hi,
>> 
>> I think the exit code subversion returns isn't right, it should indicate an 
>> error
>> 
>> $ svn --version
>> svn, version 1.6.11 (r934486)
>> 
>> 
>> $ svn update /blah-blah
>> Skipped '/blah-blah'
>> $ echo $?
>> 0
>> 
>> $ svn update /etc
>> Skipped '/etc'
>> $ echo $?
>> 0
> 
> Why? The command executed successfully and reported what it did.
> Skipping something which is not a working copy isn't a program error;
> attempting to update a something which is not a WC is a user error.



Problem with "bogus date" on NFS

2010-05-12 Thread Andreas Schwarz

Hi,

I have a strange problem with a working copy on a NFS mount. Checking
out works fine, but whenever I try to svn stat/info/up a certain
directory, I get the message
svn: Error at entry 6 in entries file for 'cfg':
svn: Bogus date
I traced it down to an empty file in this directory that has a weird
"text last changed" date in the entries file:
1949-12-07T10:27:14.-840919Z
This date is different (random) each time I make a new checkout on the
NFS mount. But everything is fine when I check out the repository on a
local disk.

I tried removing, committing and re-adding the offending file, but that
doesn't fix the problem.

Any ideas what is going on there?

My svn version is 1.5.7 (r36142).

Thanks!
Andreas


RE: What does "Repository moved temporarily " mean?

2010-05-12 Thread Feldhacker, Chris
> "svn: Repository moved temporarily to 'https://[snip] please relocate"

Are you going through a proxy server?
What happens if you execute the exact same command twice in a row?


We go through a proxy, and when I want to download the latest copy of Subclipse 
I issue the command:
"svn export --username guest 
http://subclipse.tigris.org/svn/subclipse/trunk/www/update_1.6.x";
...and I also get the same "svn: Repository moved temporarily..." response.

But, if I issue the exact same command again, it works fine. (And will continue 
to work until I reboot.)
My guess would be that the proxy is sending back a response that the Subversion 
client doesn't quite know how to handle correctly...




-Message Disclaimer-

This e-mail message is intended only for the use of the individual or
entity to which it is addressed, and may contain information that is
privileged, confidential and exempt from disclosure under applicable law.
If you are not the intended recipient, any dissemination, distribution or
copying of this communication is strictly prohibited. If you have
received this communication in error, please notify us immediately by
reply email to conn...@principal.com and delete or destroy all copies of
the original message and attachments thereto. Email sent to or from the
Principal Financial Group or any of its member companies may be retained
as required by law or regulation.

Nothing in this message is intended to constitute an Electronic signature
for purposes of the Uniform Electronic Transactions Act (UETA) or the
Electronic Signatures in Global and National Commerce Act ("E-Sign")
unless a specific statement to the contrary is included in this message.

While this communication may be used to promote or market a transaction
or an idea that is discussed in the publication, it is intended to provide
general information about the subject matter covered and is provided with
the understanding that The Principal is not rendering legal, accounting,
or tax advice. It is not a marketed opinion and may not be used to avoid
penalties under the Internal Revenue Code. You should consult with
appropriate counsel or other advisors on all matters pertaining to legal,
tax, or accounting obligations and requirements.



RE: What does "Repository moved temporarily " mean?

2010-05-12 Thread David Aldrich
Hi Chris,

Yes we do go through a proxy, so maybe your explanation is correct.

I haven't tried running it twice in a row but, since it's an invalid command, I 
am not sure that that would make much difference.

BR

David


Attempting a transparent(ish) write-through proxy for a remote site.

2010-05-12 Thread Terry Dooher
Hi all,

I've been trying to set up mirror repository for a remote site. So far, I have 
everything running: The  mirror repository, the proxy URL (separate from the 
mirror to avoid sync loops) and the post-commit and post-revprop-change 
synchronisation hooks are all working well. I'm able to check out from the 
mirror URL on the remote site and have commits routed back through to the 
master.

The final part I'm having trouble with is  setting it up so that the remote 
users can use the same  repository URL as the local ones. We have a number of 
repos with developers moving form project to project at any given time and 
potentially moving between sites. It would be very useful to have the 
documentation for each project supply only a single URL which would work from 
either site, with the proxy only coming in to action when they're working 
remotely.

Ideally, this would be completely transparent, but that doesn't look to be 
possible.  I'd be happy if I could supply a client config file to remote users 
that would ensure they use the write-through proxy for all mirrored 
repositories. Using the following setup:

Master URL: http://svnmaster/project
Mirror URL: http://svnmirror:8080/project
Proxy URL: http://svnproxy:8000/project

I've set the 'servers' config to:
http-proxy-host = svnproxy
http-proxy-port = 8000

I've also tried specifying them on the command line:
svn co http://svnmaster/project --config-option 
servers:global:http-proxy-host=svnproxy --config-option 
servers:global:http-proxy-port=8000

In both attempts, the proxy is ignored and the client connects directly to the 
master.

None of the guides I've read mention much about configuring clients in this 
way, and I've a feeling I'm mis-using the general connection proxy settings, 
which is why it's not working; but I can't see any other way of achieving my 
aim. Have I missed something or is this not currently possible?

Cheers,

Terry.






using saslauthd for user authendication

2010-05-12 Thread Sebastian Kotthoff
Hello,

I have a working LDAP-Server and some svn-repositories on an second server.
The svnserv uses the "passwd" file at the moment for user authendication.
Now I like to to use the LDAP instead.
Because the handbook says, svnserv could be used with sasl to access
a LDAP-server, I have set up  a "saslauthd" on the svn-server.
The saslauthd asks the LDAP over SSL if the given user is in a svn-group.

This is working fine so far, I can check this with:
# sudo /usr/sbin/testsaslauthd -u USERNAME -p PASSWORD
whitch returns either
0: OK "Success." or 0: NO "authentication failed"

Now I have set up a "/usr/lib/sasl2/svn.conf", but I'm not shure,
what to fill in. The lines from the svnhandbook are redirecting to a
"/etc/sasldb2", which I have. But I don't want to use a database-file,
the svnserv should request the localy running saslauthd.

It is possible to do something like that, or are I comlpetely misunderstood
the svnserver sasl-support?

(A further point is, that "svnserve --version" on ubuntu 8.04 does not return
something like "sasl", so it seems that I anyway need to compile it my own.)

Thank you in advance very much!

Regards

Sebastian

-- 
Sebastian Kotthoff
Rechenzentrum
Universität Mannheim
B6, 23-29; Building B; Room 1.16
68159 Mannheim

Tel: +49 621 181 2516
Fax: +49 621 181 2682 


Re: Apache + SVN (+ LDAP) don't works

2010-05-12 Thread Saulo Soares de Toledo
To simplify the thread, I removed the LDAP entries! Now a config without
authentication and returning "client denied by server configuration"
message:




   1. 
   2.
   3. ServerAdmin m...@me.com
   4. ServerName my.server.net
   5.
   6. ErrorLog /var/log/apache2/subversion.my.server.net-error_log
   7. CustomLog /var/log/apache2/subversion.my.server.net-access_log
   combined
   8.
   9. DocumentRoot /var/www
   10.
   11. LogLevel debug
   12.
   13. 
   14. DAV svn
   15.
   16. SVNParentPath /home/files/svn_root
   17. SVNListParentPath on
   18.
   19. # Enable WebDAV automatic versioning
   20. SVNAutoversioning On
   21.
   22. # Repository Display Name
   23. SVNReposName "Subversion Repository"
   24. 
   25.
   26. 
   27. Order allow,deny
   28. Allow from all
   29. 
   30.
   31. 
   32. Order allow,deny
   33. Allow from all
   34. 
   35.
   36. 


Re: Problem with "bogus date" on NFS

2010-05-12 Thread David Brodbeck

On May 12, 2010, at 6:55 AM, Andreas Schwarz wrote:

> 
> Hi,
> 
> I have a strange problem with a working copy on a NFS mount. Checking
> out works fine, but whenever I try to svn stat/info/up a certain
> directory, I get the message
> svn: Error at entry 6 in entries file for 'cfg':
> svn: Bogus date
> I traced it down to an empty file in this directory that has a weird
> "text last changed" date in the entries file:
> 1949-12-07T10:27:14.-840919Z
> This date is different (random) each time I make a new checkout on the
> NFS mount. But everything is fine when I check out the repository on a
> local disk.
> 
> I tried removing, committing and re-adding the offending file, but that
> doesn't fix the problem.
> 
> Any ideas what is going on there?

Are you by any chance using NFSv4, and mounting this filesystem from a Solaris 
NFS server?  I encountered the same issue a few months ago.  It appears to only 
happen with zero-length files, because as soon as data is written to the file 
the timestamp gets fixed.  It's actually a Solaris bug:
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6854659

One workaround is to use NFSv3.  Another is to put some data in the zero-length 
file.

The fix is in snv_126, which means it should be fixed in the next version of 
OpenSolaris that comes out (the one that was supposed to be 2010.03, before the 
Oracle merger delayed everything.)


-- 

David Brodbeck
System Administrator, Linguistics
University of Washington






Re: using saslauthd for user authendication

2010-05-12 Thread Johan Corveleyn
On Wed, May 12, 2010 at 6:01 PM, Sebastian Kotthoff
 wrote:
> Hello,
>
> I have a working LDAP-Server and some svn-repositories on an second server.
> The svnserv uses the "passwd" file at the moment for user authendication.
> Now I like to to use the LDAP instead.
> Because the handbook says, svnserv could be used with sasl to access
> a LDAP-server, I have set up  a "saslauthd" on the svn-server.
> The saslauthd asks the LDAP over SSL if the given user is in a svn-group.
>
> This is working fine so far, I can check this with:
> # sudo /usr/sbin/testsaslauthd -u USERNAME -p PASSWORD
> whitch returns either
> 0: OK "Success." or 0: NO "authentication failed"
>
> Now I have set up a "/usr/lib/sasl2/svn.conf", but I'm not shure,
> what to fill in. The lines from the svnhandbook are redirecting to a
> "/etc/sasldb2", which I have. But I don't want to use a database-file,
> the svnserv should request the localy running saslauthd.
>
> It is possible to do something like that, or are I comlpetely misunderstood
> the svnserver sasl-support?
>
> (A further point is, that "svnserve --version" on ubuntu 8.04 does not return
> something like "sasl", so it seems that I anyway need to compile it my own.)
>
> Thank you in advance very much!

The following recent thread from this mailinglist may help you:
http://svn.haxx.se/users/archive-2010-03/0515.shtml

The discussion eventually resulted in a working setup of svnserve + SASL + LDAP.

Cheers,
-- 
Johan


RE: Apache + SVN (+ LDAP) don't works

2010-05-12 Thread Bob Archer
> 1. 
> 2.
> 3.         ServerAdmin m...@me.com
> 4.         ServerName my.server.net
> 5.
> 6.         ErrorLog /var/log/apache2/subversion.my.server.net-error_log
> 7.         CustomLog /var/log/apache2/subversion.my.server.net-access_log
> combined
> 8.
> 9.         DocumentRoot /var/www
> 10.
> 11.         LogLevel debug
> 12.
> 13.         

What happens if you remove that trailing whack?

BOb



> 14.                 DAV svn
> 15.
> 16.                 SVNParentPath /home/files/svn_root
> 17.                 SVNListParentPath on
> 18.
> 19.                 # Enable WebDAV automatic versioning
> 20.                 SVNAutoversioning On
> 21.
> 22.                 # Repository Display Name
> 23.                 SVNReposName "Subversion Repository"
> 24.         
> 25.
> 26.         
> 27.                 Order allow,deny
> 28.                 Allow from all
> 29.         
> 30.
> 31.         
> 32.                 Order allow,deny
> 33.                 Allow from all
> 34.         
> 35.
> 36. 



Re: Update of missing on non-working directory

2010-05-12 Thread Stein Somers

Why? The command executed successfully and reported what it did.


"ls /blah-blah ." successfully lists the . directory, but still returns 
an error code because of the user error in its first argument.


There may be a reason why svn chooses to almost ignore bad input but 
it's a surprise for sure.


--
Stein