Re: Accessing Remote SVN Repositories

2013-07-17 Thread Geoff Hoffman
Steve, first off, the security permissions you may need as a prerequisite
to access their stuff covers a wide range of scenarios: SSH keys, VPN
access and so on are outside the range of topics discussed here. Let's
assume you have access past their firewall to the server where their stuff
is stored.

As Ryan suggested, presumably they will or have already provided you with a
URI (it may start with http://, https://, svn://, or svn+ssh:// ... ) [1]
and you may have more than one set of un/pw combo.

If you never need to push changes you make to their stuff, back to their
repository, just ask them for an svn export (zip) one-time, as it will be
simpler for a beginner.

If however, you are going to be expected to deal with changes they make to
their stuff on an ongoing basis (svn update your local copy ~ analogous to
git pull), and the standard way you can deal with your stuff going to
your repository while changes to their stuff can be integrated with
your stuff -- all at the same time -- is via the concept of
svn:externals.

In these cases, you probably will need to integrate their stuff into your
stuff as an external - see here [2].

It should also be mentioned that it may be simple for them to simply host
your stuff too on the same server - as it sounds like they're already set
up to do so.


[1] http://stackoverflow.com/questions/2140954/which-protocol-svn-or-https
[2]
http://blog.jmfeurprier.com/2009/12/10/simple-introduction-to-svn-externals/







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



On Wed, Jul 17, 2013 at 3:52 PM, Ryan Schmidt 
subversion-20...@ryandesign.com wrote:


 On Jul 17, 2013, at 17:34, Stephen Gorin wrote:

  I need to access the Subversion repositories of two software vendors.
 Because of firewall issues they cannot push their changes to us, rather
 we have to access their repositories and pull the latest code from their
 sites.

 push and pull are not words used in Subversion parlance.

 Subversion repositories are available via URLs. The administrator of the
 repository will need to tell you what the URL is, and will need to open up
 access through their firewall for it. Then you access that URL with your
 svn client.



-- 


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

Catch our next training in San Francisco Jul 15 - 
19http://training.cardinalpath.com/google-adwords-analytics/san-francisco/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sanfrancisco-2013-07-15#2013-07-15
, Philadelphia Jul 22 - 
26http://training.cardinalpath.com/google-adwords-analytics/philadelphia/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=philadelphia-2013-07-22
, Detroit Jul 29 - Aug 
2http://training.cardinalpath.com/google-adwords-analytics/detroit/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=detroit-2013-07-29
, Columbus, Aug 5 - 
9http://training.cardinalpath.com/google-adwords-analytics/columbus/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=columbus-2013-08-05
 or See 
Allhttp://training.cardinalpath.com/locations/?utm_campaign=cp-s4sutm_source=cp-email-footerutm_medium=emailutm_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 http://twitter.com/cardinalpath, 
google+https://plus.google.com/108076800625872227241/posts
, facebook http://www.facebook.com/CardinalPath, or 
linkedinhttp://www.linkedin.com/company/cardinal-path
.

Catch our next training in San Diego Jun 17 - 
21http://training.cardinalpath.com/google-adwords-analytics/san-diego/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sandiego-2013-06-17
, Tampa Jun 24 
-28http://training.cardinalpath.com/google-adwords-analytics/tampa/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=tampa-2013-06-24
, Austin, Jul 8 - 
12http://training.cardinalpath.com/google-adwords-analytics/austin/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=austin-2013-07-08
, San Francisco Jul 15 - 
19http://training.cardinalpath.com/google-adwords-analytics/san-francisco/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sanfrancisco-2013-07-15#2013-07-15
 or See 
Allhttp://training.cardinalpath.com/locations/?utm_campaign=cp-s4sutm_source=cp-email-footerutm_medium=emailutm_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.



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 k...@azeotrope.org 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-changehttp://subversion.apache.org/faq.html#case-changemight
  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 
linkedinhttp://www.linkedin.com/company/cardinal-path
.

Catch our next training in San Diego Jun 17 - 
21http://training.cardinalpath.com/google-adwords-analytics/san-diego/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sandiego-2013-06-17
, Tampa Jun 24 
-28http://training.cardinalpath.com/google-adwords-analytics/tampa/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=tampa-2013-06-24
, Austin, Jul 8 - 
12http://training.cardinalpath.com/google-adwords-analytics/austin/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=austin-2013-07-08
, San Francisco Jul 15 - 
19http://training.cardinalpath.com/google-adwords-analytics/san-francisco/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sanfrancisco-2013-07-15#2013-07-15
 or See 
Allhttp://training.cardinalpath.com/locations/?utm_campaign=cp-s4sutm_source=cp-email-footerutm_medium=emailutm_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.



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/Y-m-d 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 mpc8...@gmail.com 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 
linkedinhttp://www.linkedin.com/company/cardinal-path
.

Catch our next training in Washington May 
6-10http://training.cardinalpath.com/google-adwords-analytics/washington/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=washington-2013-05-06
, Los Angeles May 13 - 
17http://training.cardinalpath.com/google-adwords-analytics/los-angeles/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=losangeles-2013-05-13
, Boston May 20 - 
24http://training.cardinalpath.com/google-adwords-analytics/boston/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=boston-2013-05-20#2013-05-20
, Ottawa May 
27-31http://training.cardinalpath.com/google-adwords-analytics/ottawa/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=ottawa-2013-05-27
 or See 
Allhttp://training.cardinalpath.com/locations/?utm_campaign=cp-s4sutm_source=cp-email-footerutm_medium=emailutm_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.



Re: Graphical version tree

2013-04-03 Thread Geoff Hoffman
What platform?


On Wed, Apr 3, 2013 at 11:52 AM, Olivier Antoine
oliviera201...@gmail.comwrote:

 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 http://twitter.com/cardinalpath, 
google+https://plus.google.com/108076800625872227241/posts
, facebook http://www.facebook.com/CardinalPath, or 
linkedinhttp://www.linkedin.com/company/cardinal-path
.

Catch our next training in Atlanta Apr 10 - 
12http://training.cardinalpath.com/google-adwords-analytics/atlanta/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=atlanta-2013-04-10
, San Jose Apr 15 - 
19http://training.cardinalpath.com/google-adwords-analytics/san-jose/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sanjose-2013-04-15
, Chicago Apr 22 - 
26http://training.cardinalpath.com/google-adwords-analytics/chicago/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=chicago-2013-04-22#2013-04-22
, Denver Apr 29 - May 
3http://training.cardinalpath.com/google-adwords-analytics/denver/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=denver-2013-04-29
 or See 
Allhttp://training.cardinalpath.com/locations/?utm_campaign=cp-s4sutm_source=cp-email-footerutm_medium=emailutm_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.



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 cmanalys...@gmail.com 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 http://twitter.com/cardinalpath, 
google+https://plus.google.com/108076800625872227241/posts
, facebook http://www.facebook.com/CardinalPath, or 
linkedinhttp://www.linkedin.com/company/cardinal-path
.

Catch our next training in St Louis Feb 25 - Mar 
1http://training.cardinalpath.com/google-adwords-analytics/saint-louis/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=stlouis-2013-02-25
, Vancouver Mar 4 - 
8http://training.cardinalpath.com/google-adwords-analytics/vancouver/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=vancouver-2013-03-04
, New York City Mar 11 - 15 http://goo.gl/y4Ojj, Atlanta Apr 10 - 
12http://goo.gl/oJGyd
 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.



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 lesmikes...@gmail.com 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 http://twitter.com/cardinalpath, 
google+https://plus.google.com/108076800625872227241/posts
, facebook http://www.facebook.com/CardinalPath, or 
linkedinhttp://www.linkedin.com/company/cardinal-path
.

Catch our next training in St Louis Feb 25 - Mar 
1http://training.cardinalpath.com/google-adwords-analytics/saint-louis/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=stlouis-2013-02-25
, Vancouver Mar 4 - 
8http://training.cardinalpath.com/google-adwords-analytics/vancouver/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=vancouver-2013-03-04
, New York City Mar 11 - 15 http://goo.gl/y4Ojj, Atlanta Apr 10 - 
12http://goo.gl/oJGyd
 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 http://twitter.com/cardinalpath, 
google+https://plus.google.com/108076800625872227241/posts
, facebook http://www.facebook.com/CardinalPath, or 
linkedinhttp://www.linkedin.com/company/cardinal-path
.

Catch our next training in Chicago Feb 4 - 8 http://cpath.it/Xgo3uO, Boston 
Feb 11 - 15 http://cpath.it/Xgo5Te, St Louis Feb 25 - Mar 
1http://goo.gl/7ybQz
, Vancouver Mar 4 - 8 http://goo.gl/ou1wV or See Allhttp://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.



Re: hello

2012-12-04 Thread Geoff Hoffman
Install Subversionhttp://svnbook.red-bean.com/en/1.7/svn.intro.install.html
.
Create a 
repositoryhttp://svnbook.red-bean.com/en/1.7/svn.ref.svnadmin.c.create.html
.
Configure 
accesshttp://wiki.wsmoak.net/cgi-bin/wiki.pl?Subversion/Configuration
.
Initialize the 
defaultshttp://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 
trunkhttp://stackoverflow.com/questions/927806/svn-checkout-the-contents-of-a-folder-not-the-folder-itself
.
Do some work and commit it back to the
repohttp://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 
linkedinhttp://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 - 
11http://cpath.it/Xgo2Hk
, Seattle Jan 14 - 18 http://cpath.it/VQsQxW or See 
Allhttp://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.



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 conan.heis...@gmail.comwrote:

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


-- 


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

Catch our next training in Houston Oct 8 - 12 http://cpath.it/K2URLT, 
Berkeley 
Oct 22 - 26 http://cpath.it/IYY9oE, Seattle Oct 29 - Nov 
2http://cpath.it/JqF1xQ
, Phoenix Nov 12 - 16 http://cpath.it/IJMEhB or See 
Allhttp://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.



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 andy.l...@gmail.com wrote:

 On Wed, Apr 25, 2012 at 11:12, Geoffrey Myers
 li...@serioustechnology.com 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: AuthzSVNAccessFile size issues

2012-03-22 Thread Geoff Hoffman
On Thu, Mar 22, 2012 at 9:11 AM, Joel Eidsath jeids...@gmail.com 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 qazw...@gmail.com
 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.


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 markp...@gmail.com 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 markp...@gmail.com 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: 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 s...@elego.de 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 s...@elego.de 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.


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 |
@cardinalpathhttp://www.twitter.com/cardinalpath
LinkedIn: www.linkedin.com/in/geoffreydhoffman
Phone: 480.285.1622 x313
Mobile: 480.231.8323
_
www.cardinalpath.comhttp://www.cardinalpath.com/?utm_source=signatureutm_medium=CPemailutm_campaign=dEckman
training.cardinalpath.comhttp://training.cardinalpath.com/?utm_source=signatureutm_medium=CPemailutm_campaign=dEckman

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




On Fri, Mar 2, 2012 at 8:45 AM, Mark Phippard markp...@gmail.com wrote:

 On Fri, Mar 2, 2012 at 10:41 AM, Geoff Hoffman
 ghoff...@cardinalpath.com 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 philip.mar...@wandisco.comwrote:

 Geoff Hoffman ghoff...@cardinalpath.com 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 philip.mar...@wandisco.comwrote:

 Geoff Hoffman ghoff...@cardinalpath.com 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 lesmikes...@gmail.com wrote:

 On Fri, Mar 2, 2012 at 9:41 AM, Geoff Hoffman ghoff...@cardinalpath.com
 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:\Repositoriessvn 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:\Repositoriessvnsync sync http://mirror-server/svn/mirror-repo
svnsync: Destination repository has not been initialized

X:\Repositoriessvn 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:\Repositoriessvn 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:\Repositoriessvnsync 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 lesmikes...@gmail.com wrote:

 On Fri, Mar 2, 2012 at 10:20 AM, Geoff Hoffman
 ghoff...@cardinalpath.com 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: 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 list@bluejeantime.comwrote:

 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.


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 andy.l...@gmail.com wrote:

 On Wed, Jan 11, 2012 at 18:49, Steve Kelem st...@kelem.net 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: 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 kuno.me...@gmx.ch 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 mark.co...@siemens.com 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 kuno.me...@gmx.ch 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 exporting the sub-folder.

 ~ mark c


Wow, good to know. Thanks Mark.


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 s...@elego.de 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: 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: 1st checkout of my life = network connection closed unexpectedly

2011-11-10 Thread Geoff Hoffman
 svn://my address at dyndns: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 lolve...@laposte.net 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: GnomeKeyring: not entering passwords

2011-11-03 Thread Geoff Hoffman
On Thu, Nov 3, 2011 at 11:54 AM, Mark Phippard markp...@gmail.com wrote:

 On Thu, Nov 3, 2011 at 2:38 PM, rupert.thurner 
 rupert.thur...@gmail.comwrote:

 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: 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 s...@elego.de 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 lesmikes...@gmail.com
 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: First Hands-on Subversion—Where/How?

2011-10-28 Thread Geoff Hoffman
On Fri, Oct 28, 2011 at 11:00 AM, Pietro Moras studio...@hotmail.comwrote:

   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 studio...@hotmail.com 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: 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: How to recover deleted directory in repository?

2011-10-08 Thread Geoff Hoffman
On Sat, Oct 8, 2011 at 8:38 PM, Xiang Liu lx...@yahoo.com.cn 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: Email notification on commit

2011-10-04 Thread Geoff Hoffman
On Tue, Oct 4, 2011 at 3:50 PM, Olga Kramer olgakra...@gmail.com 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: Full text search engines for SVN?

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

 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


Re: Full text search engines for SVN?

2011-09-26 Thread Geoff Hoffman
On Mon, Sep 26, 2011 at 7:40 PM, Geoff Hoffman ghoff...@cardinalpath.comwrote:


 On Mon, Sep 26, 2011 at 6:46 PM, Joshua J. Kugler jos...@azariah.comwrote:

 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.seq=Svn+Searchersa=Searchsitesearch=svn.haxx.seclient=pub-9313125053076989forid=1channel=8989477434ie=ISO-8859-1oe=ISO-8859-1cof=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%3Bhl=en

Hope it helps you!


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
sukumar.go...@bluehorse.inwrote:

 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 email-sawkat.a...@bluehorse.in
 Mob-+91-8296015120
+91-9647555891



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 bob.arc...@amsi.com 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:
 
 http://someservername:3690 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=325647dsForumId=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=3dsMessageId=393815


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 gav...@thespidernet.comwrote:

 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





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
knst.koli...@gmail.comwrote:

 2011/9/1 Geoff Hoffman ghoff...@cardinalpath.com:
  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: Subversion on Drupal

2011-08-11 Thread Geoff Hoffman
On Thu, Aug 11, 2011 at 7:56 PM, Andy Canfield andy.canfi...@pimco.mobiwrote:

 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.


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) jan.cie...@gmail.comwrote:

 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: 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 an...@webkr.de 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: Logging Subversion client HTTP requests

