Subversion Metadata Database Schema

2010-09-09 Thread Geoff Hoffman

I was wondering if anyone knows of a database schema that exists, preferably 
for MySQL, which would support all or most of subversion repository metadata?

Specifically I was thinking of the current difficulty we have in knowing things 
like:

- how many commits has user U done over the past month
- what trees did user U work on last week
- which trees have a deploy tag
- which trees are tagged with svn:external to path x/y
- what files changed inside a subtree from -r A:B

The only way I know of to get this information is svn log --verbose | grep 
some-keyword, however walking a large repository tree takes a lot of time and 
this requires advanced SVN knowledge. 

I was thinking of making a cron script, or a post-commit hook, which would add 
svn metadata to a mysql db so we can make searches against the svn metadata 
database instantaneous, and create a search UI for non-technical people to 
perform searches without command line svn experience.

I figured a project like this would exist, but I searched both tigris.org 
projects and the archives and came up empty handed.

TIA,

Geoff




Re: Two trunks in one repository?

2010-09-09 Thread Geoff Hoffman

We have hundreds of trees, each with their own trunk/ branches/ tags/ in one 
SVN repo. Works great. You may want to look at svn:externals. It may require 
re-thinking how you're using SVN a bit, but the payoff can be big. Basically 
you branch or tag anything shared, and load it into ProjectD using 

cd ProjectD
svn propset svn:externals local/path path/to/trunk_branch_or_tag

When you change files under path/to/trunk_branch_or_tag and svn up ProjectD, 
changes come streaming in.

HTH,

Geoff


- Original Message -
From: "Tech Geek" 
To: "Subversion Users" 
Sent: Thursday, September 9, 2010 10:38:51 AM
Subject: Two trunks in one repository?


So the concepts of trunks, branches, tags are transparent to SVN. We are in a 
situation where we might need to have two trunks in one SVN repository. The 
reason is that we have a family of projects - say ProjectA, ProjectB, ProjectC 
and so on, each one has it's own repository and have just one trunk (normal 
setup) since the each of these project has just one part. 

But now let's say we have a ProjectD which has two sub-systems - PartA and 
PartB whose code is 95% different. So we are thinking to have two trunks inside 
the ProjectD repository. We would prefer not to create an individual repository 
for PartA and PartB because we have decided to categorize each of the 
repository based on the family of Projects - ProjectA, ProjectB, ProjectC, 
ProjectD. 

Just wanted to know to get some thoughts from the experts on this mailing list 
regarding this setup. Any gotachs I need to watch out for? 

Thanks! 



Re: Two trunks in one repository?

2010-09-09 Thread Geoff Hoffman
SVN won't care, but our IDE may not like it like that. The only reason I 
brought up svn:externals before is if PartA and PartB are already in SVN as 
their own repos (or trees under one repo) then ProjectD doesn't want a copy of 
those projects code, but rather a reference to them.

Thus, on ProjectD you'd have 

svn propset svn:externals PartA ProjectA/tags/tagA1 PartB ProjectB/tags/tagB1

When you commit and update this, new folders appear (PartA and PartB) from svn 
checkout of tagA1 and tagB1 respectively. Update those tags or change externals 
to new tag, and your ProjectD gets the update at next svn up.



- Original Message -
From: "Tech Geek" 
To: "Erik Andersson" 
Cc: "Geoff Hoffman" , users@subversion.apache.org
Sent: Thursday, September 9, 2010 1:23:27 PM
Subject: Re: Two trunks in one repository?


I am thinking something like this: 

ProjectD 
ProjectD/PartA/trunk 
ProjectD/PartA/tags 
ProjectD/PartA/branches 
ProjectD/PartB/trunk 
ProjectD/PartB/tags 
ProjectD/PartB/branches 

Beleive me or not in our scenario the code of Part A and Part B never gets 
merged at any point. The only common part is that at the end of each release of 
Part A and Part B their output file is concetenated into a one single file 
which is then programmed on a hardware part by an external tool. 

So for a scenario like that I would like to keep it very simple. Any feedback 
or comments regarding the above structure? 

Thanks! 


Re: Managing modifications to an open source product

2010-10-14 Thread Geoff Hoffman
Dan, 

This isn't that much help but are you aware that svn export is exactly the same 
as svn checkout & run a script to delete all the .svn folders ...? The problem 
with stripping .svn from vendor checkout is then you cannot update it; you're 
forced to export the whole tree every time.

The method of having a working copy somewhere pointing to the vendor files, 
that you can svn update whenever you like, and then diff the changes into your 
tree is the easiest way to accomplish what you want, I think. 

What I would recommend is that you have two branches for this (plus trunk of 
your code):

[your stuff] => trunk-working-copy
[their stuff] => from-vendor-svn
[intermediate] = svn copy [your stuff -r HEAD]

Then at any time you can: 

svn up [their stuff]
svn copy [your stuff] => [intermediate]
(so you can do your diff/merge to an intermediate branch)
test on [intermediate] 
if it passes
merge it to trunk, delete [intermediate]

Bear in mind, not sure what OS you're on, but e.g. on Windows using Araxis 
merge, merging two or three trees is far (several orders of magnitude) simpler 
than using svn diff.

HTH,

Geoff


Re: can I checkout only a revision files ?

2010-10-20 Thread Geoff Hoffman
> On Wed, Oct 20, 2010 at 09:17, Andrea Antonio Maleci
>  wrote:
> Is it possible to checkout only files (not patch, but entire files)
> from a specific revision ?
> 
> From: Andy Levy [mailto:andy.l...@gmail.com] 
> Yes, use the --revision option for svn co.
>
>  "Andrea Antonio Maleci"  wrote:
>
> It retrieves entire repository at specified revision, not only the
> modified one...


Right, 

As others have said, you cannot 'svn co' files, 
you can only checkout directories.

The ability to export files exists, but to export 
only modified files is not built in, either. 

I've been trying to learn Bash scripting better 
and wrote the following.

If you're on Windows, install Cygwin. 

It may not be exactly what you 
want, because it exports the files 
instead of checking them out.

You have to do something like...

svn log --verbose -r 2345 | grep M > files.txt

...then something like... (vi svncomod.sh)

#!/bin/bash
FILE=$1
REPO=$2
while read line
do
for ARG in $line; do
F=${ARG}
if [ "$F" != M ]
  then
echo ${REPO}${F}
svn export ${REPO}${F}
fi
done
done < ${FILE}

... then...

chmod +x svncomod.sh

...and finally...

svncomod.sh files.txt http://path-to/repo


svn:externals and local directories

2010-10-20 Thread Geoff Hoffman
Hi SVN, 

We're stuck for the time being with server 1.4.2 but have updated our svn 
client(s) on Windows PCs (most of use Cygwin, CollabNet command line client and 
Tortoise) periodically over the last year or two.

About 7 or 8 months ago, we began using svn:externals heavily.

At the time, I could've sworn we got errors when trying to tell an external to 
stream in to a subdirectory that didn't exist, e.g. our svn:externals on 
/app/trunk looks like this, for an arbitrary web app:

modules/foo http://server/repo/path/to/foo/tags/01
modules/bar http://server/repo/path/to/bar/tags/02
modules/baz http://server/repo/path/to/baz/tags/03

In order for this to work, we had to create an empty `modules` folder under 
/app/trunk otherwise checking out would fail for foo, bar and baz externals.

Well, we recently hired some new people and started seeing modules folders 
disappearing from the repository. Nobody's complaining about breakage... and so 
we did some tests and realized that the client can create folders at arbitrary 
depths when building the path necessary for an external.

Can someone confirm this was changed recently for svn client? Otherwise I think 
I'm losing my mind because I swear this was not possible before. I tried to 
find the release notes for the different versions on the collabnet site but was 
unsuccessful. 

One other question about svn:externals. If you change or delete the local paths 
you're pointing your externals to, it leaves stray folders from before in the 
wc. Is this a bug or the intended behavior? Manually deleting these folders 
(not svn delete) works fine, but is there any more automated, foolproof way to 
check to see whether a certain tree in a wc has no reason for being there? (eg 
the external that created it it is no longer there?)

specifically:

svn propset svn:externals modules/foo http://server/repo/path/to/foo/tags/03
svn up
svn propset svn:externals modules/bar http://server/repo/path/to/bar/tags/02
svn up
svn ls
modules/foo
modules/bar

Why does foo stick around?

Thanks,
Geoff




Subversion 1.6 on Ubuntu Server 11.x

2011-06-10 Thread Geoff Hoffman
I posted about this on the Ubuntu forums but thus far nobody has replied.

When SSH'd into the box and using svn operations, I'm getting the dastardly
warning about my password is going to get stored to disk unencrypted.

I read about Subversion 1.6 security
changes
.
I read about Subversion 1.6 on Ubuntu Server over at
superuser.com
.
I read about gnome-keyring over at
stackoverflow
.

I've been doing a lot of reading on it.

I have done the following:

* installed gnome-keyring

*edited my ~/.subversion/config to turn
password-stores = gnome-keyring

edited my ~/.subversion/servers to
store-passwords = yes
store-plaintext-passwords = no

Thing is, I'm not using any GUI so it's still not working. Should I try
encfs ?

I read another post about a tool from CollabNet called keyring_tool but I
don't have it on this system. Where do I get that? I've never run into these
issues before (new distro, new svn version).

Any additional insight would be very much appreciated.


Re: Subversion 1.6 on Ubuntu Server 11.x

2011-06-11 Thread Geoff Hoffman
On Sat, Jun 11, 2011 at 8:27 AM, Nico Kadel-Garcia  wrote:

> On Fri, Jun 10, 2011 at 6:26 PM, Geoff Hoffman
>  wrote:
> > I posted about this on the Ubuntu forums but thus far nobody has replied.
> > When SSH'd into the box and using svn operations, I'm getting the
> dastardly
> > warning about my password is going to get stored to disk unencrypted.
> > I read about Subversion 1.6 security changes.
> > I read about Subversion 1.6 on Ubuntu Server over at superuser.com.
> > I read about gnome-keyring over at stackoverflow.
> > I've been doing a lot of reading on it.
> > I have done the following:
> > * installed gnome-keyring
> > *edited my ~/.subversion/config to turn
> > password-stores = gnome-keyring
> > edited my ~/.subversion/servers to
> > store-passwords = yes
> > store-plaintext-passwords = no
> > Thing is, I'm not using any GUI so it's still not working. Should I try
> > encfs ?
> > I read another post about a tool from CollabNet called keyring_tool but I
> > don't have it on this system. Where do I get that? I've never run into
> these
> > issues before (new distro, new svn version).
> > Any additional insight would be very much appreciated.
>
> I have *never* gotten the gnome keyrings working well with Subversion.
> I'm afraid there are a lot of subtly distinct implementations of the
> necessary toolchain out therem abd the lot of them tend to be pretty
> fragile.
>
>
Hmm.



> Frankly, I find it more effective, and safer, to use SSH keys and a
> key agent as necessary, with a key specifically dedicated to the SVN
> access. This can be mandated with "SVN_SSH='ssh -l username -i
> keyname'" to avoid using other keys.
>


I don't mind doing this, but is this something that goes in .bash_profile?

And would I then use svn+ssh://localhost/svn/repo/etc
instead of http://localhost/svn/repo/etc?





> The stored SSH public keys on the remote server can even be set to
> restrict access to only svnserve tunneling, even to read-only access.
> Coupled with the kind of single svn user account setup described in
> passing in the "Red Book", it's a better security model than giving
> all SVN clients shell access to the server.
>


Re: Questions

2011-06-13 Thread Geoff Hoffman
Why remove the Id keyword? Just delete the file (not svn delete, OS level
delete) then svn up.


On Mon, Jun 13, 2011 at 11:08 PM, Lorenz  wrote:

> Richard Cavell wrote:
> >[...]
> > How do I get my "$Id$" back?
>
> if there are no local changes to the file, you can just remove the
> svn:keywords property, delete the file and then perform an update on
> the wc.
>
> That will give you the state of the $Id$ keyword as it was initialy
> committed.
> --
>
> Lorenz
>
>


-- 
Geoff Hoffman
 Solutions Architect & LAMP Engineer
 Website: www.cardinalpath.com
 Email: ghoff...@cardinalpath.com
 Office: (480) 285-1622 x313
 Mobile: (480) 231-8323


Re: More questions

2011-06-14 Thread Geoff Hoffman
It's only a bad idea to use svn:externals if you don't know what they're for
and don't want to invest the time to learn.

If you do not want multiple copies of code, for instance, a library shared
by more than one app, then it is not only smart, it's the best (only) way to
do it.

If you only are going to ever put 1 application in your SVN repository you
don't need them.

If you never are going to share code between > 1 application in SVN, you
don't need them.

My $0.02.

I have some great examples for you. I do websites using a couple different
frameworks. Both frameworks have CMS's built for the back end. Both backends
use TinyMCE or CKEditor. All my apps also send email. Therefore I have 1
repo with CKEditor, 1 repo with TinyMCE, and 1 repo with SwiftMailer. All
the web apps in their own repos reference these libraries via svn:externals,
and it works great.




On Tue, Jun 14, 2011 at 12:34 PM, Stefan Hett  wrote:

>  Hi,
>
> More noob questions about svn...
>
> 1.  Is using externals a good idea?
>
> I've been told that it's generally a bad idea, and it feels to me like a
> bad idea, since it obfuscates what's going on in the repo.  Is it often done
> for professional projects?
>
> It depends on the use-case.
> There are situations where using externals are beneficial, but there are
> also several caveats related to externals.
>
> One real-life example we in our company had trouble with was with a 1.6
> repository where we wanted to replace externals with a real copy of the
> source (i.e. remove the external property and copy the real source to the
> folder). That lead to tree conflicts when merging/updating WCs/branches and
> took a lot more time than anticipated. That was especially a PITA since
> these externals weren't actually necessary in the first place.
>
> You might wanna check-out the issues related to externals which might give
> you a rough feeling of known bugs (search for "external" in the summary and
> optionally limit the search to issues for 1.6.x)
> http://subversion.tigris.org/issues/query.cgi
>
> Several of the known issues with externals have been dealt with in the
> upcoming 1.7 release, so things will improve with the next version beyond
> what has already been solved in the 1.6-branch.
>
> Another caveat of externals is that they are generally slower when doing an
> update, since each external has to be checked individually to verify wheter
> it's up-to-date in the WC.
>
> I tend to live with a rule of thumb here:
> Use externals where necessary, avoid them where possible.
>
> Regards,
> Stefan
>


Evil UTF-8 Character in filename in repo causing issues on my wc

2011-06-14 Thread Geoff Hoffman
I have a file with some (I believe) Portuguese characters in the filename
that someone managed to store in the repo without any problem, and I checked
it out without issues, too. However, now on my working copy, it thinks that
file is locally new.

I did an svn copy ok, but I can't seem to delete the evil one.

Thinking I can probably whack the directory completely and rebuild it, but
thought I'd mention it because I'm not sure if its a bug or a misconfigured
SVN server / client.


Netbeans is barfing on another one in a different directory:

Can't convert string from native encoding to 'UTF-8':
Brazil Air Plus XML Vers?\139o 2.0 .pdf

Even Terminal is having trouble:

MacbookPro:ClearSale geoffh$ ls -la
total 2160
drwxr-xr-x  8 geoffh  staff 272 Jun 14 16:09 .
drwxr-xr-x  6 geoffh  staff 204 Jun 13 21:26 ..
drwxr-xr-x  7 geoffh  staff 238 Jun 14 16:09 .svn
-rw-r--r--  1 geoffh  staff  705463 Jun 13 21:26 Integration_Manual_2.3.pdf
-rw-r--r--  1 geoffh  staff  127377 Jun 14 16:09
Manual_Integração_A_T-ClearSale_2.0.pdf
MacbookPro:ClearSale geoffh$ svn delete --force
Manual_Integração_A_T-ClearSale_2.0.pdf
MacbookPro:ClearSale geoffh$ svn status
!   Manual_Integração_A_T-ClearSale_2.0.pdf
MacbookPro:ClearSale geoffh$ ls -la
total 1904
drwxr-xr-x  7 geoffh  staff 238 Jun 14 16:11 .
drwxr-xr-x  6 geoffh  staff 204 Jun 13 21:26 ..
drwxr-xr-x  7 geoffh  staff 238 Jun 14 16:11 .svn
-rw-r--r--  1 geoffh  staff  705463 Jun 13 21:26 Integration_Manual_2.3.pdf
-rw-r--r--  1 geoffh  staff  127377 Jun 14 16:04
Manual_Integracao_A_T-ClearSale_2.0.pdf
MacbookPro:ClearSale geoffh$ svn status
!   Manual_Integração_A_T-ClearSale_2.0.pdf
MacbookPro:ClearSale geoffh$ svn commit . -m "Fixing evil PDF"
MacbookPro:ClearSale geoffh$ svn status
!   Manual_Integração_A_T-ClearSale_2.0.pdf
MacbookPro:ClearSale geoffh$


Now in NetBeans I get:

/Users/geoffh/Sites/zupper.ghoffman/external_docs/ClearSale/Manual_Integrac?a?o_A_T-ClearSale_2.0.pdf:
 (Not a versioned resource)

A problem occurred; see other errors for details

If I svn up it restores the evil file:

MacbookPro:ClearSale geoffh$ svn up
Restored 'Manual_Integração_A_T-ClearSale_2.0.pdf'
At revision 681.


Basically I can't delete or svn delete the offending file and successfully
commit.

Running Subversion 1.6.11 on RHEL 5.6


Re: Evil UTF-8 Character in filename in repo causing issues on my wc

2011-06-15 Thread Geoff Hoffman
On Tue, Jun 14, 2011 at 11:36 PM, Markus Schaber
wrote:

> Hi, Geoff,
>
> Von: Geoff Hoffman [mailto:ghoff...@cardinalpath.com]
>
> > I have a file with some (I believe) Portuguese characters in the
> filename that someone managed to store in the repo without any problem,
> and I checked it out without issues, too. However, now on my working
> copy, it thinks that file is locally new.
>
> Maybe it helps if you use a repo browser to rename the file to an
> ASCII-Only name directly in the repository?
>
> Regards,
> Markus Schaber
>


That's all I ever really wanted to do, but I cannot, at least, I don't know
how to type the characters in the filename of the file in svn without
copy-paste from the svn ls terminal output on Mac OS X, which I think has
already converted the filename it just printed, so I get a file not found
error when I try to rename or delete it. It may have worked if I had ssh'd
into the RHEL server, not sure. It's a bit unclear.

I was able to simply export the files, rename the files to ascii filenames
outside of SVN, trash the containing folder from the rep, recreate it, check
it out empty, add the ascii named files, and re-commit.


Re: For Siebel

2011-06-15 Thread Geoff Hoffman
On Wed, Jun 15, 2011 at 3:06 PM, Mudumbai, Venkat <
venkat.mudum...@mercer.com> wrote:

>  Hi,
> We are planning to user SUBVERSION & TortoiseSVN for our Siebel Tools as a
> source control tools.
> Siebel development using tools,  as it is a a object based environment,
> where in we checkout and check in the several objects like
> applets,buscomps,picklist,links etc.
>