2011-07-30 Thread Geoff Hoffman
On Sat, Jul 30, 2011 at 3:56 PM, Manuel Lemos mle...@acm.org 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 mle...@acm.org 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/**httpclienthttp://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: disable security hole in svn+ssh?

2011-07-28 Thread Geoff Hoffman
On Thu, Jul 28, 2011 at 7:29 AM, Andy Canfield andy.canfi...@pimco.mobiwrote:
snip

 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.

/snip
snip

 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?

/snip


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: How to clean the working dir from .svn folders ?

2011-07-26 Thread Geoff Hoffman


  *From:* Geoff Hoffman ghoff...@cardinalpath.com
 *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?


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 ghoff...@cardinalpath.com
 *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 mistic100.fore...@hotmail.fr
 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 tclement...@gmail.comwrote:

 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 mistic100.fore...@hotmail.fr
 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
On Tue, Jul 26, 2011 at 1:20 PM, Dan Yost yod...@gmail.com wrote:

 On Tue, Jul 26, 2011 at 3:11 PM, Geoff Hoffman
 ghoff...@cardinalpath.com 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: Subversion access control

2011-07-22 Thread Geoff Hoffman
On Thu, Jul 21, 2011 at 11:19 PM, Andy Canfield andy.canfi...@pimco.mobiwrote:

 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: Subversion access control

2011-07-21 Thread Geoff Hoffman
On Wed, Jul 20, 2011 at 9:14 PM, Andy Canfield andy.canfi...@pimco.mobiwrote:

 **
 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 Canfieldandy.canfi...@pimco.mobi 
 andy.canfi...@pimco.mobi 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.

 # Location URL ... /Location
 # 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.

 Location /svn

   # 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 Limit and LimitExcept, 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').
   #LimitExcept GET PROPFIND OPTIONS REPORT
 #Require valid-user
   #/LimitExcept
 *
 *  Require valid-user*
 *
 /Location
 *
 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 

Re: Subversion access control

2011-07-21 Thread Geoff Hoffman



 On Wed, Jul 20, 2011 at 9:14 PM, Andy Canfield 
 andy.canfi...@pimco.mobiwrote:

 **
 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 Canfieldandy.canfi...@pimco.mobi 
 andy.canfi...@pimco.mobi 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.

 # Location URL ... /Location
 # 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.

 Location /svn

   # 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 Limit and LimitExcept, 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').
   #LimitExcept GET PROPFIND OPTIONS REPORT
 #Require valid-user
   #/LimitExcept
 *
 *  Require valid-user*
 *
 /Location
 *
 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 

Re: Subversion access control / Linux users etc.

2011-07-21 Thread Geoff Hoffman
On Thu, Jul 21, 2011 at 4:54 AM, Andy Canfield andy.canfi...@pimco.mobiwrote:

 **
 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 DONT 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 security issues like this, you can try
gnome-keyring or kwallet.


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 Location /svn 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.)

Location /svn
  # 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 Limit and LimitExcept, 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').
  #LimitExcept GET PROPFIND OPTIONS REPORT
 Require valid-user
  #/LimitExcept
/Location


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
QAhttp://serverfault.com/questions/13853/how-do-i-restrict-repository-access-via-websvn
.
http://serverfault.com/questions/13853/how-do-i-restrict-repository-access-via-websvn


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 andy.canfi...@pimco.mobiwrote:

 **
 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
QAhttp://serverfault.com/questions/13853/how-do-i-restrict-repository-access-via-websvn
.
http://serverfault.com/questions/13853/how-do-i-restrict-repository-access-via-websvn


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 nka...@gmail.com 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 nka...@gmail.com wrote:

 On Mon, Jul 11, 2011 at 9:20 PM, Geoff Hoffman
 ghoff...@cardinalpath.com 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.



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: 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 d...@daniel.shahaf.namewrote:

 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 t...@cea.com.au
  CEA Technologies
 



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: 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 techgeek12...@gmail.com 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 techgeek12...@gmail.com 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”http://svnbook.red-bean.com/en/1.1/ch05s03.html#svn-ch-5-sect-3.5
).


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 pcpinker...@gmail.comwrote:

 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 ghoff...@cardinalpath.comwrote:

 Not in any general sense, no.


 On Thu, Jun 23, 2011 at 1:27 PM, Phil Pinkerton pcpinker...@gmail.comwrote:

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


 Phil




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: 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 lesmikes...@gmail.com 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: 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
m.scha...@3s-software.comwrote:

 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
bsmith.o...@gmail.comwrote:

 On Thu, Jun 16, 2011 at 18:24, Geoff Hoffman ghoff...@cardinalpath.com
 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 ghoff...@cardinalpath.com
 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 b...@dei.uc.pt 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 b...@dei.uc.pt wrote:


 On Jun 17, 2011, at 24:59 , Geoff Hoffman wrote:



 On Thu, Jun 16, 2011 at 4:05 PM, Bruno Antunes b...@dei.uc.pt 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: 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
m.scha...@3s-software.comwrote:

 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: Questions

2011-06-14 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 loren...@yahoo.com 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 ste...@egosoft.com 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: 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 nka...@gmail.com wrote:

 On Fri, Jun 10, 2011 at 6:26 PM, Geoff Hoffman
 ghoff...@cardinalpath.com 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.



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
changeshttp://blogs.collab.net/subversion/2009/07/subversion-16-security-improvements/
.
I read about Subversion 1.6 on Ubuntu Server over at
superuser.comhttp://superuser.com/questions/186575/whats-the-best-way-to-store-an-encrypted-svn-password-on-ubuntu-server
.
I read about gnome-keyring over at
stackoverflowhttp://stackoverflow.com/questions/3824513/svn-encrypted-password-store
.

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: can I checkout only a revision files ?

2010-10-20 Thread Geoff Hoffman
 On Wed, Oct 20, 2010 at 09:17, Andrea Antonio Maleci
 a.mal...@iwbank.it 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 a.mal...@iwbank.it 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




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


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 techgeek12...@gmail.com
To: Subversion Users users@subversion.apache.org
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 techgeek12...@gmail.com
To: Erik Andersson kir...@gmail.com
Cc: Geoff Hoffman geoff.hoff...@jawa.com, 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!