okay...



> In my previous project we used VSS as the version control tools. In this
> when we check in a "sif"  of the  object checked in is created in the VSS
> Server.
>


I don't know what a "sif" is but SVN will store text and/or binary files
under version control without any problems.



> Siebel itself has a lock on the object created when an object is checkout.
> All we want is to know if the copy of the sif's whenever they are checked
> can be stored in Subversion, with details like who has checkedin, when it
> was cecked in.
>


Yes, that is exactly what it does. Here's some sample log output, gotten via
command line:
svn log --verbose svn+ssh://path-to-server/svn/repos/sites/client


r279 | fredjones | 2011-04-26 17:10:40 -0700 (Tue, 26 Apr 2011) | 1 line
Changed paths:
   M /sites/client/www/.htaccess
   M /sites/client/www/application/frontend/controllers/main.php
   M /sites/client/www/application/frontend/views/footer.php
   M /sites/client/www/application/frontend/views/header.php
   A /sites/client/www/application/frontend/views/menu.php
   D /sites/client/www/application/frontend/views/promotions.php

Changed the .htaccess file and made the template modular.


With this, you can see on Apr 26, fredjones modified 4 files, added one, and
deleted one



> Also want to know how many versions of an object can be stored.
>


Limited only by hard drive space where your repo is stored.


>
> Siebel is not a typical programming language.
>


There's no such thing as a typical programming language.



> My question is : Can we use this SUBVERSION as a version control tools for
> our siebel tools. Please let me know as soon as possible as we are planning
> to install this s/w and do the set up as soon as possible.
>


I don't see why not.

Regarding this part:
> Siebel itself has a lock on the object created when an object is
checkout.

The only thing is if you need Subversion to *not let Developer B checkout
file X if Developer A already has it checked out*... I'm not sure it will do
that. SVNt, by default, does not prevent checkout by Developer B. It expects
you to instead merge manually, and expects you (the svn repository
administrator, lead developer, etc) will do that part. If both Developer B
and A checkout file X and they both modify it, the person who checks in
first, gets their code into the repo without issue. The second developer
probably will get a commit failure, with a message that his working copy is
not up to date. He then has to merge his changes into the version in the
repository, which is newer than what he checked out (because it was modified
by the other developer's commit). It's not terribly difficult to manage
merged code, but it is not a check-in-check-out system it is a version
control system.

I hope that helps - good luck.


Re: Evil UTF-8 Character in filename in repo causing issues on my wc

2011-06-16 Thread Geoff Hoffman
On Wed, Jun 15, 2011 at 11:19 PM, Markus Schaber
wrote:

> Hi, Geoff,
>
> Von: Geoff Hoffman [mailto:ghoff...@cardinalpath.com]
> >>> I have a file with some (I believe) Portuguese characters in the
> >>> filename that someone managed to store in the repo without any problem,
> >>> and I checked it out without issues, too. However, now on my working
> >>> copy, it thinks that file is locally new.
> >> Maybe it helps if you use a repo browser to rename the file to an
> >> ASCII-Only name directly in the repository?
>
> > That's all I ever really wanted to do, but I cannot, at least, I don't
> know how to type the characters in the
> > filename of the file in svn without copy-paste from the svn ls terminal
> output on Mac OS X, which I think has
> > already converted the filename it just printed, so I get a file not found
> error when I try to rename or delete
> > it. It may have worked if I had ssh'd into the RHEL server, not sure.
> It's a bit unclear.
>
> I thought of some graphical repository browser (like the one built into
> TortoiseSVN for example, I guess such things also exist for MacOS), it lets
> you browse the repository and select the file to rename directly in the
> repository, without the need of a local checkout / working copy.
>
>

Yeah, if I had more time I probably should fiddle with it. Our one guy here
on Windows using Tortoise has no issues with the same file, so it is indeed
a problem specific to Mac, as Stefan pointed out. Given that the issue
presents itself in Terminal and NetBeans IDE, it's safe to say any other
graphical SVN client on Mac would complain, too, but I didn't test it. IIRC
the graphical clients are using the command line under the hood.


Re: Evil UTF-8 Character in filename in repo causing issues on my wc

2011-06-16 Thread Geoff Hoffman
On Thu, Jun 16, 2011 at 11:07 AM, B Smith-Mannschott
wrote:

> On Thu, Jun 16, 2011 at 18:24, Geoff Hoffman 
> wrote:
> >
> >
> > On Wed, Jun 15, 2011 at 11:19 PM, Markus Schaber <
> m.scha...@3s-software.com>
> > wrote:
> >>
> >> Hi, Geoff,
> >>
> >> Von: Geoff Hoffman [mailto:ghoff...@cardinalpath.com]
> >> >>> I have a file with some (I believe) Portuguese characters in the
> >> >>> filename that someone managed to store in the repo without any
> >> >>> problem,
> >> >>> and I checked it out without issues, too. However, now on my working
> >> >>> copy, it thinks that file is locally new.
> >> >> Maybe it helps if you use a repo browser to rename the file to an
> >> >> ASCII-Only name directly in the repository?
> >>
> >> > That's all I ever really wanted to do, but I cannot, at least, I don't
> >> > know how to type the characters in the
> >> > filename of the file in svn without copy-paste from the svn ls
> terminal
> >> > output on Mac OS X, which I think has
> >> > already converted the filename it just printed, so I get a file not
> >> > found error when I try to rename or delete
> >> > it. It may have worked if I had ssh'd into the RHEL server, not sure.
> >> > It's a bit unclear.
> >>
> >> I thought of some graphical repository browser (like the one built into
> >> TortoiseSVN for example, I guess such things also exist for MacOS), it
> lets
> >> you browse the repository and select the file to rename directly in the
> >> repository, without the need of a local checkout / working copy.
> >>
> >
> >
> > Yeah, if I had more time I probably should fiddle with it. Our one guy
> here
> > on Windows using Tortoise has no issues with the same file, so it is
> indeed
> > a problem specific to Mac, as Stefan pointed out. Given that the issue
> > presents itself in Terminal and NetBeans IDE, it's safe to say any other
> > graphical SVN client on Mac would complain, too, but I didn't test it.
> IIRC
> > the graphical clients are using the command line under the hood.
>
>
>
> On Thu, Jun 16, 2011 at 18:24, Geoff Hoffman 
> wrote:
> >
> >
> > On Wed, Jun 15, 2011 at 11:19 PM, Markus Schaber <
> m.scha...@3s-software.com>
> > wrote:
> >>
> >> Hi, Geoff,
> >>
> >> Von: Geoff Hoffman [mailto:ghoff...@cardinalpath.com]
> >> >>> I have a file with some (I believe) Portuguese characters in the
> >> >>> filename that someone managed to store in the repo without any
> >> >>> problem,
> >> >>> and I checked it out without issues, too. However, now on my working
> >> >>> copy, it thinks that file is locally new.
> >> >> Maybe it helps if you use a repo browser to rename the file to an
> >> >> ASCII-Only name directly in the repository?
> >>
> >> > That's all I ever really wanted to do, but I cannot, at least, I don't
> >> > know how to type the characters in the
> >> > filename of the file in svn without copy-paste from the svn ls
> terminal
> >> > output on Mac OS X, which I think has
> >> > already converted the filename it just printed, so I get a file not
> >> > found error when I try to rename or delete
> >> > it. It may have worked if I had ssh'd into the RHEL server, not sure.
> >> > It's a bit unclear.
> >>
> >> I thought of some graphical repository browser (like the one built into
> >> TortoiseSVN for example, I guess such things also exist for MacOS), it
> lets
> >> you browse the repository and select the file to rename directly in the
> >> repository, without the need of a local checkout / working copy.
> >>
> >
> >
> > Yeah, if I had more time I probably should fiddle with it. Our one guy
> here
> > on Windows using Tortoise has no issues with the same file, so it is
> indeed
> > a problem specific to Mac, as Stefan pointed out. Given that the issue
> > presents itself in Terminal and NetBeans IDE, it's safe to say any other
> > graphical SVN client on Mac would complain, too, but I didn't test it.
> IIRC
> > the graphical clients are using the command line under the hood.
>
> Yes, any graphical client working on a *working copy* on the mac would
> complain too.  But, a hypothetical graphical repo browser that
> operates directly on the repository isn't effected by HFS+'s unicode
> normalization.
>
> // ben
>



Ben, you're right.

SVNx doesn't have a rename feature that I could find, but I tried in
Versions (demo - w00t) and it worked.

Transcript log for repository "client" [svn+ssh://geoff@mycompany
/svn/repos/sites/client/trunk].
Subversion libraries version: 1.6.17

[Jun 16, 12:05:48] Renaming
"/branches/other/external_docs/Manual_Integração_A_T_2.0.pdf" to
"Manual_Integracao_A_T_2.0.pdf"...
Committed revision 696 by user "geoff".
[Jun 16, 12:06:01] Finished operation.


Re: Problem Loading Huge Repository

2011-06-16 Thread Geoff Hoffman
On Thu, Jun 16, 2011 at 4:05 PM, Bruno Antunes  wrote:

> Hi,
>
> As part of the work of my PhD thesis I need to load the ASF Subversion
> repository into my own local repository in order to mine and extract
> information from the repository without overloading the ASF servers.
>
> I have downloaded the repository dump and started loading it into my own
> repository. But the repository is huge (~45GB), and loading it using
> 'svnadmin load' will take me days (~15).
>
> I tried 'svndumpfilter' to filter out some projects but I get the error
> 'svndumpfilter: Unsupported dumpfile version: 3'. I'm using 'svndumpfilter'
> version 1.6.12. Is there any way to overcome this error?
>
> Do you know any faster way to load the dump file or to filter out some
> projects/revisions so I can speed up the process?
>
> Thank you in advance.
>
> Best regards,
> Bruno Antunes




Just a thought... Do you need the revision history or only the current
(head) revision?

Guessing if you do not need the revision history then it will be much
smaller and  faster to svn export their-stuff -r HEAD


Re: Problem Loading Huge Repository

2011-06-16 Thread Geoff Hoffman
Um...

separate revision range at a time... -r 6000:HEAD  ?
only individual directories at a time...  path/to/dir -r 6000:HEAD  ?

Or...
This is a bit out there but you could spin up and install subversion on a
4XL amazon EC2 instance, import it on this very, very fast (virtual)
machine, then the moment it is done, tar up the repository directory,
download it and use that... with that said that will probably be fairly
expensive to do but it will save you a lot of time. If money is no object
get a maxed out quad G5 with 64GB of memory. The ASF will fit in ram.

There's a financial solution to every problem.





On Thu, Jun 16, 2011 at 5:08 PM, Bruno Antunes  wrote:

>
> On Jun 17, 2011, at 24:59 , Geoff Hoffman wrote:
>
>
>
> On Thu, Jun 16, 2011 at 4:05 PM, Bruno Antunes  wrote:
>
>> Hi,
>>
>> As part of the work of my PhD thesis I need to load the ASF Subversion
>> repository into my own local repository in order to mine and extract
>> information from the repository without overloading the ASF servers.
>>
>> I have downloaded the repository dump and started loading it into my own
>> repository. But the repository is huge (~45GB), and loading it using
>> 'svnadmin load' will take me days (~15).
>>
>> I tried 'svndumpfilter' to filter out some projects but I get the error
>> 'svndumpfilter: Unsupported dumpfile version: 3'. I'm using 'svndumpfilter'
>> version 1.6.12. Is there any way to overcome this error?
>>
>> Do you know any faster way to load the dump file or to filter out some
>> projects/revisions so I can speed up the process?
>>
>> Thank you in advance.
>>
>> Best regards,
>> Bruno Antunes
>
>
>
>
> Just a thought... Do you need the revision history or only the current
> (head) revision?
>
> Guessing if you do not need the revision history then it will be much
> smaller and  faster to svn export their-stuff -r HEAD
>
>
> I need the entire revision history, because I need to extract historical
> information from the repository.
> But I could use the revision history from specific projects only, I don't
> need the entire repository, which contains all the ASF projects. The problem
> is I can filter these projects in the dump file.
>
> Best regards,
> Bruno Antunes
>


Re: User Template

2011-06-17 Thread Geoff Hoffman
On Fri, Jun 17, 2011 at 2:54 AM, Ryan Schmidt <
subversion-20...@ryandesign.com> wrote:

>
> On Jun 17, 2011, at 02:47, Hrishikesh Gokhale wrote:
>
> > I am new to SVN installation . I am unable to find a way to add a custom
> > template which would get fired up when a user performs a commit (in his
> editor)
>
> Subversion doesn't have this feature, sorry. You may be able to work around
> this by writing a custom EDITOR program.
>
>
>

Hrishikesh,

If you use vi as your editor (SVN_EDITOR), you may want to examine what can
be done with ~/.exrc

See http://grox.net/doc/unix/exrc.php

And/or you ought to be able to create a vi macro that inserts your commit
template with a couple keystrokes.


Re: xml-aware diff tools?

2011-06-20 Thread Geoff Hoffman
Try a visual diff tool such as Araxis Merge, Beyond Compare, etc.?

On Mon, Jun 20, 2011 at 8:24 AM, Les Mikesell  wrote:

> Are there any tools that would work with subversion to view xml file diffs
> in a more meaningful way than just the changed lines?
>
> --
>  Les Mikesell
>   lesmikes...@gmail.com
>
>


Re: How to setup SVN with HTTPS on Apache for Windows?

2011-06-22 Thread Geoff Hoffman
Get everything working as a regular http://server/svn/repo then get a cert
or self sign (not related to svn) and move your vhost to port 443 (open that
port on your firewall if applicable).


Re: branch question

2011-06-23 Thread Geoff Hoffman
Not in any general sense, no.


On Thu, Jun 23, 2011 at 1:27 PM, Phil Pinkerton wrote:

> Any issues with creating a branch from a branch? no trunk and no merge
> back to first branch ?
>
>
> Phil
>
>
>


Re: branch question

2011-06-23 Thread Geoff Hoffman
What I mean by that is, it may have ramifications down the road for *your
workflow* (I can't think of any obvious examples), but svn copy [from] [to]
works on any path, local or remote, as you would expect.

On Thu, Jun 23, 2011 at 1:57 PM, Geoff Hoffman wrote:

> Not in any general sense, no.
>
>
> On Thu, Jun 23, 2011 at 1:27 PM, Phil Pinkerton wrote:
>
>> Any issues with creating a branch from a branch? no trunk and no merge
>> back to first branch ?
>>
>>
>> Phil
>>
>>


Re: Moving an existing Repository to a newly created repository

2011-06-24 Thread Geoff Hoffman
You should be able to use regular old mv on the command line for this.
I just did this yesterday and was happily surprised that everything just
worked.
(Requires svn switch on the client side working copies.)


On Fri, Jun 24, 2011 at 11:28 AM, Tech Geek  wrote:

> All our SVN repositories are stored at /var/lib/svn.
>
> Let's say we have an existing repository called "ProjectA" i.e.
> /var/lib/svn/ProjectA. We created a brand new fresh repository called
> "Projects" like this /var/lib/svn/Projects.
>
> Now we would like to rename our existing repository "ProjectA" to
> simply "A" and then move it (maintaining all the revisions,
> prop-changes, etc.) under /var/lib/svn/Projects repository.
>
> So before:
> /var/lib/svn/
> /var/lib/svn/ProjectA
>
> After:
> /var/lib/svn/
> /var/lib/svn/Projects/A
>
> I tried using export/import command and also SVN move command from
> TSVN client but I am not able to figure out what's is the correct way
> to do this.


Re: Moving an existing Repository to a newly created repository

2011-06-24 Thread Geoff Hoffman
On Fri, Jun 24, 2011 at 2:28 PM, Tech Geek  wrote:

> > You should be able to use regular old mv on the command line for this.
> So,
> svadmin create /var/lib/svn/Projects # Create new repo Projects
> mv /var/lib/svn/ProjectA A   # Rename ProjectA to A
> and then?
> how do I move repository "A" under "Projects" repository?
>


Actually, trick question -- I was about to say svn copy -- but you can't use
svn copy between two different repositories, instead:

You use the *svnadmin dump* command to generate the dump data, and *svnadmin
load* to populate a new repository with it (see the section called
“Migrating a 
Repository”
).


Re: svn merge - get the last revision of a file(s)

2011-07-01 Thread Geoff Hoffman
Rui -

I'm not sure I understand what you're asking. Maybe an example would help.


Re: Branching Questions

2011-07-01 Thread Geoff Hoffman
> 3. What is the best way to lock the Trunk so only certain users can access
> it, using Hook Script or using admin tool?




> use Subversion's built-in path-based authorization or
> possibly some Apache configuration tweaks




I just followed this guide yesterday, coincidentally, and it worked
perfectly

http://davidwinter.me/articles/2006/03/03/access-control-for-subversion-with-apache2-and-authz/


Re: Trials with memcached

2011-07-07 Thread Geoff Hoffman
Tony -

Strange results to be sure. You probably thought of all this, but...
Did you check Memcached is working correctly without Subversion?
Did you check the results of checking out or updating the 2nd or 3rd time?
In other words, it may take longer the first time because every object in
the repo has to be checked for existence/expiry in the cache.
Did you check that you gave Memcached enough memory to fit the entire 250mb
repo (comfortably) in RAM?
If not then memcached itself tries to use swap space?
32-bit or 64-bit VM?
Did you try it on physical hardware?



On Thu, Jul 7, 2011 at 4:59 PM, Daniel Shahaf wrote:

> This doesn't address memcached directly, but there has been a /lot/ of
> work on server-side optimization and caching in 1.7 (also for
> non-memcached-backed caches).
>
>
> http://subversion.apache.org/docs/release-notes/1.7#server-performance-tuning
>
> You might want to take 1.7.0-alpha3 for a spin...
>
> Tony Butt wrote on Wed, Jul 06, 2011 at 15:20:27 +1000:
> > We are running subversion 1.6.17 on a vmware hosted server. We recently
> > reconfigured the server to give 4 virtual CPUs (up from 1), and a
> > significant amount of memory.
> >
> >
> > In order to spruce up our performance a little, I looked into the use of
> > memcached with subversion again, found the correct config parameter, and
> > set it up. Our server is running Ubuntu 10.04, Apache 2.2. Access
> > mechanism is http (of course). The client used is running Ubuntu 11.04,
> > and svn commandline (1.6.17 also)
> >
> > The results were interesting, to say the least.
> >
> > Checkout of a tree, about 250M in size:
> >
> > Without memcached, 1 1/2 to 2 minutes, varies with server load
> > With memcached, 12 minutes (!)
> >
> > Update of the same tree,
> > Without memcached, 9 seconds
> > With memcached, 14 seconds - repeated several times, similar results.
> >
> > I am not sure what anyone else's experience is, but we will not be
> > enabling memcached for subversion any time soon.
> > --
> > Tony Butt 
> > CEA Technologies
> >
>


Is it possible to svnsync across platform OS and SVN versions?

2011-07-08 Thread Geoff Hoffman
Do two SVN servers need to be running identical release versions in order to
use svnsync on them?

What about the OS?

I built an SVN server on Ubuntu server 10.04 LTS, --version says 1.6.6
(r40053)

Now my guys want me to mirror it read-only onto a Windows 7 box and since
most of the binaries I find to download are for 1.6.17,  I figured I'd check
with you guys first if this will (should) work.

Is there an SVN 1.6.6 binary for Windows 7 64-bit anywhere that you know of?


Thanks -

Geoff


Re: Doing svn checkouts on top of svn checkouts?????

2011-07-11 Thread Geoff Hoffman
This is a feature, yes. Subversion does allow your working copy to point to
> 1 svn path.

Sounds a lot like when you use svn:externals. This may be the more
"standard" way of achieving what you're talking about.

If you change code in [yourstuff] and [stuff pointing back to external's
home] then when you commit (in NetBeans anyway) it will show you a warning
about committing to multiple branches.

You can also svn update a specific file/dir to a specific (older, non-HEAD)
revision, though I've rarely if ever done this.

HTH-



On Mon, Jul 11, 2011 at 5:08 PM, Nico Kadel-Garcia  wrote:

> I just ran into a fascinating configuration where someone is doing
> Subversion checkouts on top of existing Subversion checkouts. I'd
> never even *THOUGHT* of pulling such a stunt, but it's apparently
> workable.
>
> I'm concerned, though, that any change in the source of the Subversion
> checkout to a branch or tag will simply break things, or any
> reloaction of the source repository component will also break things.
> I'm also concerned that, should someone mix and match components
> inside the working copy manually, things will break in fascinating
> fashion, or that locally modified components will only be updated, not
> actually replaced.
>
> Has anyone been using this feature? It seems to work to do an "svn
> checkout" on top of an existing working copy of the same URL or
> earlier releases, but I've not tried rolling back the revision number
> or other games. I could spend a bunch of time checkout out border
> cases, but would welcome insights.
>


Re: Doing svn checkouts on top of svn checkouts?????

2011-07-11 Thread Geoff Hoffman
Oh, I completely agree -- in the vast majority of cases you definitely want
to avoid doing it. I'm just explaining why it doesn't throw errors at you.

Cheers -

(This list is reply-above isn't it?)


On Mon, Jul 11, 2011 at 7:00 PM, Nico Kadel-Garcia  wrote:

> On Mon, Jul 11, 2011 at 9:20 PM, Geoff Hoffman
>  wrote:
> > This is a feature, yes. Subversion does allow your working copy to point
> to
> >> 1 svn path.
> > Sounds a lot like when you use svn:externals. This may be the more
> > "standard" way of achieving what you're talking about.
> > If you change code in [yourstuff] and [stuff pointing back to external's
> > home] then when you commit (in NetBeans anyway) it will show you a
> warning
> > about committing to multiple branches.
> > You can also svn update a specific file/dir to a specific (older,
> non-HEAD)
> > revision, though I've rarely if ever done this.
> >
> > HTH-
>
> I've not seen it documented anywhere. Frankly, I think it's very
> dangerous due to potential conflicts with accidentally left behind
> material, especially if "svn:ignore" is used.
>


Re: Doing svn checkouts on top of svn checkouts?????

2011-07-12 Thread Geoff Hoffman
>
> Geoff Hoffman wrote on Mon, Jul 11, 2011 at 18:20:41 -0700:
> > This is a feature, yes. Subversion does allow your working copy to point
> to
> > more than 1 svn path.
> >
>


On Mon, Jul 11, 2011 at 7:21 PM, Daniel Shahaf wrote:

> Geoff: you cannot point a single working copy item at more than one URL.
> (well, unless you create two externals with the same target file.  Don't
> do that.)
>


 You're right, Daniel. *item* yes.

To clarify what I meant - say you have Repo-A/Path-B and Repo-X/Path-Y. You
could cd into your working copy of Path-B and do svn checkout Repo-X/Path-Y
Y and end up with B/Y in your working copy such that changes under Y commit
to Repo-X and changes under B not under Y commit to Repo-A. I have a hunch
this (not throwing an error) is by design, because it is *almost* identical
to how svn:externals work.  I just tested this and Y shows up as ? when
doing svn status under B.


Re: Subversion: via Apache

2011-07-17 Thread Geoff Hoffman
Test your config with -t


Re: Subversion: list of respositories

2011-07-17 Thread Geoff Hoffman
On Sat, Jul 16, 2011 at 11:06 PM, Andy Canfield wrote:

> **
> How do you get a list of repositories from svnserver? The only way I can
> figure out is:
> *ssh usern...@example.com
> sudo bash
> ls -ld /var/svn/**
> And, of course, this makes an assumption about where on the server the
> repositories are located. There 'ought' to be an easier way.
>


Andy,
I read (skimmed) all your posts, and I'm a little confused but I think I
know where you're going. I'm not sure if you're using Apache to serve your
repositories. If you are, you should check out this:
http://davidwinter.me/articles/2006/03/03/access-control-for-subversion-with-apache2-and-authz/
and  this
https://help.ubuntu.com/community/Subversion

I recently followed the blog above and got everything setup how I think you
want it. You can control user access to multiple repos in three ways, the
blog explains it all, except one thing. I found that this is for
folder-level control on one repository:

[/]
@team = r
bob = rw

[/wowapp/trunk]
@team = r
@devteam = rw
brenda = rw


In my authz control file, multiple repositories are done like this (note the
repo name and colon):

[repoA:/]
@team = r
bob = rw

[repoB:/]
@team = r
@devteam = rw
brenda = rw


I also put websvn on it, and use the configuration option

$config->useAuthenticationFile('/path/to/your/authz/file');
which I found on this stackoverflow
QA
.
http://serverfault.com/questions/13853/how-do-i-restrict-repository-access-via-websvn


Re: Subversion access control

2011-07-20 Thread Geoff Hoffman
Andy,

I thought you were off Apache and onto svnserve. Anyway, I sent you this
info last week - maybe you missed it.  It is pasted again below. I will
grant to you that it is tricky to set up. The david winter blog post below
spells it out perfectly... for a single repo setup, multiple users. For
multi-user, multi-repo setup see my pasted config files below. One thing to
note that is confusing is that if your repos are at /subversion/repos/repo1
your  stays the same. The /svn bit there is what appears in
the URL address bar, its not a filesystem path.

I have 10 repositories, project1 through project10, physically located on
Ubuntu filesystem at
/svn/project1
/svn/project2
...
/svn/project10


Here is my /etc/apache2/mods-available/dav_svn.conf (the comments come with
the file. This was installed using apt-get on Ubuntu 10.04 LTS.)


  # Uncomment this to enable the repository
  DAV svn

  # Set this to the path to your repository
  #SVNPath /svn
  # Alternatively, use SVNParentPath if you have multiple repositories under
  # under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2, ...).
  # You need either SVNPath and SVNParentPath, but not both.
  SVNParentPath /svn
  SVNListParentPath on

  # From
http://www.redmine.org/projects/redmine/wiki/Repositories_access_control_with_apache_mod_dav_svn_and_mod_perl

  #Order deny,allow
  Deny from all
  Satisfy any

  # Access control is done at 3 levels: (1) Apache authentication, via
  # any of several methods.  A "Basic Auth" section is commented out
  # below.  (2) Apache  and , also commented out
  # below.  (3) mod_authz_svn is a svn-specific authorization module
  # which offers fine-grained read/write access control for paths
  # within a repository.  (The first two layers are coarse-grained; you
  # can only enable/disable access to an entire repository.)  Note that
  # mod_authz_svn is noticeably slower than the other two layers, so if
  # you don't need the fine-grained control, don't configure it.

  # Basic Authentication is repository-wide.  It is not secure unless
  # you are using https.  See the 'htpasswd' command to create and
  # manage the password file - and the documentation for the
  # 'auth_basic' and 'authn_file' modules, which you will need for this
  # (enable them with 'a2enmod').

  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd

  # To enable authorization via mod_authz_svn
  AuthzSVNAccessFile /etc/apache2/dav_svn.authz

  # The following three lines allow anonymous read, but make
  # committers authenticate themselves.  It requires the 'authz_user'
  # module (enable it with 'a2enmod').
  #
 Require valid-user
  #



Now, here is my /etc/apache2/dav_svn.authz file.


[groups]
group1 = usera, userb, userc, userd, usere
group2 = userc, userb
group3 = userf, userg
group4 = usera, userb, userc, userd, usere, userf
group5 = userh


[/]
@group1 = rw
@group2 =
@group3 =
@group4 =
@group5 =

[project1:/]
@group1 = rw

[project2:/]
@group1 = rw
userg = rw
userf = rw

[project4:/]
@group1 = rw

[project5:/]
@group11 = rw

[project6:/]
@group1 = rw
@group5 = rw

[project7:/]
@group1 = rw

[project8:/]
@group1 = rw

[project9:/]
@group1 = rw

[project10:/]
@group1 = rw
@group4 = rw


There is no need to send you the dav_svn.passwd - it merely lists usera
through userh with their hashed password. You use the htpasswd program to
set your users up.

Here is the email I sent before...

I read (skimmed) all your posts, and I'm a little confused but I think I
know where you're going. I'm not sure if you're using Apache to serve your
repositories. If you are, you should check out this:
http://davidwinter.me/articles/2006/03/03/access-control-for-subversion-with-apache2-and-authz/

and this  https://help.ubuntu.com/community/Subversion

I recently followed the blog above and got everything setup how I think you
want it. You can control user access to multiple repos in three ways, the
blog explains it all, except one thing. I found that this is for
folder-level control on one repository:

[/]
@team = r
bob = rw

[/wowapp/trunk]
@team = r
@devteam = rw
brenda = rw


In my authz control file, multiple repositories are done like this (note the
repo name and colon):

[repoA:/]
@team = r
bob = rw

[repoB:/]
@team = r
@devteam = rw
brenda = rw


I also put websvn on it, and use the configuration option

$config->useAuthenticationFile('/path/to/your/authz/file');
which I found on this stackoverflow
QA
.
http://serverfault.com/questions/13853/how-do-i-restrict-repository-access-via-websvn


Re: Subversion access control

2011-07-21 Thread Geoff Hoffman
On Wed, Jul 20, 2011 at 9:14 PM, Andy Canfield wrote:

> **
> Thank you very much.
>
>
> On 07/20/2011 12:19 PM, Nico Kadel-Garcia wrote:
>
> On Tue, Jul 19, 2011 at 11:14 PM, Andy Canfield 
>  wrote:
>
>  One thing has hit my mind today that I don't think you realize ...
>
> I have never, in my entire life, seen a working Subversion system.
>
> Apparently Subversion, as distributed, doesn't work - the access
> authentications are deliberately turned off.
>
>  I'm afraid it depends on your access requirements. Seriously. Which
> access technology are you using? svn+ssh (which I tend to recommend),
> or Apache (using https://), or svn directorly (svn://) Start with that
> and we'll walk you through it.
>
>
> OK, here goes.
>
> I would like to use http/https. I am not supposed to be working on the
> server, but on my notebook workstation. And svn or svn+ssh require port 3690
> to be forwarded by the router, and we don't own the router. So I would
> prefer http and/or https.
>
> But on the actual server https is screwed up because mod_dev_svn.so is a
> year earlier than Apache, and apparently there is a version mismatch. When
> svn is enabled apache is dead. I have put in a request for my friend to
> re-install, but that could take a week.
>
> So for the interim I have installed mod_dav etc. on my notebook computer.
> FYI it is running Ubuntu Linux 1.04. This is for testing.
>
> Directory /etc/apache2/modes-enabled contains the file dav.load with this
> contents:
> *LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so*
> That same directoy also contains the file dav_syn.load with these contents:
> *# Depends: dav
> LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
> LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so*
> That same directory also contains the file dav_svn.conf which I altered;
> this is the altered contents:
> *# dav_svn.conf - Example Subversion/Apache configuration
> #
> # For details and further options see the Apache user manual and
> # the Subversion book.
> #
> # NOTE: for a setup with multiple vhosts, you will want to do this
> # configuration in /etc/apache2/sites-available/*, not here.
>
> #  ... 
> # URL controls how the repository appears to the outside world.
> # In this example clients access the repository as http://hostname/svn/
> # Note, a literal /svn should NOT exist in your document root.
>
> 
>
>   # Uncomment this to enable the repository
>   DAV svn
>
>   # Set this to the path to your repository
>   #SVNPath /var/lib/svn
>
>   # Alternatively, use SVNParentPath if you have multiple repositories
> under
>   # under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2, ...).
>   # You need either SVNPath and SVNParentPath, but not both.
>   #SVNParentPath /var/lib/svn
>   SVNParentPath /data/svn
>
>
>   # Access control is done at 3 levels: (1) Apache authentication, via
>   # any of several methods.  A "Basic Auth" section is commented out
>   # below.  (2) Apache  and , also commented out
>   # below.  (3) mod_authz_svn is a svn-specific authorization module
>   # which offers fine-grained read/write access control for paths
>   # within a repository.  (The first two layers are coarse-grained; you
>   # can only enable/disable access to an entire repository.)  Note that
>   # mod_authz_svn is noticeably slower than the other two layers, so if
>   # you don't need the fine-grained control, don't configure it.
>
>   # Basic Authentication is repository-wide.  It is not secure unless
>   # you are using https.  See the 'htpasswd' command to create and
>   # manage the password file - and the documentation for the
>   # 'auth_basic' and 'authn_file' modules, which you will need for this
>   # (enable them with 'a2enmod').
>   #AuthType Basic
>   #AuthName "Subversion Repository"
>   #AuthUserFile /etc/apache2/dav_svn.passwd
>   AuthType Basic
>   AuthName "Lenny Subversion Repository"
>
>   AuthUserFile /etc/apache2/dav_svn.passwd
>
>   # To enable authorization via mod_authz_svn
>   #AuthzSVNAccessFile /etc/apache2/dav_svn.authz
>
>   # The following three lines allow anonymous read, but make
>   # committers authenticate themselves.  It requires the 'authz_user'
>   # module (enable it with 'a2enmod').
>   #
> #Require valid-user
>   #
> *
> *  Require valid-user*
> *
> 
> *
> By the way, all three of the above files in /etc/apache2/mods-enabled are
> actually symbolic links to the same file name in ../mods-available.
>
> I used sudo htpasswd to create the /etc/apache2/dav_svn.passwd file:
> *andy:4izmp7W8TSqww*
>
> Also I created my subversion directory like this:\
> *sudo bash
> mkdir /data/svn
> chmod a+w /data/svn*
> *ls /data/svn
> **drwxrwxrwx 2 root root 4096 2011-07-21 10:53 /data/svn*
>
> Now I point my browser to http://localhost/svn and I get a prompt for a
> user name and password. If I type in my valid user name "andy" and a
> completely spurious password, I get prompte

Re: Subversion access control

2011-07-21 Thread Geoff Hoffman
>
>
>
> On Wed, Jul 20, 2011 at 9:14 PM, Andy Canfield 
> wrote:
>
>> **
>> Thank you very much.
>>
>>
>> On 07/20/2011 12:19 PM, Nico Kadel-Garcia wrote:
>>
>> On Tue, Jul 19, 2011 at 11:14 PM, Andy Canfield 
>>  wrote:
>>
>>  One thing has hit my mind today that I don't think you realize ...
>>
>> I have never, in my entire life, seen a working Subversion system.
>>
>> Apparently Subversion, as distributed, doesn't work - the access
>> authentications are deliberately turned off.
>>
>>  I'm afraid it depends on your access requirements. Seriously. Which
>> access technology are you using? svn+ssh (which I tend to recommend),
>> or Apache (using https://), or svn directorly (svn://) Start with that
>> and we'll walk you through it.
>>
>>
>> OK, here goes.
>>
>> I would like to use http/https. I am not supposed to be working on the
>> server, but on my notebook workstation. And svn or svn+ssh require port 3690
>> to be forwarded by the router, and we don't own the router. So I would
>> prefer http and/or https.
>>
>> But on the actual server https is screwed up because mod_dev_svn.so is a
>> year earlier than Apache, and apparently there is a version mismatch. When
>> svn is enabled apache is dead. I have put in a request for my friend to
>> re-install, but that could take a week.
>>
>> So for the interim I have installed mod_dav etc. on my notebook computer.
>> FYI it is running Ubuntu Linux 1.04. This is for testing.
>>
>> Directory /etc/apache2/modes-enabled contains the file dav.load with this
>> contents:
>> *LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so*
>> That same directoy also contains the file dav_syn.load with these
>> contents:
>> *# Depends: dav
>> LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
>> LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
>> *
>> That same directory also contains the file dav_svn.conf which I altered;
>> this is the altered contents:
>> *# dav_svn.conf - Example Subversion/Apache configuration
>> #
>> # For details and further options see the Apache user manual and
>> # the Subversion book.
>> #
>> # NOTE: for a setup with multiple vhosts, you will want to do this
>> # configuration in /etc/apache2/sites-available/*, not here.
>>
>> #  ... 
>> # URL controls how the repository appears to the outside world.
>> # In this example clients access the repository as http://hostname/svn/
>> # Note, a literal /svn should NOT exist in your document root.
>>
>> 
>>
>>   # Uncomment this to enable the repository
>>   DAV svn
>>
>>   # Set this to the path to your repository
>>   #SVNPath /var/lib/svn
>>
>>   # Alternatively, use SVNParentPath if you have multiple repositories
>> under
>>   # under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2,
>> ...).
>>   # You need either SVNPath and SVNParentPath, but not both.
>>   #SVNParentPath /var/lib/svn
>>   SVNParentPath /data/svn
>>
>>
>>   # Access control is done at 3 levels: (1) Apache authentication, via
>>   # any of several methods.  A "Basic Auth" section is commented out
>>   # below.  (2) Apache  and , also commented out
>>   # below.  (3) mod_authz_svn is a svn-specific authorization module
>>   # which offers fine-grained read/write access control for paths
>>   # within a repository.  (The first two layers are coarse-grained; you
>>   # can only enable/disable access to an entire repository.)  Note that
>>   # mod_authz_svn is noticeably slower than the other two layers, so if
>>   # you don't need the fine-grained control, don't configure it.
>>
>>   # Basic Authentication is repository-wide.  It is not secure unless
>>   # you are using https.  See the 'htpasswd' command to create and
>>   # manage the password file - and the documentation for the
>>   # 'auth_basic' and 'authn_file' modules, which you will need for this
>>   # (enable them with 'a2enmod').
>>   #AuthType Basic
>>   #AuthName "Subversion Repository"
>>   #AuthUserFile /etc/apache2/dav_svn.passwd
>>   AuthType Basic
>>   AuthName "Lenny Subversion Repository"
>>
>>   AuthUserFile /etc/apache2/dav_svn.passwd
>>
>>   # To enable authorization via mod_authz_svn
>>   #AuthzSVNAccessFile /etc/apache2/dav_svn.authz
>>
>>   # The following three lines allow anonymous read, but make
>>   # committers authenticate themselves.  It requires the 'authz_user'
>>   # module (enable it with 'a2enmod').
>>   #
>> #Require valid-user
>>   #
>> *
>> *  Require valid-user*
>> *
>> 
>> *
>> By the way, all three of the above files in /etc/apache2/mods-enabled are
>> actually symbolic links to the same file name in ../mods-available.
>>
>> I used sudo htpasswd to create the /etc/apache2/dav_svn.passwd file:
>> *andy:4izmp7W8TSqww*
>>
>> Also I created my subversion directory like this:\
>> *sudo bash
>> mkdir /data/svn
>> chmod a+w /data/svn*
>> *ls /data/svn
>> **drwxrwxrwx 2 root root 4096 2011-07-21 10:53 /data/svn*
>>
>> Now I point my browser to http://localho

Re: Subversion access control / Linux users etc.

2011-07-21 Thread Geoff Hoffman
On Thu, Jul 21, 2011 at 4:54 AM, Andy Canfield wrote:

> **
> More user/command interaction -
>
> The commands to create the Subversion Repository Parent directory were
> *sudo bash
> mkdir /data/svn
> chmod a+w /data/svn*
> This created this directory:
> *drwxrwxrwx 4 root 4096 2011-07-21 17:36 /data/svn/*
>
> I ran this command as user root:
> *svnadmin create /data/svn/sample*
> and what I get is
> *drwxr-xr-x 6 root 4096 2011-07-21 11:08 /data/svn/sample/*
>
> I ran this command as user andy:
> *svnadmin create /data/svn/example*
> and what I got is
> *drwxr-xr-x 6 andy 4096 2011-07-21 17:36 /data/svn/example/*
>
> It concerns me that apache is running as user 'www-data' and niether of
> these repositories are owned by, or even writable by, www-data. So I did
> these commands:
> *sudo bash
> su www-data
> svnadmin create geronimo*
> The output of the last command was as follows:
> *svnadmin: Repository creation failed
> svnadmin: Could not create top-level directory
> svnadmin: Can't create directory 'geronimo': Permission denied*
> That surprises me; the /data/svn directory is writable by everyone. Ah
> well.
>
> The browser, when pointing to http://localhost/svn/RepoName, gives this
> answer
> *RepoName - Revision 0: /
> Powered by Subversion version 1.6.12 (r955767)*.
> This is true whether RepoName is 'sample' or 'example'. Of course, the only
> thing mod_dav_svn needs to do in this case is to read the repository, and
> all files and directories are readable by everyone, regardless of whether
> they are owned by root or andy.
>
> So the browser access mechanism has no commands to control a repository,
> only to describe it? Logically this might make sense; however I would expect
> that http://localhost/svn would be capable of listing the repositories and
> creating new repositories.. But when I point the browser to
> http://localhost/svn I get this response:
> *Forbidden
> You don't have permission to access /svn/ on this server.
> Apache/2.2.17 (Ubuntu) Server at localhost Port 80*
> When I look at /var/log/apache2/error.log I see these lines:
> *[Thu Jul 21 17:54:04 2011] [error] [client 127.0.0.1]
> Could not fetch resource information.  [403, #0]
> [Thu Jul 21 17:54:04 2011] [error] [client 127.0.0.1]
> (2)No such file or directory: The URI does not contain the name of
> a repository.
>  [403, #190001]*
> Ahah! So http://localhost/svn is NOT a valid Subversion URL. I was
> mistaken when I thought someone said that the Apache browser interface could
> give me a list of the repositories.
>
> PROBLEMS WITH THE 'SVN' COMMAND -
> As Linux user 'andy'. Here goes:
> *rm -rf .subversion
> ****svn info http://localhost/svn/sample --username='andy'
> --password=not-shown'*
> *Password for 'default' GNOME keyring:
> svn: OPTIONS of 'http://localhost/svn/sample': authorization failed:
> Could not authenticate to server: rejected Basic challenge (
> http://localhost)
> *The fact is that, as far as I know, I DON"T HAVE ANY %$#@! GNOME KEYRING!
> So when it asked for the Password for 'default' GNOME keyring I just pressed
> Enter. Then authenticiation failed.
>
> OK, so I have completely removed the gnome-keyring package. I also had to
> wipe out the ~/.gnome2/keywrings directory. Now to try again.
>
> Wait. Wait some more. Go down to 7/11; buy a hot dog and some potato chips.
> Come back home. It's been 20-30 minutes. Command still hasn't completed.
> Nothing in /var/log/apache2/error.log. Just a dead svn program. Had to kill
> -9.
>
> When it comes to plants, some people have a green thumb; I have a brown
> thumb. Looks like when it comes to Subversion I have a black thumb.
>
>

I feel for you, Andy. I had all these same problems you're having. The whole
gnome-keyring thing is a bad decision IMO, or at least, to use only
gnome-keyring or kwallet. Why they didn't leave the default password storage
options from 1.4x is a mystery. You are definitely not the first person to
have confusion and issues over this.

>From what I read they changed the behavior between Subversion server 1.4 to
1.5/1.6 to use this new/different authentication scheme. I never fixed that
on my server, either, on my server. I'm running Ubuntu Server 10.04 LTS and
there is no desktop so there is no gnome keyring. I just keep saying 'no'
when it asks to store plaintext passwords, and have to enter my password
every command I do. This is okay for me because 95% of the commands I run
are not on the server but from a remote client, and my IDE, both of which
store my password for me.

http://blogs.collab.net/subversion/2009/07/subversion-16-security-improvements/

If *you are not* concerned about the security issues surrounding storing
plaintext passwords, then you can enable that option in the [global] section
of your /etc/subversion/servers file:

store-plaintext-passwords = yes

If *you are* concerned about secu

Re: Subversion access control

2011-07-22 Thread Geoff Hoffman
On Thu, Jul 21, 2011 at 11:19 PM, Andy Canfield wrote:

> I notice that you don't have any entries that read "... = r"; everyone who
> can read can write also. No need?
>


Yeah, I just don't have a use case for that. The RSS feed of a repo commits
from websvn is much more useful than read-only access to the server
(basically websvn provides read-only access in a browser, all nice and
pretty.)

I'm glad you got it working! It's worth it in the end.

The insurance policy that an SCM system provides is priceless.


Re: How to clean the working dir from .svn folders ?

2011-07-26 Thread Geoff Hoffman
I believe you can use a bash script similar to the following, but you may
need to set a flag from PHP so that cron running as root or admin has
permission to delete them. Hope it helps-

#!/bin/sh
echo "recursively removing .svn folders from"
pwd
rm -rf `find . -type d -name .svn`


Re: How to clean the working dir from .svn folders ?

2011-07-26 Thread Geoff Hoffman
>
>
>  *From:* Geoff Hoffman 
> *Sent:* Tuesday, July 26, 2011 4:05 PM
> *To:* users@subversion.apache.org
> *Subject:* Re: How to clean the working dir from .svn folders ?
>
> I believe you can use a bash script similar to the following, but you may
> need to set a flag from PHP so that cron running as root or admin has
> permission to delete them. Hope it helps-
>
>
> #!/bin/sh
> echo "recursively removing .svn folders from"
> pwd
> rm -rf `find . -type d -name .svn`
>
>

On Tue, Jul 26, 2011 at 7:32 AM, Damien Mistic  wrote:

> ‘rm’ is a not a Windows function, as I said I must run on all platforms,
> that’s why it’s better if subversion can do it itself [image: Sourire]
>
> Damien.
>


Ah - I thought someone mentioned cygwin ... sorry. Could you create a PHP
script specifically for this? There are lots of recursive directory walk
scripts online. I'm sure you have a reason why svn export won't work but are
you certain? That's what it's for. You can't export as 'original-dir-export'
next to your original-dir, delete the original-dir, rename the exported back
to same as original-dir?


wlEmoticon-smile[1].png
Description: Binary data


Re: How to clean the working dir from .svn folders ?

2011-07-26 Thread Geoff Hoffman
>>  *From:* Geoff Hoffman 
>> *Sent:* Tuesday, July 26, 2011 4:05 PM
>> *To:* users@subversion.apache.org
>> *Subject:* Re: How to clean the working dir from .svn folders ?
>>
>> I believe you can use a bash script similar to the following, but you may
>> need to set a flag from PHP so that cron running as root or admin has
>> permission to delete them. Hope it helps-
>>
>>
>> #!/bin/sh
>> echo "recursively removing .svn folders from"
>> pwd
>> rm -rf `find . -type d -name .svn`
>>
>>
>
> On Tue, Jul 26, 2011 at 7:32 AM, Damien Mistic <
> mistic100.fore...@hotmail.fr> wrote:
>
>>   ‘rm’ is a not a Windows function, as I said I must run on all
>> platforms, that’s why it’s better if subversion can do it itself [image:
>> Sourire]
>>
>> Damien.
>>
>
>
>
> Ah - I thought someone mentioned cygwin ... sorry. Could you create a PHP
> script specifically for this? There are lots of recursive directory walk
> scripts online. I'm sure you have a reason why svn export won't work but are
> you certain? That's what it's for. You can't export as 'original-dir-export'
> next to your original-dir, delete the original-dir, rename the exported back
> to same as original-dir?
>
>

On Tue, Jul 26, 2011 at 8:04 AM, Damien Mistic  wrote:

> Dir you read my first mail ?
> I repost it here :
>
> > Hi all,
> > so my problem is clear : I've a working dir and I want to clean it up
> from
> > all .svn folders, how to ?
> > Knowing that I'm working un CLI within exec() function of PHP.
> Unfortunately
> > I can't delete manually files and folders :
> >
> > Warning: unlink(svn/.svn/all-wcprops) [function.unlink]: Permission
> denied
> > in C:\wamp\www\lang_editor\include\functions.inc.php on line 325
> >
> > And the 'export' function is not what I want because my aim is to delete
> the
> > folder, not really get a clean copy.
> >
> > If there is no way I think we must add a new function to SVN, such as
> 'svn
> > unlink' or 'svn dissociate'
> >
> > Regards, Damien.
>



Yes, I read it, but I don't understand *why* export-and-rename won't work as
the end result would be indistinguishable from what you're saying you want.
You may be able to run PHP script with admin user rights on the command line
but it's different across platforms how to do this. Sorry I'm not more help.


wlEmoticon-smile[1].png
Description: Binary data


Re: Question about commit/udpate inside externals

2011-07-26 Thread Geoff Hoffman
On Tue, Jul 26, 2011 at 8:08 AM, Thomas Clement wrote:

> Hello list,
>
> I have a repository which contains an external to another repository with a
> fixed revision number.
> Something like: "-rxxx svn+ssh://..."
>
> I noticed I can make modifications inside this external and commit the
> modifications.
> At which point the external is actually above its fixed revision number
> (xxx+1 for example).
>
> "svn status" does not mention this particular state and "svn up" does not
> bring the external back to its fixed revision number.
>
> What bothers my is that doing a checkout of the repository will get me to a
> different state but doing "svn status" and "svn up" on my working copy does
> not alert me of that.
> How can I check if my externals are above their fixed revision number?
>
> Maybe it is just a bad idea to edit and commit inside externals?
>
>
> Regards,
> Thomas



Subversion will let you do this, because for others it may be desired. As
with most things, it depends on your use case. We had a similar one as
yours. You may want to set a tag for your externals, then yes, don't work on
it (don't commit to it). Have your external directory to also have trunk,
tags, branches. Work on the trunk in a separate area. Tag it. Set your
working copies to reference this tag. It's an easy thing to mess up. Most
IDE's will alert you upon commit that you are committing to multiple
branches...


Re: How to clean the working dir from .svn folders ?

2011-07-26 Thread Geoff Hoffman
On Tue, Jul 26, 2011 at 9:27 AM, Damien Mistic  wrote:

> And I maintain the final aim is absolutely not the same as ‘export’ does.
>


If you say so. I'm not sure how that could be possible given my
understanding of the svn export command. Anyway, glad you got it sorted out!


Re: svn update via HTTPS works 95% of the time, then randomly shanks, "issuer not trusted"

2011-07-26 Thread Geoff Hoffman
Long shot here... this is probably off base, as I am not that experienced
with lower-level SSL problems, but are you by chance using an issuer that
provides an intermediary certificate?

For example, to install an SSL cert from GoDaddy, you have to also include
the gd_bundle.crt. The Wikipedia article below makes me wonder if there is
just some network hiccups sometimes, trying to validate your certificate
chain authority.

>From http://en.wikipedia.org/wiki/Intermediate_certificate_authorities
> If the certificate was not issued by a trusted CA, the connecting device
> (e.g., a web browser) will then check to see if the issuing CA of the
> certificate was issued by a trusted CA, and so on until either a trusted CA
> is found (at which point a trusted, secure connection will be established)
> or no trusted CA can be found (at which point the device will usually
> display an error).


Re: svn update via HTTPS works 95% of the time, then randomly shanks, "issuer not trusted"

2011-07-26 Thread Geoff Hoffman
On Tue, Jul 26, 2011 at 1:20 PM, Dan Yost  wrote:

> On Tue, Jul 26, 2011 at 3:11 PM, Geoff Hoffman
>  wrote:
> > Long shot here... this is probably off base, as I am not that experienced
> > with lower-level SSL problems, but are you by chance using an issuer that
> > provides an intermediary certificate?
> > For example, to install an SSL cert from GoDaddy, you have to also
> include
> > the gd_bundle.crt. The Wikipedia article below makes me wonder if there
> is
> > just some network hiccups sometimes, trying to validate your certificate
> > chain authority.
> >>
> >> From http://en.wikipedia.org/wiki/Intermediate_certificate_authorities
> >> If the certificate was not issued by a trusted CA, the connecting device
> >> (e.g., a web browser) will then check to see if the issuing CA of the
> >> certificate was issued by a trusted CA, and so on until either a trusted
> CA
> >> is found (at which point a trusted, secure connection will be
> established)
> >> or no trusted CA can be found (at which point the device will usually
> >> display an error).
> >
> >
>
>
> Yes, and indeed this is a GoDaddy cert, with the bundle installed to
> keep the chain intact, so thus it does work that 95% of the time. I
> was thinking that the chain is all presented from the server to client
> in one fell swoop, with no need to go fetch anything else "out there"
> (not that you're suggesting that is what it needs to do--go outside to
> fetch something). But indeed, I suppose it could complicate the
> handshake in such a way as to cause this intermittent failure--would
> really like to be able to "watch" that happen via some kind of verbose
> log.
>
> Dan
>


If this *might* be the problem, I'm guessing that browsers do a better job
of "trying again a few times" than the svn client might. If you can simulate
what your workflow is doing in Firefox with the LiveHeaders plugin, you can
distill it down to a list of FQDNs that are required, then tracert them,
ping them, etc., to see if you have any dropped packets. Also IPs are a
straighter path than DNS names. It may not be easy for you to change
everything around, but if you switched it all to IP-based you could rule out
DNS being a problem.


Re: disable security hole in svn+ssh?

2011-07-28 Thread Geoff Hoffman
On Thu, Jul 28, 2011 at 7:29 AM, Andy Canfield wrote:


> Hold it right there. You're providing password based repository access
>> via HTTP, not HTTPS? Please rethink this unless you *want* the
>> passwords for this repository to be quite insecure and sniffable,
>> especially if you're using normal user login passwords.
>>
> If HTTP sends passwords in as plain text then yes, HTTPS is better. But I
> can't get HTTPS to work at all. I get the impression from googling that
> HTTPS requires a certificate, and I don't have a certificate. If I could
> generate my own certificate, we could tell our developers "Accept this
> certificate the first time you see it, and after that it will work every
> time."
>



> So there are actually four protocols that a workstation can use to access a
> Subversion repository: http, https, svn:, and svn+ssh. Assuming that I pick
> one, how do I turn the others off? If James Bond can access via https, how
> can we prevent him from using http and blowing the security? iIf James Bond
> has an ssh login account on the server, but should not be using Subversion
> at all,  how do we prevent him from using svn+ssh:? How do we prevent him
> from logging in and using file:? How do we prevent him from logging in and
> running svnadmin?
>



Wow Andy, you have really put SVN security through the ringer and bring up
some really good points. We're hosting svn behind our firewall on http and
so our users have to have a VPN to connect. This of course requires a
certain type of security appliance (several hundred bucks at a minimum.)

Some of our users have ssh login on the same box running svn but I never
thought to secure svnadmin or prevent svn+ssh so I never really thought
about it at the level you are doing. You can chroot users [2] into their
home dir if you go with svn+ssh... Matt's suggestion to generate ssh keys
for everyone is a good idea also (as well as making it simpler to connect in
a development workflow)

I would think https would be your best bet; you can make a self signed
certificate[1] but even an actual SSL isn't that hard to install and only
$20/yr from GoDaddy, for example. You can then detect http protocol with a
rewrite rule and redirect to https using mod_rewrite in either the vhost
container or .htaccess file.

Have you thought of getting some paid help from, e.g., CollabNet [3]? Maybe
well worth it in your case. (Case STUDY more like it!)


[1]
https://help.ubuntu.com/8.04/serverguide/C/certificates-and-security.html
[2] https://help.ubuntu.com/community/BasicChroot
[3] http://www.open.collab.net/consulting/


Re: Logging Subversion client HTTP requests

2011-07-30 Thread Geoff Hoffman
On Sat, Jul 30, 2011 at 3:56 PM, Manuel Lemos  wrote:

> I have already a pure PHP implementation


Manuel, didn't you also write whole Mailer library for PHPClasses.org and
start that site? When do you sleep?

You're speaking to svn server directly from PHP, with stream context or
exec( ) bridge somehow? I'm curious now.


Re: Logging Subversion client HTTP requests

2011-07-30 Thread Geoff Hoffman
On Sat, Jul 30, 2011 at 6:20 PM, Manuel Lemos  wrote:

> Hello,
>
> on 07/30/2011 09:16 PM Geoff Hoffman said the following:
>
> > I have already a pure PHP implementation
> >
> >
> > Manuel, didn't you also write whole Mailer library for PHPClasses.org
> > and start that site? When do you sleep?
>
> hahah good question. When you work full time on these stuff you do it for
> pleasure and too bad sleep does not allow you to do more in less time! :-)
>
>
>
> > You're speaking to svn server directly from PHP, with stream context or
> > exec( ) bridge somehow? I'm curious now.
>
> Actually I am using a long standing HTTP client which uses fsockopen by
> default but it can optionally switch to Curl for SSL requests.
>
> http://www.phpclasses.org/**httpclient<http://www.phpclasses.org/httpclient>
>
> Either way there is at least one SubVersion host on SSL  (BeanstalkApp)
> which is returning error 400 all the time.
>
> https://sschlapkohl.svn.**beanstalkapp.com/htmlform/**trunk/<https://sschlapkohl.svn.beanstalkapp.com/htmlform/trunk/>
>
> Anyway, I just realized if I use file_get_contents (with default stream
> context) which just sends a simple GET request with one Host: header, it
> works.
>
> So there is something specific to that Web server that is balking all
> requests with status 400. I suspect that it is not even related with
> SubVersion because even GET requests fail.
>
> Just let me know if you have any idea.
>
>
>

Does httpclient work if you switch it to the cURL option? You may need to
extend the class to provide https specific curl options [1].

[1]
http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/


Re: Do svn:externals changes need to be committed to work?

2011-08-02 Thread Geoff Hoffman
Hey André,

On Mon, Aug 1, 2011 at 6:54 PM, André Hänsel  wrote:

> I am trying to add an svn:externals definition to a working copy. I set the
> property on a directory and ran svn update on that directory, but nothing
> is
> fetched.
>

One of my favorite topics.

svn:externals is tricky to understand and use at first but very powerful and
worth learning.

The syntax is

svn propset svn:externals 'A B' C

Where:
 A is the name of the folder you want your external reference checked out
into (created);
 B is the URL to the external repository dir you want to reference in the
current working dir;
 C is the path to the local working dir folder on which you want to set the
svn:externals property

I think you created the folder first - let your externals definition create
the folder 'A'.

An example (from [2])

svn propset svn:externals 'akismet
http://plugins.svn.wordpress.org/akismet/trunk' .


Note the dot at the end. In this example, the svn:externals property is
being set on the current folder (probably htdocs/wp-plugins - just a hunch)

What most examples don't show you is to cd into the directory you want to
set the property on first then call it '.'  (no quotes, dot = current dir)

Also the SVN Book[1] says because this property is multi-line, better off
using svn editor (vi) versus trying it all on the command line as it is
"extra tricky" to do this way.

You can see why this is important; if you wanted to load all the wp-plugins
from their source repos you would need multiple svn:externals set on the
wp-plugins dir, one for akismet, another for w3 total cache, and so on. It
is *very* easy to accidentally erase all of the previously set externals
definitions if you try this on the command line.

Due to this I strongly recommend to use your IDE to load the existing
property value, edit it as desired, then save/set/apply/update.


I found this article:
> http://blogs.gnome.org/johannes/2008/02/20/svnexternals-for-noobs/
> However, from other documentation it's unclear to me if a commit is really
> necessary for svn:external to work. Of course, I don't want to commit an
> untested external definition.
>
> I am using TortoiseSVN 1.6.15 built with Subversion 1.6.16.
>


The order is, you apply the property with propset (you have just modified
only the property of the directory, nothing else.)
Svn status shows you '.' is modified. or 'wp-plugins' is modified.
Next, do an svn update. Your content from external repo defined, comes
streaming down, and `akismet` folder is created in
htdocs/wp-plugins/akismet.
Svn status still shows you only '.' is modified. or 'wp-plugins' is
modified.
Now, commit - only the dir props are commited

If your external code is also your own code (your own shared library in
another repo you control, for example) be very careful when changing stuff
in [working copy] and [external code] in same commit. Most IDEs will let you
do this, but warn 'You're about to commit to multiple repositories...' This
may be exactly what you want, but often it is not.


I recommend reading these

[1] http://svnbook.red-bean.com/en/1.5/svn.advanced.externals.html

[2]
http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/

HTH -


Re: best practice: accessing svn data without co

2011-08-09 Thread Geoff Hoffman
On Tue, Aug 9, 2011 at 11:27 AM, Jan Ciesko (GMAIL) wrote:

> Dear SVN users
>
> I would like to ask the following: is there a way to access svn data on the
> svn server without checking data out? I would need to create temporal tar'ed
> archive of a versioned directory that is then attached to a website. Both
> web- and svn-server are running on the same system.
>
> Thanks a lot for help.
> Best regards,
> Jan.
>


Jan,

Are you looking for svn export?


Re: Subversion on Drupal

2011-08-11 Thread Geoff Hoffman
On Thu, Aug 11, 2011 at 7:56 PM, Andy Canfield wrote:

> My goal in learning Subversion was to put our web site under version
> control. Now I have my doubts as to whether Subversion can handle it.
>
> The web site uses Drupal. And Drupal has the characteristic that much of
> the site is contained in a MySQL database. For example, if I install a
> module and set it up, the module is a disk file, but the configuration of
> that module is in the database. If I make a change, part of the change may
> be in a PHP code file on disk, part may be in the database. The database
> contains both user data and configuration data, intermingled.
>
> I could get Subversion to work. I would have a pre-commit script to back up
> the database to a disk file in the working copy. I would have a
> post-checkout script to reload the database from the disk file. Along with
> svn commit and svn checkout, this would give us the ability to roll back to
> any earlier version.
>
> What I can not imagine is how to get more than one person to be able to
> work on the site. Yes, Subversion would be able to merge changes to the disk
> files. But I don't see how Subversion can handle merging changes to the
> database. The MySQL database is text; perhaps someone here as experience
> with that. Can MySQL backup files be merged?
>
>

You'll need to analyze your app closely do it right, but it's absolutely
possible.

It's a daunting task for Drupal, WordPress, Joomla or any other CMS-driven
site and everyone who manages these type of sites deals with the issue
differently.

Subversion can handle whatever you svn commit. That's not the problem at
all. The filesystem files that make up your Drupal install are easy to
manage. You'll need to use svn:ignore on the uploads directory, cache, logs,
etc., but that's the easy part.

The tricky part is managing database schema under version control, and there
are myriad ways to output your db schema to a text file or files, try
phpMyAdmin for starters.

You have to plan your version control system to account for and
differentiate between dynamic/user-generated content in the database that it
needs to ignore, versus that which plays a critical role in the ui such as
dropdown items in forms.

You don't want your client's website content in your version control system
if you can avoid it, and with one well-written backup script you can achieve
it.

It goes without saying that you'll need at least one VM or additional
hosting account, virtual host on your server or other technique to develop
and/or stage your planned changes, too.


Changes are getting clobbered when working on remote svn files

2011-09-01 Thread Geoff Hoffman
We have a mixed development environment (Mac, Win, Linux).
We have an SVN 1.6 repo on the LAN (Ubuntu server 10.04 LTS).
We have a development server on the LAN (Ubuntu server 10.04 LTS).
(I don't think any of the hardware or software matters in this case, but
here it is anyway)

Most of us are running fully-local checkout working copies, editing hosts
file, NameVirtualHost on, using Netbeans, Textmate (Mac), Notepad++ on Win.

One of our developers "A" is storing his working copy checked out onto the
dev server and uses netbeans FTP to work on the files.

What we found is that he is somehow able to overwrite newer files in the
repository if he edits the same file.

In other words, if developer "B" changes file x/y.php at -r 400 and dev "A"
has checked out and is working on file x/y.php at -r 395 then when dev "A"
commits x/y.php at -r 405 it does not include "B"'s changes from -r 400.

We are guessing that either:
- he didn't svn up on the dev server; (claims he always does, of course)
- he didn't 'refresh folder' to grab the latest stuff from his
checkout/update
- he has a "local cached copy" he downloaded from the dev server to edit -
and somehow his IDE (NetBeans 6.9) is not realizing that the remote files
have changed.

or some combination thereof.

One would assume that remote server development and version control would
have been sorted out long ago and developer "A" should be getting a conflict
on commit, or a merge event at commit time, but this isn't the case.

What we now believe is that:

When saving to a remote project, FTP is overwriting the file, even if it has
been svn updated manually, and upon commit, it just sees the ftp-overwritten
file as the newest regardless of the change at -r 400.

I thought I would send this to the list to see if others have experienced
similar issues; and as a warning to look out for this scenario.

Cheers -
Geoff


Re: Changes are getting clobbered when working on remote svn files

2011-09-01 Thread Geoff Hoffman
On Thu, Sep 1, 2011 at 12:24 PM, Konstantin Kolinko
wrote:

> 2011/9/1 Geoff Hoffman :
> > We have a mixed development environment (Mac, Win, Linux).
> > We have an SVN 1.6 repo on the LAN (Ubuntu server 10.04 LTS).
> > We have a development server on the LAN (Ubuntu server 10.04 LTS).
> > (I don't think any of the hardware or software matters in this case, but
> > here it is anyway)
> > Most of us are running fully-local checkout working copies, editing hosts
> > file, NameVirtualHost on, using Netbeans, Textmate (Mac), Notepad++ on
> Win.
> > One of our developers "A" is storing his working copy checked out onto
> the
> > dev server and uses netbeans FTP to work on the files.
> > What we found is that he is somehow able to overwrite newer files in the
> > repository if he edits the same file.
> > In other words, if developer "B" changes file x/y.php at -r 400 and dev
> "A"
> > has checked out and is working on file x/y.php at -r 395 then when dev
> "A"
> > commits x/y.php at -r 405 it does not include "B"'s changes from -r 400.
> > We are guessing that either:
> > - he didn't svn up on the dev server; (claims he always does, of course)
>
> If you had access logs enabled on your server, you could verify it.
>
> > - he didn't 'refresh folder' to grab the latest stuff from his
> > checkout/update
> > - he has a "local cached copy" he downloaded from the dev server to edit
> -
> > and somehow his IDE (NetBeans 6.9) is not realizing that the remote files
> > have changed.
> > or some combination thereof.
> > One would assume that remote server development and version control would
> > have been sorted out long ago and developer "A" should be getting a
> conflict
> > on commit, or a merge event at commit time, but this isn't the case.
> > What we now believe is that:
> > When saving to a remote project, FTP is overwriting the file, even if it
> has
> > been svn updated manually,
>
> That is very likely to happen. If you just transfer a file it will
> likely to overwrite remote one, regardless of what changes have been
> there.
>


Yes it's almost certainly a problem with either FTP or the IDEs
implementation of that, not SVN.


> Why your developer is editing the file remotely if you have svn?
> Check it out locally, edit locally, commit locally and then go to
> remote server and svn up there.
>


It's due to - he has PHP 5.2x on his local and doesn't want to upgrade it
(for supporting another older PHP4x site with certain config) and we have
PHP 5.3x with some required other extensions on the dev server - so that's
the reason for doing it this way in only his case.



>
> BTW, you may ask on NetBeans forums, how the tool behaves.
>
>

I think I will - I had thought of that, it maybe a bug in NetBeans (or a
feature improvement request) although another developer here tried something
similar with Coda and the same thing happens.



> > and upon commit, it just sees the ftp-overwritten
> > file as the newest regardless of the change at -r 400.
> > I thought I would send this to the list to see if others have experienced
> > similar issues; and as a warning to look out for this scenario.
>
> Best regards,
> Konstantin Kolinko
>


Re: Changes are getting clobbered when working on remote svn files

2011-09-01 Thread Geoff Hoffman
On Thu, Sep 1, 2011 at 1:38 PM, Ryan Schmidt <
subversion-20...@ryandesign.com> wrote:

> On Sep 1, 2011, at 13:52, Geoff Hoffman wrote:
>
> > I thought I would send this to the list to see if others have experienced
> similar issues; and as a warning to look out for this scenario.
>
> What this should serve as is a reminder to all developers to use "svn diff"
> (or GUI equivalent) every time before you commit, to make sure the changes
> you're about to commit are actually the ones you intended to make. I'm
> almost certain your developer is overwriting a newer file with an older file
> via his FTP client or IDE, and is not noticing because he's not checking the
> diff.
>
>
The trouble here is that, the IDE is pushing a new version back to the
remote server where svn is running, which is where the changes are are being
lost. I think a solution isn't possible. What needs to happen is that when
you save a local version, the IDE should issue svn up on the remote server
to check for conflicts but it can't because it has only an FTP connection
available to it. Even if he logs in via SSH to the server and issues svn up
on the remote files (getting -r 400 of x/y.php correctly on the remote box),
the IDE with his changes to -r395 isn't smart enough to know that the file
has changed remotely (although it should, IMO, download a tmp copy to check
before ftp sync).

There is most certainly a method to operate in this fashion safely, however
it requires more manual steps to be followed meticulously. It's probably
safe to say that creating and working on a "remote project" is best suited
for a single developer (with svn running locally on the downloaded project
files) versus running svn on the remote machine.

We also had the idea to mount the project via Go -> Connect to Server... and
use svn "locally" on /Volumes/devserver/project but this is untested.


Re: Ignore development changes.

2011-09-19 Thread Geoff Hoffman
The way we do it is:

svn:ignore filename.ext

filename.local.ext
filename.stage.ext
filename.prod.ext

On local make a symlink to local version:
ln -s filename.local.ext filename.ext

On staging make a symlink to stage version:
ln -s filename.stage.ext filename.ext

On prod, make a symlink to prod version:
ln -s filename.prod.ext filename.ext

Our build scripts do the 2nd and 3rd automagically at deploy.

HTH -


On Mon, Sep 19, 2011 at 3:29 PM, Gavin Baumanis wrote:

> Hi Everyone,
> I am just after some advice on how other people solve the following issue.
>
> I have a committed file.
> When it is deployed, it needs to be in a state (lets call it state 1)
> While testing code locally, it needs to be in some other state (state 2)
>
> Short of altering the code to read like;
> if on dev server
>have state 1
> else
>have state 2
> fi
>
> How can I have a local change,
> but have "that" change temporarily ignored?
>
> My initial thought is to use the svn:ignore
> But that brings about the issue of, out of mind out sight... and if I ever
> need to do "real" changes to that file, they won't be picked up in svn
> status.
>
> The answer is quite likely not even a SVN once - but perhaps a procedure /
> system one.
>
> I am open to any and all suggestions of how people might solve this issue
> for themselves already.
> And as always - thanks for any ideas you might have.
>
>
> Gavin "Beau" Baumanis
>
>
>


Re: How to make password to store in Encrypted format

2011-09-20 Thread Geoff Hoffman
On Tue, Sep 20, 2011 at 7:03 AM, Bob Archer  wrote:

> > How to make password to store in Encrypted format
> >
> > When I checkout a code i got the following message. I was searching in
> the
> > net, I couldn't locate a proper document to avoid/configure svn password
> > locally encrypted. Any help in this regard is highly appreciated.
> >
> > Thanks,
> > Wang,bin
> >
> >
> ​​​---
> > ATTENTION! Your password for authentication realm:
> >
> > Test Project SVN
> >
> > can only be stored to disk unencrypted! You are advised to configure your
> > system so that Subversion can store passwords encrypted, if possible. See
> > the documentation for details.
> >
> > You can avoid future appearances of this warning by setting the value of
> the
> > 'store-plaintext-passwords' option to either 'yes' or 'no' in
> > '/home/AdmUsr/.subve​rsion/servers'.
> >
> ​​​---
>
> Did you " See the documentation for details."???
>
> " For other Unix-like operating systems, no single standard “keychain”
> service exists. However, the Subversion client knows how to store passwords
> securely using the “GNOME Keyring” and “KDE Wallet” services. Also, before
> storing unencrypted passwords in the ~/.subversion/auth/ caching area, the
> Subversion client will ask the user for permission to do so. Note that the
> auth/ caching area is still permission-protected so that only the user
> (owner) can read data from it, not the world at large. The operating
> system's own file permissions protect the passwords from other
> non-administrative users on the same system, provided they have no direct
> physical access to the storage media of the home directory, or backups
> thereof."
>
>
> http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.serverconfig.netmodel.creds
>
> BOb
>
>

Wang,

For the record we're running Ubuntu Server 10.04LTS and it has no desktop
GUI and I was not able to figure out how to use either gnome keyring or kde
wallet services to store passwords encrypted. After about 8 to 12 hours of
researching these methods and trying a variety of different things, I gave
up and was never able to store encrypted passwords; we all have IDEs that
store/send the password with each command and our SVN server is behind our
Firewall on our LAN, so it isn't that big of a deal for us.

They call it a "security improvement" for SVN 1.6 however it has resulted in
our case as no security (for users SSH'd into the svn server) because
implementing it
a) is too cumbersome
b) is beyond my skillset, or
c) appears to rely on a desktop UI

There appears to be some command-line ways of getting this functionality,
and here some posts about it...

http://stackoverflow.com/questions/3824513/svn-encrypted-password-store

http://blogs.collab.net/subversion/2009/07/subversion-16-security-improvements/

http://subversion.open.collab.net/ds/viewMessage.do?dsMessageId=325647&dsForumId=3

Probably the best bet is outlined here
http://superuser.com/questions/186575/whats-the-best-way-to-store-an-encrypted-svn-password-on-ubuntu-server
or here
http://blesseddlo.wordpress.com/2010/09/13/subversion-passwords-encrypted-with-gnome-keyring/
but I wasn't able to get it working.

Sorry; wish I had a better reply for you.
Good luck -


Re: How to make password to store in Encrypted format

2011-09-20 Thread Geoff Hoffman
>
>
> On Tue, Sep 20, 2011 at 7:03 AM, Bob Archer  wrote:
>
>> > How to make password to store in Encrypted format
>> >
>> > When I checkout a code i got the following message. I was searching in
>> the
>> > net, I couldn't locate a proper document to avoid/configure svn password
>> > locally encrypted. Any help in this regard is highly appreciated.
>> >
>> > Thanks,
>> > Wang,bin
>> >
>> >
>> ​​​---
>> > ATTENTION! Your password for authentication realm:
>> >
>> > Test Project SVN
>> >
>> > can only be stored to disk unencrypted! You are advised to configure
>> your
>> > system so that Subversion can store passwords encrypted, if possible.
>> See
>> > the documentation for details.
>> >
>> > You can avoid future appearances of this warning by setting the value of
>> the
>> > 'store-plaintext-passwords' option to either 'yes' or 'no' in
>> > '/home/AdmUsr/.subve​rsion/servers'.
>> >
>> ​​​---
>>
>> Did you " See the documentation for details."???
>>
>> " For other Unix-like operating systems, no single standard “keychain”
>> service exists. However, the Subversion client knows how to store passwords
>> securely using the “GNOME Keyring” and “KDE Wallet” services. Also, before
>> storing unencrypted passwords in the ~/.subversion/auth/ caching area, the
>> Subversion client will ask the user for permission to do so. Note that the
>> auth/ caching area is still permission-protected so that only the user
>> (owner) can read data from it, not the world at large. The operating
>> system's own file permissions protect the passwords from other
>> non-administrative users on the same system, provided they have no direct
>> physical access to the storage media of the home directory, or backups
>> thereof."
>>
>>
>> http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.serverconfig.netmodel.creds
>>
>> BOb
>>
>>
>
> Wang,
>
> For the record we're running Ubuntu Server 10.04LTS and it has no desktop
> GUI and I was not able to figure out how to use either gnome keyring or kde
> wallet services to store passwords encrypted. After about 8 to 12 hours of
> researching these methods and trying a variety of different things, I gave
> up and was never able to store encrypted passwords; we all have IDEs that
> store/send the password with each command and our SVN server is behind our
> Firewall on our LAN, so it isn't that big of a deal for us.
>
> They call it a "security improvement" for SVN 1.6 however it has resulted
> in our case as no security (for users SSH'd into the svn server) because
> implementing it
> a) is too cumbersome
> b) is beyond my skillset, or
> c) appears to rely on a desktop UI
>
> There appears to be some command-line ways of getting this functionality,
> and here some posts about it...
>
> http://stackoverflow.com/questions/3824513/svn-encrypted-password-store
>
>
> http://blogs.collab.net/subversion/2009/07/subversion-16-security-improvements/
>
>
> http://subversion.open.collab.net/ds/viewMessage.do?dsMessageId=325647&dsForumId=3
>
> Probably the best bet is outlined here
>
> http://superuser.com/questions/186575/whats-the-best-way-to-store-an-encrypted-svn-password-on-ubuntu-server
> or here
>
> http://blesseddlo.wordpress.com/2010/09/13/subversion-passwords-encrypted-with-gnome-keyring/
> but I wasn't able to get it working.
>
> Sorry; wish I had a better reply for you.
> Good luck -
>

Here is another thread that looks helpful

http://subversion.open.collab.net/ds/viewMessage.do?dsForumId=3&dsMessageId=393815


Re: SVN

2011-09-22 Thread Geoff Hoffman
Read this http://svnbook.red-bean.com/


On Thu, Sep 22, 2011 at 5:37 AM, Sukumar Gorai
wrote:

> Why we need SVN setup? And if is important then how to install? Please
> explain and how to use SVN?
>
> --
> Regards,
> Sukumar Gorai
> Jr. Software Developer
> Bluehorse Software
> email-sukumar.go...@bluehorse.in 
> Mob-+91-8296015120
>+91-9647555891
>


Re: Full text search engines for SVN?

2011-09-26 Thread Geoff Hoffman
On Mon, Sep 26, 2011 at 6:46 PM, Joshua J. Kugler wrote:

> Does anyone have any full-text search engines they'd recommend for
> Subversion?  I've found a couple geared specifically for subversion:
>
> http://www.supose.org/wiki/supose
>
> and
>
> http://svn-search.sourceforge.net/
>
> But they both appear to be rather abandoned.  And they require Tomcat
> (or similar) for their web front end.
>
> There is also OpenGrok, which looks fantastic, but is missing *the*
> feature I want from svn-search: it restricts results to the code the
> user can actually access.
>
> Suggestions?
>
> j
>
> --
> Joshua J. Kugler - Fairbanks, Alaska
> Azariah Enterprises - Programming and Website Design
> jos...@azariah.com - Jabber: pedah...@gmail.com
> PGP Key: http://pgp.mit.edu/  ID 0x73B13B6A
>



This was recently asked...


Re: Full text search engines for SVN?

2011-09-26 Thread Geoff Hoffman
On Mon, Sep 26, 2011 at 7:40 PM, Geoff Hoffman wrote:

>
> On Mon, Sep 26, 2011 at 6:46 PM, Joshua J. Kugler wrote:
>
>> Does anyone have any full-text search engines they'd recommend for
>> Subversion?  I've found a couple geared specifically for subversion:
>>
>> http://www.supose.org/wiki/supose
>>
>> and
>>
>> http://svn-search.sourceforge.net/
>>
>> But they both appear to be rather abandoned.  And they require Tomcat
>> (or similar) for their web front end.
>>
>> There is also OpenGrok, which looks fantastic, but is missing *the*
>> feature I want from svn-search: it restricts results to the code the
>> user can actually access.
>>
>> Suggestions?
>>
>> j
>>
>> --
>> Joshua J. Kugler - Fairbanks, Alaska
>> Azariah Enterprises - Programming and Website Design
>> jos...@azariah.com - Jabber: pedah...@gmail.com
>> PGP Key: http://pgp.mit.edu/  ID 0x73B13B6A
>>
>
>
>
> This was recently 
> asked...<http://svn.haxx.se/users/archive-2011-09/0247.shtml>
>

And 
answered...<http://www.google.com/custom?domains=svn.haxx.se&q=Svn+Searcher&sa=Search&sitesearch=svn.haxx.se&client=pub-9313125053076989&forid=1&channel=8989477434&ie=ISO-8859-1&oe=ISO-8859-1&cof=GALT%3A%230066CC%3BGL%3A1%3BDIV%3A%2399%3BVLC%3A336633%3BAH%3Acenter%3BBGC%3AFF%3BLBGC%3AFF9900%3BALC%3A0066CC%3BLC%3A0066CC%3BT%3A00%3BGFNT%3A66%3BGIMP%3A66%3BFORID%3A1%3B&hl=en>

Hope it helps you!


Re: Email notification on commit

2011-10-04 Thread Geoff Hoffman
On Tue, Oct 4, 2011 at 3:50 PM, Olga Kramer  wrote:

> Hi,
>
> Can someone point me to some detailed instructions on how to setup
> subversion to send email every-time one of my 3 users commits a file?
>
> I am running subversion on ubuntu v11.04.
>
> Thanks
> Olga
>

Hi Olga,

Maybe you already realize this but what you need is called a post-commit
hook. Here's an example:

http://mikewest.org/2006/06/subversion-post-commit-hooks-101


Re: How to recover deleted directory in repository?

2011-10-08 Thread Geoff Hoffman
On Sat, Oct 8, 2011 at 8:38 PM, Xiang Liu  wrote:

> Hi, everybody
>
> I have removed a directory by mistake.
>
> > svn del https://pl3.projectlocker.com/gnwd/notes/svn/a_dir
>
> So, How can I recover it?
>
> Thanks.
> xiang
>

Xiang-

What I would do is pick a new location on your machine and export the parent
directory of where your directory used to be (the svn dir above?) and force
the revision number of the repository to be what it was, when a_dir used to
exist. If your repo is at -r 10 now but the folder existed at -r 9, do
something like:

#> cd /other/dir
#> svn export https://pl3.projectlocker.com/gnwd/notes/svn -r 9 svn
Exported revision 9

now you will have a new svn folder at /other/dir/svn, you can then copy the
a_dir inside there back to your working copy and commit it back to the
repository

cp svn/a_dir /path/to/workingcopy/gnwd/notes/svn/

now if you cd to your working copy dir and do a svn status, you can see
these a_dir files are just a new unversioned directory

#> cd /path/to/workingcopy/gnwd/notes/svn
#> svn add a_dir
A foo.c
A bar.c
etc
#> svn commit -m "Restored a_dir"
Committed revision 11.

Hope that helps -


Re: How to recover deleted directory in repository?

2011-10-09 Thread Geoff Hoffman
On Sun, Oct 9, 2011 at 1:00 AM, Ryan Schmidt <
subversion-20...@ryandesign.com> wrote:

> On Oct 9, 2011, at 00:45, Geoff Hoffman wrote:
>
> > On Sat, Oct 8, 2011 at 8:38 PM, Xiang Liu wrote:
> >
> >> I have removed a directory by mistake.
> >>
> >> > svn del https://pl3.projectlocker.com/gnwd/notes/svn/a_dir
> >>
> >> So, How can I recover it?
> >
> > What I would do is pick a new location on your machine and export the
> parent directory of where your directory used to be (the svn dir above?) and
> force the revision number of the repository to be what it was, when a_dir
> used to exist. If your repo is at -r 10 now but the folder existed at -r 9,
> do something like:
> >
> > #> cd /other/dir
> > #> svn export https://pl3.projectlocker.com/gnwd/notes/svn -r 9 svn
> > Exported revision 9
> >
> > now you will have a new svn folder at /other/dir/svn, you can then copy
> the a_dir inside there back to your working copy and commit it back to the
> repository
> >
> > cp svn/a_dir /path/to/workingcopy/gnwd/notes/svn/
> >
> > now if you cd to your working copy dir and do a svn status, you can see
> these a_dir files are just a new unversioned directory
> >
> > #> cd /path/to/workingcopy/gnwd/notes/svn
> > #> svn add a_dir
> > A foo.c
> > A bar.c
> > etc
> > #> svn commit -m "Restored a_dir"
> > Committed revision 11.
>
> If you do it that way, it will appear to Subversion (and yourself later,
> when you review the history) as though you created the directory an all its
> contents in revision 11. It will be completely disconnected from its
> previous history in the repository. "svn log" on this new directory will
> only go back to revision 11. "svn blame" will show it was created in
> revision 11. This is probably not what you want. You probably want to bring
> the directory back from the past, linked with all its prior history.
>
> To do that, instead copy it from its prior repository location with svn cp:
>
> cd /path/to/workingcopy/gnwd/notes/svn
> svn cp https://pl3.projectlocker.com/gnwd/notes/svn/a_dir@9 .
> # test, test, test
> svn ci -m "resurrecting a_dir from revision 9"
>
>
Ryan, your way is better. I thought that would create commit conflicts
though. It doesn't?


Re: First Hands-on Subversion—Where/How?

2011-10-28 Thread Geoff Hoffman
On Fri, Oct 28, 2011 at 11:00 AM, Pietro Moras wrote:

>   Dear Subversion cognoscenti,
>
> Seriously intentioned to explore what Subversion is all about, armed
> with good will and a good reference book (“Version Control with
> Subversion”, by Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael
> Pilato), I got immediately lost & stuck at the very first command:
>
> $ svn help
>
>
> ?] That said, where/how on earth could I get such Subversion grass-roots
> commands working?
>
>Is there any practical way, any practical tool, any practical good
> soul/good organisation where to find a test client-server setup where to
> (seriously) “play” with Subversion VCS? I'd be happy to begin even with a
> tiny a client-server set-up onto a machine of mine, would such a tool
> available; even no idea whether such a naïve idea of mine is feasible or
> not.
>
> Gratefully yours,
>
> - P.M.
> 
> Ref.:
> dr. Pietro Moras
> Email studio...@hotmail.com
>


Greetings Pietro,

Start here http://svnbook.red-bean.com/

Then I would recommend a Google search like  *install subversion
{platform_or_distro_you_use}*  -- for example here's a good quick overview
at Ubuntu https://help.ubuntu.com/community/Subversion

Remember, `Subversion` is both a client software and a server software, so
it doesn't do you much good to learn `svn ___` (client) unless you have
already used svnadmin to create a repository... (server). You can do this
all locally, or on a VM (I would recommend go this route, eg virtualbox, if
you're on Windows).

Post back here with more specific questions as you go.


Re: First Hands-on Subversion—Where/How?

2011-10-28 Thread Geoff Hoffman
On Fri, Oct 28, 2011 at 3:52 PM, Pietro Moras  wrote:

>  > more specific questions
>
> My pleasure, dear Geoff,
>Here you have some very Specific Questions.
>
> SQ1] How to get what I presume is a nice Subversion prompt:
>
> $
>
>

There is no prompt, other than terminal. Read the redbook please... or

#> svn --help

CollabNet ( http://www.collab.net/downloads/subversion/ ) makes the most
well known Windows ports of the software, with regular Windows installers
for the software. Look for Subversion Edge: A certified software stack
containing the latest versions of Subversion, Apache, and ViewVC:

That's the fastest way to get started on Windows, IMO. Used to be free,
don't know if it is anymore.

OR -- The other thing you might want to do is sign up for a free trial at
SpringLoops.com or Beanstalkapp.com -- there you can have the "Subversion
Server" part all figured out for you, so you can play with the client only.
Configuring the server is somewhat non-trivial for a beginner especially.


on one of my standard Windows machines, so to test the wonderful Subversion
> commands so eloquently described by the mentioned self-declared Official
> Guide and Reference Manual, so practically useless at the very beginning of
> a learning process; that is, exactly when you need most practical and
> effective information and support?
>
> SQ2] Why should I go scrabbling and begging via Google for practical,
> operative info, I'd reasonably expected to find right away at page 1 on the
> mentioned book, or at the page 1 on the Subversion web site?
>
>

Because lots of people have posted lots of info and tutorials on the topic.



> SQ3] Am I the first Subversion potential user starting from scratch?
>Everybody else knowing how to set-up a Subversion environment even
> before beginning to use it?
>


Nope, they all went to Google and the Redbean book.



> Of course thank you for pointing me to the right direction. Of course.
> All the best. Yours,
>  - P.M.
>
>

You're welcome -


Re: Where/How to get a Test Subversion Server

2011-10-29 Thread Geoff Hoffman
On Sat, Oct 29, 2011 at 10:52 AM, Stefan Sperling  wrote:

> There is no need to set up a server to try out Subversion.
>


On Sat, Oct 29, 2011 at 11:03 AM, Les Mikesell 
 wrote:
>
> Pretty much everything you can do with subversion will work with a
> local repository and file:/// references.   Do your initial
> testing/learning  that way




Sort of off topic of this thread, but even though I've used SVN for years,
the idea of running it locally without a server never occurred to me. I
thought 'distributed repositories' was Git's only/main benefit over SVN,
but if you have a local repository, I'm guessing you can work/commit
locally, then svn switch to your remote/work repository to commit to the
shared/compay repo? Is that right?


Re: GnomeKeyring: not entering passwords

2011-11-03 Thread Geoff Hoffman
On Thu, Nov 3, 2011 at 11:54 AM, Mark Phippard  wrote:

> On Thu, Nov 3, 2011 at 2:38 PM, rupert.thurner 
> wrote:
>
>> while looking for a possibility to help a user of subversion so he
>> does not need to type the server password all the time, i got hinted
>> to GnomeKeyring and seahorse. subversion offers to be compile with --
>> with-gnome-keyring option.
>>
>
> I had never heard of seahorse.  Looking at it, it seems to me like it is a
> GUI for using GNOME keyring to manage things like your SSH keys etc.  I do
> not think that is what you need.  GNOME keyring already provides a GUI for
> managing your keyring and this is tied to your login session.  What we did
> for our CollabNet binaries was write a small command line tool that uses
> the GNOME keyring API but gives you a simple command line interface.  I do
> not know why GNOME does not provide one.  I would be happy to share the
> source code if you want it.
>
> With this tool you can use the command line tool to create a keyring as
> well as unlock it.  The latter is what you would want to do when you login
> (after starting the keyring-daemon).
>
>

There have been several discussions about this in the past. If you haven't
already, definitely search the archives.
http://svn.haxx.se/users/


Re: 1st checkout of my life => network connection closed unexpectedly

2011-11-10 Thread Geoff Hoffman
> svn://:3690/svn_eclipse

What is the IP of the NAS on your LAN? it has to work at svn://
192.168.1.105/ first, before you can get to it from the net via your DynDNS
url.

Once you verified that you can connect from a PC on your LAN... check your
internet device eg cable/DSL router (login as admin @ 192.168.1.1)?

You may need to create a 'Service' for 'SVN'=>3960-3960, often under
'Gaming'.

(example IPs)


Re: 1st checkout of my life => network connection closed unexpectedly

2011-11-10 Thread Geoff Hoffman
On Thu, Nov 10, 2011 at 11:56 PM, lolveley  wrote:

> hello,
>
> here is the result of telnet :
>
> 
> [olivier@centos ~]$ telnet 192.168.1.66 3690
> Trying 192.168.1.66...
> Connected to 192.168.1.66.
> Escape character is '^]'.
> Connection closed by foreign host.
> 
>
> I can't figure out if it's a good message or not.
>
> for svnserve I didn't found the log file.Must I activate it?how?
>
> thanks
>
>
That is a typical message from telnet; I only used svn:// protocol once or
twice so I'm not much help there... To make sure, did you create a
repository (svn_eclipse?) and loaded something into it (SMS)?

Can you ssh onto the NAS and run

#> svn ls svn://localhost/svn_eclipse/**SMS

? It should give you some output about the contents of SMS.


Re: Difference between 'svn update' and 'svn checkout'

2011-11-12 Thread Geoff Hoffman
Wellington, are you by any chance trying to update your development server
working copy with your post-commit hook?  I'd recommend svn update or svn
update --force over checkout simply due to the fact that it only brings
changed files, not the whole repository (save network bandwidth, time, etc.)

If the dev server wc is on the same server as your svn it should be as
simple as

cd /var/www/path/to/wc
svn update .

That said, I've never fiddled with hook scripts; only read about them.

I'd love to see how you did this since I'd use it too... I just haven't
gotten around to it.


Re: small feature request: when checkout/update print out svn:external addresses

2011-12-09 Thread Geoff Hoffman
On Fri, Dec 9, 2011 at 5:24 AM, Stefan Sperling  wrote:

> On Fri, Dec 09, 2011 at 07:10:41AM +, Cooke, Mark wrote:
> > I don't use the command line much but could you not plit it over three
> lines?
> > {{{
> > Fetching external item:
> >  from : '...'
> >  into : '...'
> > }}}
>
> I like this idea.
>

Me too!


Re: Create a new working copy by cloning a subtree of an existing working copy?

2011-12-20 Thread Geoff Hoffman
On Tue, Dec 20, 2011 at 7:44 AM, Kuno Meyer  wrote:

> With SVN 1.7, is there a way to create a new working copy by cloning a
> subtree
> of an existing working copy?
>
> For example:
> - Already checked out:
>   wc1/
>   wc1/.svn
>   wc1/src
>   wc1/data
>   wc1/data/bin1
>
> - Desired: a new working copy of just the "data/" subtree:
>   wc2/
>   wc2/.svn
>   wc2/bin1
>
> A reason of doing this could be to improve performance.
>
> Thanks,
> Kuno
>
>

I believe if you simply copy the desired folder to a new location on your
hard drive (nothing to do with SVN) you'll have what you want.


Re: Create a new working copy by cloning a subtree of an existing working copy?

2011-12-20 Thread Geoff Hoffman
On Tue, Dec 20, 2011 at 9:01 AM, Cooke, Mark  wrote:

> > -Original Message-
> > From: Geoff Hoffman [mailto:ghoff...@cardinalpath.com]
> > Sent: 20 December 2011 15:59
> > To: Kuno Meyer
> > Cc: users@subversion.apache.org
> > Subject: Re: Create a new working copy by cloning a subtree
> > of an existing working copy?
> >
> > On Tue, Dec 20, 2011 at 7:44 AM, Kuno Meyer  wrote:
> >
> >
> >   With SVN 1.7, is there a way to create a new working
> > copy by cloning a subtree
> >   of an existing working copy?
> >
> >   For example:
> >   - Already checked out:
> > wc1/
> > wc1/.svn
> > wc1/src
> > wc1/data
> > wc1/data/bin1
> >
> >   - Desired: a new working copy of just the "data/" subtree:
> > wc2/
> > wc2/.svn
> > wc2/bin1
> >
> >   A reason of doing this could be to improve performance.
> >
> >   Thanks,
> >   Kuno
> >
> > I believe if you simply copy the desired folder to a new
> > location on your hard drive (nothing to do with SVN) you'll
> > have what you want.
> >
> That used to work pre 1.7 (as an unintended side-effect of the older
> working copy structure) but the new working copy structure (that moves all
> .svn data into the root directory) stops that from working...  That's now
> like "export"ing the sub-folder.
>
> ~ mark c
>

Wow, good to know. Thanks Mark.


Re: switch to ignore files that have not been checked in?

2012-01-11 Thread Geoff Hoffman
On Wed, Jan 11, 2012 at 6:45 PM, Andy Levy  wrote:

> On Wed, Jan 11, 2012 at 18:49, Steve Kelem  wrote:
> > I'm trying to add properties to a bunch of files that have a common file
> extension, but are not the only files in the directory/directories.
> >
> > I would like to run something like:
> >
> > svn propset svn:needs-lock '*' *.png *.jpg *.vsd
> >
> > The problem is that I have a number of temporary files in the working
> directory that match the pattern but are not and should not be checked in.
>  The problem with using the convenience of shell patterns is that
> subversion aborts as soon as it processes a file that is not already
> checked in.  It also aborts even if a file or directory has the svn:ignore
> property set.
> >
> > I don't know of an easy way to match all the files that match a shell
> pattern and are also already checked in. (Which would be a clunky
> workaround for not having the following:)
> >
> > I'd like to use a switch such as:
> >
> > svn --ignore-non-checked-in-files propset svn:needs-lock '*' *.png *.jpg
> *.vsd
> >
> > Does such a switch already exist?  Such a switch would tell subversion
> commands to silently ignore files and directories that have not been
> checked in.  The opposite already exists. If I run svn add *.png, the "svn
> add" command runs, but complains harmlessly if a file has already been
> checked in. "svn add" does not halt if it encounters a file that has
> already been checked in.
>
> Try the --force switch.
>


If I'm reading your post/question correctly you may need to (via your own
bash script) grep/sed/awk the output of svn status (for M's) and only svn
propset the ones matching your pattern.


Re: Automatic tagging

2012-02-23 Thread Geoff Hoffman
Tagging is simply an svn copy operation. svn copy is scriptable.
Does that help at all?


On Thu, Feb 23, 2012 at 10:07 AM, List Man wrote:

> Is there a way to tag a project based on some requirements?  I am trying
> to script it and I am coming up empty.  I am tired of manually tagging for
> each production deployment.  My research did not help enough.
>
>
> TIA,
>
> LS/
>

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


What's the process to svnsync a larger repository

2012-03-02 Thread Geoff Hoffman
I'm learning some gotchas with svnsync this week. As per my typical method
of learning I try 3 wrong ways before finally realizing the right way to do
most things.

We have about a 1GB svn repo on Ubuntu at -r 3738, and I'm trying to get it
mirrored on Win 7 running VisualSVN.

I created the mirror repository fine, ran svnsync init and svnsync sync on
it, then as it started going from -r 1, -r 2, -r 3..., I realized it would
take a week or more to fetch all nearly 4K commits.

So I stopped it, deleted it, started over and did an svnadmin dump -->
svnadmin load from the dump -- which ran/imported much faster, but now when
I try to initialize the sync, I get

svnsync: Cannot initialize a repository with content in it

D'OH! I forgot to svnsync init after creating the empty mirror repo. Whoops.

So, my question is, before I whack a perfectly fine "almost mirrored"
repository, can I svn propset -r 0 all the stuff needed by svnsync
manually, to start syncing at -r 3738?

Or can I set up the repo again (svnadmin create immediately followed by
svnsync init) and then svnadmin load (since load from a dump is so much
faster)?

It would seem odd that the only way to mirror a repo is to replay
everything from -r 0.

Thanks for your guidance!

Geoff

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Re: What's the process to svnsync a larger repository

2012-03-02 Thread Geoff Hoffman
Yeah I was just reading this:

"By default, the aforementioned basic requirements of a mirror are that it
> allows revision property modifications and that it contains no version
> history. However, as of Subversion 1.7, you may now optionally disable the
> verification that the target repository is empty using the
> --allow-non-empty option. While the use of this option should not become
> habitual (as it bypasses a valuable safeguard mechanism), it does aid in
> one very common use-case: initializing a copy of a repository as a mirror
> of the original. This is especially handy when setting up new mirrors of
> repositories which contain a large amount of version history. Rather than
> initialize a brand new repository as a mirror and then syncronize all of
> the history into it, administrators will find it *significantly* faster
> to first make a copy of the mature repository (perhaps using *svnadmin
> hotcopy*) and then use *svnsync initialize --allow-non-empty* to
> initialize that copy as a mirror which is now already up-to-date with the
> original."



Now here's the interesting part. I'm running svn 1.6 on the source repo,
1.7 on the mirror repo... (I think)



Geoff Hoffman
Solutions Architect & LAMP Engineer
_
Twitter: @m2guru <http://www.twitter.com/m2guru> |
@cardinalpath<http://www.twitter.com/cardinalpath>
LinkedIn: www.linkedin.com/in/geoffreydhoffman
Phone: 480.285.1622 x313
Mobile: 480.231.8323
_
www.cardinalpath.com<http://www.cardinalpath.com/?utm_source=signature&utm_medium=CPemail&utm_campaign=dEckman>
training.cardinalpath.com<http://training.cardinalpath.com/?utm_source=signature&utm_medium=CPemail&utm_campaign=dEckman>

*PublicInsite, VKI Studios, and WebShare have merged to form Cardinal Path*




On Fri, Mar 2, 2012 at 8:45 AM, Mark Phippard  wrote:

> On Fri, Mar 2, 2012 at 10:41 AM, Geoff Hoffman
>  wrote:
> > I'm learning some gotchas with svnsync this week. As per my typical
> method
> > of learning I try 3 wrong ways before finally realizing the right way to
> do
> > most things.
> >
> > We have about a 1GB svn repo on Ubuntu at -r 3738, and I'm trying to get
> it
> > mirrored on Win 7 running VisualSVN.
> >
> > I created the mirror repository fine, ran svnsync init and svnsync sync
> on
> > it, then as it started going from -r 1, -r 2, -r 3..., I realized it
> would
> > take a week or more to fetch all nearly 4K commits.
> >
> > So I stopped it, deleted it, started over and did an svnadmin dump -->
> > svnadmin load from the dump -- which ran/imported much faster, but now
> when
> > I try to initialize the sync, I get
> >
> > svnsync: Cannot initialize a repository with content in it
> >
> > D'OH! I forgot to svnsync init after creating the empty mirror repo.
> Whoops.
> >
> > So, my question is, before I whack a perfectly fine "almost mirrored"
> > repository, can I svn propset -r 0 all the stuff needed by svnsync
> manually,
> > to start syncing at -r 3738?
> >
> > Or can I set up the repo again (svnadmin create immediately followed by
> > svnsync init) and then svnadmin load (since load from a dump is so much
> > faster)?
> >
> > It would seem odd that the only way to mirror a repo is to replay
> everything
> > from -r 0.
>
> This is, in fact, a limitation of svnsync.  You can manually setup the
> properties on r0 as one option, or if you have svnsync from 1.7
> installed, you can use the new --allow-non-empty option on the init
> command and it essentially will do the same thing for you.
>
> --
> Thanks
>
> Mark Phippard
> http://markphip.blogspot.com/
>

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Re: What's the process to svnsync a larger repository

2012-03-02 Thread Geoff Hoffman
Sweet - if that works it'll save a lot of time. Can someone paste an svn
proplist --revprop -r 0 from a mirror repo so I can see all the stuff to
set?


On Fri, Mar 2, 2012 at 8:47 AM, Philip Martin wrote:

> Geoff Hoffman  writes:
>
> > So, my question is, before I whack a perfectly fine "almost mirrored"
> > repository, can I svn propset -r 0 all the stuff needed by svnsync
> > manually, to start syncing at -r 3738?
>
> Yes.  You need --revprop with the propset.
>
> --
> Philip
>

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Re: What's the process to svnsync a larger repository

2012-03-02 Thread Geoff Hoffman
On Fri, Mar 2, 2012 at 8:47 AM, Philip Martin wrote:

> Geoff Hoffman  writes:
>
> > So, my question is, before I whack a perfectly fine "almost mirrored"
> > repository, can I svn propset -r 0 all the stuff needed by svnsync
> > manually, to start syncing at -r 3738?
>
> Yes.  You need --revprop with the propset.
>
> --
> Philip
>



I'm going to try setting svn:sync-* props by hand first...

>From this post
http://journal.paul.querna.org/articles/2006/09/14/using-svnsync/
I guess I need to set four properties by hand...

$ svn proplist --revprop -r 0 ${TOREPO}

  svn:sync-from-uuid
  svn:sync-last-merged-rev
  svn:date
  svn:sync-from-url

I retrieved the uuid from the source repo like so

#> svn info http://localhost/svn/source-repo -r 3738
URL: http://localhost/svn/source-repo
Repository Root: http://localhost/svn/source-repo
Repository UUID: 9c96f4c0-7d9a-42f6-b8c8-54e79b961fad
Revision: 3738

Okay, the sync-from-url is easy, last-merged-rev is 3738... what format is
the svn:date in? Anyone know?

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Re: What's the process to svnsync a larger repository

2012-03-02 Thread Geoff Hoffman
On Fri, Mar 2, 2012 at 9:13 AM, Les Mikesell  wrote:

> On Fri, Mar 2, 2012 at 9:41 AM, Geoff Hoffman 
> wrote:
> > I'm learning some gotchas with svnsync this week. As per my typical
> method
> > of learning I try 3 wrong ways before finally realizing the right way to
> do
> > most things.
> >
> > We have about a 1GB svn repo on Ubuntu at -r 3738, and I'm trying to get
> it
> > mirrored on Win 7 running VisualSVN.
> >
> > I created the mirror repository fine, ran svnsync init and svnsync sync
> on
> > it, then as it started going from -r 1, -r 2, -r 3..., I realized it
> would
> > take a week or more to fetch all nearly 4K commits.
>
> Slow is one thing - but that sounds unreasonable.  Is there some
> network issue involved?  Maybe you can svnsync on a nearby machine,
> then copy or move the resulting repo once it is caught up.
>
> --
>   Les Mikesell
>lesmikes...@gmail.com
>


The speed issue is that I'm storing the mirror repo on a slow computer, on
a USB Drobo that is in turn being backed up to an online backup service.


Good news- Thanks guys, looks like I got it syncing forward from -r 3738!

Here's cmd output from Windows box -- hopefully it helps someone in the
future.


X:\Repositories>svn propset --revprop -r0 svn:sync-last-merged-rev 3738
http://mirror-server/svn/mirror-repo
property 'svn:sync-last-merged-rev' set on repository revision 0

X:\Repositories>svnsync sync http://mirror-server/svn/mirror-repo
svnsync: Destination repository has not been initialized

X:\Repositories>svn propset --revprop -r0 svn:sync-from-uuid
9c96f4c0-7d9a-42f6-
b8c8-54e79b961fad http://mirror-server/svn/mirror-repo
property 'svn:sync-from-uuid' set on repository revision 0

X:\Repositories>svn propset --revprop -r0 svn:sync-from-url
http://source-server/svn/source-repo http://mirror-server/svn/mirror-repo
property 'svn:sync-from-url' set on repository revision 0

X:\Repositories>svnsync sync http://mirrorr-server/svn/mirror-repo
Transmitting file data .
Committed revision 3739.
Copied properties for revision 3739.

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Re: What's the process to svnsync a larger repository

2012-03-02 Thread Geoff Hoffman
On Fri, Mar 2, 2012 at 9:25 AM, Les Mikesell  wrote:

> On Fri, Mar 2, 2012 at 10:20 AM, Geoff Hoffman
>  wrote:
> >
> >> > I created the mirror repository fine, ran svnsync init and svnsync
> sync
> >> > on
> >> > it, then as it started going from -r 1, -r 2, -r 3..., I realized it
> >> > would
> >> > take a week or more to fetch all nearly 4K commits.
> >>
> >> Slow is one thing - but that sounds unreasonable.  Is there some
> >> network issue involved?  Maybe you can svnsync on a nearby machine,
> >> then copy or move the resulting repo once it is caught up.
> >>
>
> > The speed issue is that I'm storing the mirror repo on a slow computer,
> on a
> > USB Drobo that is in turn being backed up to an online backup service.
>
> But you should be able to copy a whole repo, maintaining state as long
> as the target is reasonably similar.  I see you have gotten it to work
> another way, but you should have been able to do the initial catch-up
> sync on something faster, copy that repository where you want it, then
> resume the syncs to keep it updated.



This is pretty much exactly what I did, Les.

My other question from my initial post is, should I be doing it in exactly
this order:

// source-server
1. svnadmin dump source-repo > source.dump
2. tgz it and scp it to mirror-server
// mirror-server
3. svnadmin create mirror-repo
4. svnsync init here !! * // this is what I didn't do before*
5. svnadmin load ? or do you have to just let it sync from -r 0

With 1.6x and before, it may be just as easy to issue 3 propsets as above.
I think I'll write a blog post on this. There doesn't seem to be a single
concise procedure outlined anywhere on the net. Although, it's nice to
learn that svn 1.7+ added the --allow-non-empty option.

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Re: Feature request - SVN command to clean a working copy of all unversioned and ignored files and directories

2012-03-09 Thread Geoff Hoffman
On Fri, Mar 9, 2012 at 10:24 AM, Stefan Sperling  wrote:

> On Fri, Mar 09, 2012 at 01:56:34PM +, Simon Dean wrote:
> > Hi
> >
> > Are there any plans to add a command to SVN that cleans a working copy
> or path of all unversioned and/or ignored files and directories?
>
> There is a related open feature request in our issue tracker:
> http://subversion.tigris.org/issues/show_bug.cgi?id=3549
> As far as I know, nobody is currently working on this.
> You could add yourself to the Cc list there to be informed once the
> status of this issue changes.
>
>
I would +1 this feature although what this thread has taught me is that my
IDE (NetBeans) takes care of this automagically. I didn't realize it wasn't
built into SVN.

A couple of things I find interesting... the bug tracker you linked to is 3
years old and still on tigris.org. Assuming that is still the valid place
for tracking subversion features & bugs?

Hypothetically speaking, how would svn revert --recursive *--force* PATH be
different/better than svn cleanup *--remove-unversioned-files* PATH (a bit
verbose IMO)? I guess it does make more sense for the proposed feature to
be a switch on svn cleanup.

Cool idea/feature though.


Or, instead of waiting passively, you could try to compose a detailed
> design spec for this feature and send it for discussion to the dev@
> list. Once this discussion reaches consensus on the proposed design
> you could implement it and send a patch.
>


This is one of those features that shouldn't involve too much work,
> and where new contributors could get their feet wet with design and
> implementation work. And it is quite a popular feature request so anyone
> who designs and implements this will earn a good stash of community
> karma points.



This is such great advice. If as many people would give to open source as
take from it, imagine how much richer everything would be?

I went over to http://subversion.apache.org/download/ and
was surprised there doesn't seem to be an svn checkout option, even read
only?

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Re: Feature request - SVN command to clean a working copy of all unversioned and ignored files and directories

2012-03-09 Thread Geoff Hoffman
On Fri, Mar 9, 2012 at 11:34 AM, Stefan Sperling  wrote:

> On Fri, Mar 09, 2012 at 10:45:13AM -0700, Geoff Hoffman wrote:
> > A couple of things I find interesting... the bug tracker you linked to
> is 3
> > years old and still on tigris.org. Assuming that is still the valid
> place
> > for tracking subversion features & bugs?
>
> The issue tracker has not been migrated to apache.org yet.
> See http://subversion.apache.org/reporting-issues.html#queries
>
> The bug is 3 years old because someone had the same feature
> idea 3 years ago, filed an issue, and nothing has happened since.
>
> > Hypothetically speaking, how would svn revert --recursive *--force* PATH
> be
> > different/better than svn cleanup *--remove-unversioned-files* PATH (a
> bit
> > verbose IMO)? I guess it does make more sense for the proposed feature to
> > be a switch on svn cleanup.
>
> svn revert deletes some unversioned files in certain circumstances.
> This was recently discussed here:
> http://thread.gmane.org/gmane.comp.version-control.subversion.devel/134154
>
> In my opinion removing unversioned data is not the job of 'svn revert'.
> It is supposed to roll back the working copy into the state that it was in
> after the last checkout or update. In other words, it destroys changes
> made to *versioned* files and directories.
>
> Anyway, which subcommand this feature belongs in is a question that should
> be answered by a concrete design proposal. It doesn't really matter all
> that much.
>
> > This is such great advice. If as many people would give to open source as
> > take from it, imagine how much richer everything would be?
>
> Yes, and the world would be full of flying pigs, too!
>
> > I went over to http://subversion.apache.org/download/ and
> > was surprised there doesn't seem to be an svn checkout option, even read
> > only?
>
> See http://subversion.apache.org/source-code.html (linked from the
> very bottom of the download page -- perhaps not as easy to find as it
> should be).
>


Very helpful, as usual. Thanks Stefan.

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Quirk with svn:ignore

2012-03-19 Thread Geoff Hoffman
I ran into an unexpected behavior with svn:ignore today and wanted to see
if someone can verify whether this is a bug (in the current version) or
just an aspect of how Subversion works. We're still on 1.6x.

Given a tree with

trunk
   + cache
   + htdocs
   + logs
   + system

I have tried putting

cd trunk
svn propset svn:ignore logs/* .

...ignore everything in the *logs* directory, but the svn:ignore propset is
on *trunk*.
 This doesn't work -- that is, log files are not ignored as expected, but
shown as new files when running the project and svn status

However,

cd logs
svn propset svn:ignore * .

...setting svn:ignore * on logs, works.


For what it's worth, externals works fine this way, e.g.

cd trunk
svn propset svn:externals some/arbitrary/directory
http://svn-server/repo/folder .

// some/arbitrary/directory is created from the externally referenced
svn-server/repo/folder as expected

We were hoping to set all our externals and ignores on the trunk level
rather than sprinkling them throughout our project, but it doesn't seem
possible.

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Re: Quirk with svn:ignore

2012-03-19 Thread Geoff Hoffman
On Mon, Mar 19, 2012 at 9:32 AM, Giulio Troccoli <
giulio.trocc...@mediatelgroup.co.uk> wrote:

> Do you mean that the files are shown with an A in the first column?


No, they're shown as

? logs/error.log
? logs/access.log

But they're not automagically ignored, even though they match "logs/*"
which successfully is applied as an svn:ignore pattern on trunk.



On Mon, Mar 19, 2012 at 9:35 AM, Mark Phippard  wrote:

> That is exactly how the feature is supposed to work.  Described in book
> here:
>
> http://svnbook.red-bean.com/en/1.7/svn.advanced.props.special.ignore.html
>


Mark, I believe you, however I don't see which part of the docs you link to
addresses this case...

This part:

*
> Matches any string of characters, including the empty string



indicates it should work regardless where it's used.


And this part:

[image: [Tip]]
>
> Even if svn:ignore is set, you may run into problems if you use shell
> wildcards in a command. Shell wildcards are expanded into an explicit list
> of targets before Subversion operates on them, so running *svn SUBCOMMAND
>  ** is just like running *svn SUBCOMMAND file1 file2 file3*
>

indicates that even cd logs && svn propset svn:ignore * .  should fail if
there are no files inside of logs, correct? But it doesn't fail it works in
that case.

It seems to me that if my shell is indeed expanding asterisk character to a
list of files to ignore, then ignore * on logs should fail similarly until
explicit files are there to pass to svn:ignore command.

I'm attempting to ignore all future files & folders, "*", inside a folder
that is empty, before any files exist inside it. It's always worked for me
just putting ignore * on logs folder directly, I just never tried putting
it "one level up" before and was kind of confused as to why it didn't work.

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Re: Quirk with svn:ignore

2012-03-19 Thread Geoff Hoffman
Ahhh Rats.  Thanks I missed that.


On Mon, Mar 19, 2012 at 10:13 AM, Mark Phippard  wrote:

> in that same directory.

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Re: Quirk with svn:ignore

2012-03-19 Thread Geoff Hoffman
On Mon, Mar 19, 2012 at 10:16 AM, Giulio Troccoli <
giulio.trocc...@mediatelgroup.co.uk> wrote:

>
>
> On 19/03/12 17:11, Geoff Hoffman wrote:
>
>
>
>
> On Mon, Mar 19, 2012 at 9:32 AM, Giulio Troccoli <
> giulio.trocc...@mediatelgroup.co.uk> wrote:
>
>> Do you mean that the files are shown with an A in the first column?
>
>
>  No, they're shown as
>
>  ? logs/error.log
> ? logs/access.log
>
>  But they're not automagically ignored, even though they match "logs/*"
> which successfully is applied as an svn:ignore pattern on trunk.
>
>
>
> Ok, have you tried ignoring just logs rather than all files, I mean svn
> ps svn:ignore logs ? As Andy said, the * is expanded by your shell, so
> basically you won't ignore future logs.
>
> G
>


Yeah, Mark's right. svn:ignore is not designed to work anywhere other than
the current directory. :-/

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Re: Quirk with svn:ignore

2012-03-19 Thread Geoff Hoffman
On Mon, Mar 19, 2012 at 10:50 AM, Ryan Schmidt <
subversion-20...@ryandesign.com> wrote:

>
> On Mar 19, 2012, at 12:16, Giulio Troccoli wrote:
>
> > Ok, have you tried ignoring just logs rather than all files, I mean svn
> ps svn:ignore logs ?
>
> The logs directory has already been added and committed; telling
> Subversion to now ignore it will do nothing useful.
>


Correct, Ryan.

Mark nailed it. Subversion can only ignore patterns set on the current
directory. Or, it doesn't traverse into subdirectories looking for files to
ignore, even if you specify a pattern with a directory separator in it...
even if it seems totally logical that it should, and even though it accepts
an ignore pattern with a directory separator in it.

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Re: AuthzSVNAccessFile size issues

2012-03-22 Thread Geoff Hoffman
On Thu, Mar 22, 2012 at 9:11 AM, Joel Eidsath  wrote:

> I was just handed a large SVN install with thousands of users and
> hundreds of individual repositories. It is experiencing serious
> performance issues. I believe that it mostly boils down to a 14MB
> AuthzSVNAccessFile.
>
> What can I do to speed this up? Is there a database solution to use
> instead of the flatfile? Can I implement caching somehow? I am willing
> to code something up if I have to.
>
> Thanks for any help! Please CC me on any replies.
>
> Joel Eidsath
>


Joel,

Copying Dave's reply from an earlier thread this week. Sounds like it would
be really helpful for you:


-- Forwarded message --
> From: David Weintraub 
> Date: Tue, Mar 20, 2012 at 6:44 PM
> Subject: Re: preventing commits (this is *not* a classic hook question)
> To: mich...@huettermann.net
> Cc: bob.arc...@amsi.com, lesmikes...@gmail.com, nka...@gmail.com,
> users@subversion.apache.org
>
> I have a pre-commit hook that stores its configuration inside your
> repository. You'll need access to the Subversion server to set it up,
> but once it's setup, you can control access by checking out the
> control file from the repository, making your changes, and then
> checking it back in.
> This is a modification of a hook that I've been using for years.
> Originally, the control file was kept on the server -- usually inside
> the hooks directory. However, that meant logging onto the server, and
> that was getting too difficult to do all the time. Besides, this way,
> I can track who changed the control file and why.
> What prevents anyone from changing the control file? The control file
> is configured, so only the administrators can modify it.
> You can take a look at it at
> https://github.com/qazwart/SVN-Precommit-Kitchen-Sink-Hook. (Yes, a
> Subversion hook is stored in GitHub).

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Re: Put a tag in the wrong place

2012-04-25 Thread Geoff Hoffman
On Wed, Apr 25, 2012 at 8:22 AM, Andy Levy  wrote:

> On Wed, Apr 25, 2012 at 11:12, Geoffrey Myers
>  wrote:
> > I created a tag in my branches directory, can I simply move it to the
> tags
> > directory?  My google foo was not successful.
>
> Yes. Subversion preserves history through copies & moves.
>


If it were me I would just create the tag again (with the correct path info
this time) and svn delete the wrong one.

-- 


This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.


Re: Can't connect to SVN servers via HTTP-- could not read status line: connection was closed by server

2012-10-11 Thread Geoff Hoffman
I've seen that same message before many times, but always with my own
misconfigured http+mod_dav+dav_svn setup, never with someone else's working
repo.

Try https instead of http?
Check proxy settings?

Check here for more possibilities:
http://stackoverflow.com/questions/613149/svn-could-not-read-status-line-connection-was-closed-by-server
http://stackoverflow.com/questions/732681/tortoisesvn-couldnt-read-status-line-in-vm
http://stackoverflow.com/questions/783186/what-does-the-subversion-error-could-not-read-status-line-mean

Also, what version of svn are you running?
Did you build it or install the binary?
What platform?
Are you using a 3rd party client or command line?




On Thu, Oct 11, 2012 at 3:22 PM, Heiselt, Conan wrote:

> svn: OPTIONS of 'http://jquery-ui.googlecode.com/svn/trunk': Could not
> read status line
>

-- 


Connect with us on twitter , 
google+
, facebook , or 
linkedin
.

Catch our next training in Houston Oct 8 - 12 , 
Berkeley 
Oct 22 - 26 , Seattle Oct 29 - Nov 
2
, Phoenix Nov 12 - 16  or See 
All
.

This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.



Re: hello

2012-12-04 Thread Geoff Hoffman
Install Subversion<http://svnbook.red-bean.com/en/1.7/svn.intro.install.html>
.
Create a 
repository<http://svnbook.red-bean.com/en/1.7/svn.ref.svnadmin.c.create.html>
.
Configure 
access<http://wiki.wsmoak.net/cgi-bin/wiki.pl?Subversion/Configuration>
.
Initialize the 
defaults<http://www.svnforum.org/threads/35108-trunk-branches-amp-tags-directory-creation>:
eg

mkdir /usr/share/svn
svnadmin create /usr/share/svn/jon.myproject.com
svn mkdir file:///usr/share/svn/jon.myproject.com/trunk
svn mkdir file:///usr/share/svn/jon.myproject.com/tags
svn mkdir file:///usr/share/svn/jon.myproject.com/branches
svn import ~/jon.myproject.com file:///usr/share/svn/jon.myproject.com/trunk

Check out the 
trunk<http://stackoverflow.com/questions/927806/svn-checkout-the-contents-of-a-folder-not-the-folder-itself>
.
Do some work and commit it back to the
repo<http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.commit.html>
.





Geoff Hoffman
Solutions Architect & LAMP Engineer
phone +1 623.399.4918
mobile +1 480.231.8323
web CardinalPath.com <http://goo.gl/TuuiO>




On Tue, Dec 4, 2012 at 8:49 AM, Mahmoudhashemi, Azadeh <
mahmoudhash...@embedded.rwth-aachen.de> wrote:

>  Could you please how I can use the subversion repository?
> thanks
>

-- 


Connect with us on twitter <http://twitter.com/cardinalpath>, 
google+<https://plus.google.com/108076800625872227241/posts>
, facebook <http://www.facebook.com/CardinalPath>, or 
linkedin<http://www.linkedin.com/company/cardinal-path>
.

Catch our next training in San Jose Dec 3 - 7 <http://cpath.it/KuKfcx>, Los 
Angeles Dec 10 - 14 <http://cpath.it/JKe0UX>, Indianapolis Jan 7 - 
11<http://cpath.it/Xgo2Hk>
, Seattle Jan 14 - 18 <http://cpath.it/VQsQxW> or See 
All<http://cpath.it/Jkrs3s>
.

This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.



SVN Warnings W200000, W170000, E20009? What it means...

2013-02-07 Thread Geoff Hoffman
Did a full fresh checkout of a myproject this morning...

$ svn checkout http://server/svn/myproject myworkingdir
...
svn: warning: W20: Error handling externals definition for
'myproject/trunk/deploy/modules/foo':
svn: warning: W17: URL 'http://server/svn/library/trunk/foo/trunk' at
revision 310 doesn't exist
Checked out revision 45.

My externals definition has, in part:

http://server/svn/library/trunk/foo/trunk deploy/modules/foo

The foo module *did not* get checked out. Let's get some info on it:

svn info http://server/svn/library/trunk/foo/trunk
svn: warning: W17: URL 'http://server/svn/library/trunk/foo/trunk'
non-existent in revision 310

svn: E29: Could not display info for all targets because some targets
don't exist

Even stranger. Hmm, well, in fact, these modules were moved! One of my
colleagues did some house cleaning on our SVN server to remove the
trunk/foo/trunk issue that messes up composer. The fix was to reset the
externals to the proper path location where the module actually exists
(note, one less trunk folder, repo path to foo module moved one level up)...

svn propset svn:externals http://server/svn/library/foo/trunkdeploy/modules/foo
svn update
svn commit -m "Relocated module foo"

Hope it helps someone in the future.

-- 


Connect with us on twitter , 
google+
, facebook , or 
linkedin
.

Catch our next training in Chicago Feb 4 - 8 , Boston 
Feb 11 - 15 , St Louis Feb 25 - Mar 
1
, Vancouver Mar 4 - 8  or See All
.

This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.



Re: same upper and lower case directory name?

2013-02-19 Thread Geoff Hoffman
Les,

I would guess the answer is no. We've had issues on both Mac and Windows
with case sensitivity, unfortunately.

It's not a problem with Subversion, per se, but with the underlying file
system of case insensitive systems.





On Tue, Feb 19, 2013 at 2:57 PM, Les Mikesell  wrote:

> We have a project with some with paths like tags/QA/ that were
> created manually - for a mostly windows application.   Now we'd like
> to start using an automated tagging process that wants to make
> tags/qa/ (all lower) consistently across projects.  The repository
> resides on a linux server.   Is it possible for these pathnames to
> co-exist without confusing case-insensitive clients?
>
> --
>Les Mikesell
> lesmikes...@gmail.com
>

-- 


Connect with us on twitter , 
google+
, facebook , or 
linkedin
.

Catch our next training in St Louis Feb 25 - Mar 
1
, Vancouver Mar 4 - 
8
, New York City Mar 11 - 15 , Atlanta Apr 10 - 
12
 or See All .

This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.



Re: Question: svn list command

2013-02-20 Thread Geoff Hoffman
On Wed, Feb 20, 2013 at 10:02 AM, C M  wrote:

> The "svn list" command does not list directory entries if they are
> svn:externals.
>
> Assuming this is by design, is there a way for it list externals also?
>


cd into the local directory defined by your external, then svn list there.

-- 


Connect with us on twitter , 
google+
, facebook , or 
linkedin
.

Catch our next training in St Louis Feb 25 - Mar 
1
, Vancouver Mar 4 - 
8
, New York City Mar 11 - 15 , Atlanta Apr 10 - 
12
 or See All .

This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.



Re: Tagging svn:externals

2013-02-20 Thread Geoff Hoffman
Externals are separate repositories by design. You should reference
externals to a specific revision, or tag the externals first and rewrite
your externals to point to the tagged externals.




On Wed, Feb 20, 2013 at 10:28 AM, C M  wrote:

> It seems that SVN does not tag svn:externals.
>
> We have defined a structure such that child projects have link from a
> parent project.
>
> Parent project -> child project_1
>   -> child project_2
>   -> child project_3
>
> However, when you go to tag a release for a child, there's nothing in the
> /tags/Rel_X as I would normally expect.
>
> What's going on here?
> Amad
>

-- 


Connect with us on twitter , 
google+
, facebook , or 
linkedin
.

Catch our next training in St Louis Feb 25 - Mar 
1
, Vancouver Mar 4 - 
8
, New York City Mar 11 - 15 , Atlanta Apr 10 - 
12
 or See All .

This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.



Re: Graphical version tree

2013-04-03 Thread Geoff Hoffman
What platform?


On Wed, Apr 3, 2013 at 11:52 AM, Olivier Antoine
wrote:

> Hi,
>
> I'm beginning with Subversion,
>
> I'd like to know if there is a tool that could display a graphical
> representation of the version tree of a file?
>
> Regards,
> Olivier
>

-- 


Connect with us on twitter , 
google+
, facebook , or 
linkedin
.

Catch our next training in Atlanta Apr 10 - 
12
, San Jose Apr 15 - 
19
, Chicago Apr 22 - 
26
, Denver Apr 29 - May 
3
 or See 
All
.

This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.



Re: trunk naming best practice question

2013-05-06 Thread Geoff Hoffman
It's common to have

yourrepo
   /branches
   /tags
   /trunk

Each day, tag the trunk (svn copy) as /tags/ and build that in your
CI tool and push it to your testing server.

Branches are typically feature-related or release-related, e.g.
/branches/feature-name or /branches/development or /branches/v2.0alpha.
I've also seen it work where each developer has his/her own branch -
/branches/yourname /branches/hername.

Does that give you some ideas?





Geoff Hoffman
Solutions Architect & LAMP Engineer
phone +1 623.399.4918
mobile +1 480.231.8323
web CardinalPath.com <http://goo.gl/TuuiO>



On Mon, May 6, 2013 at 8:50 PM, Z W  wrote:

> Hi All
>
> For the trunk, what's the common practice to name a version of the trunk?
> We have a trunk and it's not ready for branching.
> We also feel that we need a more specific name for the trunk than what we
> have now called version=trunk.
> However, we can't be specific since we don't know what the branch name
> would be while at the same time, we need to perform daily builds for QA
> testing.
>
> What's the best practice in use with SVN ?
>
> Thanks
> Sincerely
>

-- 


Connect with us on twitter <http://twitter.com/cardinalpath>, 
google+<https://plus.google.com/108076800625872227241/posts>
, facebook <http://www.facebook.com/CardinalPath>, or 
linkedin<http://www.linkedin.com/company/cardinal-path>
.

Catch our next training in Washington May 
6-10<http://training.cardinalpath.com/google-adwords-analytics/washington/?utm_campaign=cp-cpt&utm_source=sig-referral&utm_medium=email&utm_content=washington-2013-05-06>
, Los Angeles May 13 - 
17<http://training.cardinalpath.com/google-adwords-analytics/los-angeles/?utm_campaign=cp-cpt&utm_source=sig-referral&utm_medium=email&utm_content=losangeles-2013-05-13>
, Boston May 20 - 
24<http://training.cardinalpath.com/google-adwords-analytics/boston/?utm_campaign=cp-cpt&utm_source=sig-referral&utm_medium=email&utm_content=boston-2013-05-20#2013-05-20>
, Ottawa May 
27-31<http://training.cardinalpath.com/google-adwords-analytics/ottawa/?utm_campaign=cp-cpt&utm_source=sig-referral&utm_medium=email&utm_content=ottawa-2013-05-27>
 or See 
All<http://training.cardinalpath.com/locations/?utm_campaign=cp-s4s&utm_source=cp-email-footer&utm_medium=email&utm_content=see-all>
.

This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.



Advice for changing filename case in SVN on case insensitive system

2013-06-20 Thread Geoff Hoffman
We have a bunch of Kohana 3.2 projects in revision control, all with lower
case filenames.

We're upgrading to Kohana 3.3; one of the main changes to Kohana 3.3 is
implementing PSR-0 filename conventions, which require the class
Model_Myclass to be found in Model/Myclass.php ... in our current repo it's
in model/myclass.php (all lower case).

I thought I could just svn rename, however I'm confused by the output I'm
seeing:

svn rename myclass.php Myclass.php
svn: E155007: Path '/Full/Path/To/Myclass.php' is not a directory

Making things more confusing, we're on Macs without the extended case
sensitive filename option in OS X, and we have mixed/outdated SVN versions
across our organization: our server is running 1.6.6 and workstations a
hodgepodge of 1.6.19 - 1.7.7

I need some advice on how to deal with all of this. I thought about
installing VirtualBox and using Linux command line to do everything, but
that seems like a bit overkill.

Thanks in advance!

Geoff

-- 


Connect with us on twitter , 
google+
, facebook , or 
linkedin
.

Catch our next training in San Diego Jun 17 - 
21
, Tampa Jun 24 
-28
, Austin, Jul 8 - 
12
, San Francisco Jul 15 - 
19
 or See 
All
.

This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.



Re: Advice for changing filename case in SVN on case insensitive system

2013-06-20 Thread Geoff Hoffman
Yes, that helps, Dave, thanks.

But,

deleting the file from Subversion, then adding the copy with the correct
case.

Question: Doesn't that blow away revision history? If I didn't care about
revision history I would just start over with a fresh repo.

I also thought about doing full URL svn mv's but seemed like that could
take a very long time to do...





Geoff Hoffman
Solutions Architect & LAMP Engineer
phone +1 623.399.4918
mobile +1 480.231.8323
web CardinalPath.com <http://goo.gl/TuuiO>



On Thu, Jun 20, 2013 at 3:45 PM, Dave Huang  wrote:

> On 6/20/2013 5:34 PM, Geoff Hoffman wrote:
>
>> We have a bunch of Kohana 3.2 projects in revision control, all with
>> lower case filenames.
>>
>> We're upgrading to Kohana 3.3; one of the main changes to Kohana 3.3 is
>> implementing PSR-0 filename conventions, which require the class
>> Model_Myclass to be found in Model/Myclass.php ... in our current repo it's
>> in model/myclass.php (all lower case).
>>
>> I thought I could just svn rename, however I'm confused by the output I'm
>> seeing:
>>
>> svn rename myclass.php Myclass.php
>> svn: E155007: Path '/Full/Path/To/Myclass.php' is not a directory
>>
>
> Perhaps 
> http://subversion.apache.org/**faq.html#case-change<http://subversion.apache.org/faq.html#case-change>might
>  be helpful.
>
> (Interesting/surprising that SVN 1.7 only fixed svn rename on Windows, but
> not on other OSes with case-insensitive filesystems like MacOS X)
>

-- 


Connect with us on twitter <http://twitter.com/cardinalpath>, 
google+<https://plus.google.com/108076800625872227241/posts>
, facebook <http://www.facebook.com/CardinalPath>, or 
linkedin<http://www.linkedin.com/company/cardinal-path>
.

Catch our next training in San Diego Jun 17 - 
21<http://training.cardinalpath.com/google-adwords-analytics/san-diego/?utm_campaign=cp-cpt&utm_source=sig-referral&utm_medium=email&utm_content=sandiego-2013-06-17>
, Tampa Jun 24 
-28<http://training.cardinalpath.com/google-adwords-analytics/tampa/?utm_campaign=cp-cpt&utm_source=sig-referral&utm_medium=email&utm_content=tampa-2013-06-24>
, Austin, Jul 8 - 
12<http://training.cardinalpath.com/google-adwords-analytics/austin/?utm_campaign=cp-cpt&utm_source=sig-referral&utm_medium=email&utm_content=austin-2013-07-08>
, San Francisco Jul 15 - 
19<http://training.cardinalpath.com/google-adwords-analytics/san-francisco/?utm_campaign=cp-cpt&utm_source=sig-referral&utm_medium=email&utm_content=sanfrancisco-2013-07-15#2013-07-15>
 or See 
All<http://training.cardinalpath.com/locations/?utm_campaign=cp-s4s&utm_source=cp-email-footer&utm_medium=email&utm_content=see-all>
.

This email, including any attachments, is for the sole use of the intended 
recipient and may contain confidential information. If you are not the 
intended recipient, please immediately notify us by reply email or by 
telephone, delete this email and destroy any copies. Thank you.



  1   2   >