You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Andrey Repin <an...@freemail.ru> on 2009/04/02 16:09:16 UTC
Re[2]: Want to set up SVN for a web app
Greetings, Theodore H . Smith!
Thanks, Theodore.
You pretty much did what I was about to do myself.
But I'm a step ahead of you, so let me explain what I've done so far, and
where am I now, and what I need. My steps will be in random, but consequent
order, without a division to SVN-specific, SVN-related and completely
unrelated, but necessary steps.
First, I've created a test environment, which is also to be my working place.
Apache, PHP and MySQL bound in the same way as it is on production host, if
possible (AND AFFORDABLE!!!) - with the same database layout and passwords.
Make sure you have .svn and CVS directories masked out of direct access.
for Apache, it is done by specifying
RewriteEngine On
RewriteRule "(.+/)?(\.svn|CVS)/" "/" [F,L]
In either .htaccess file or VirtualHost configuration.
Second, i've created a directory structure suitable for future project.
On my local drive, independent from the test environment.
It is a protorype of the production server /home/<username> directory, with
only necessary entries in it, like:
~/lib - necessary 3rd-party libraries
~/inc - my own includes, hooks and hacks
~/data - the project server-side codebase
~/cgi-bin - if you're using CGI scripts in your webserver, you might be need
to include some of them under version control.
~/htdocs - actual site directory, visible from the web. It contains static
pages, graphics, JavaScript codebase.
Filled that structure with what I have already. Let's assume I have static
website of couple of HTML pages with images and tiny bit of JScript.
Third, i've imported it all to SVN. Easy.
cd temp/protofolder
svn import http://svn.mydomain.local/repos/mynewproject
Adding htdocs
Adding htdocs\classtrees_Structures_Graph.html
Adding htdocs\errors.html
Adding htdocs\media
Adding htdocs\media\stylesheet.css
Adding htdocs\media\banner.css
Adding htdocs\packages.html
Adding htdocs\elementindex.html
Adding htdocs\Structures_Graph
Adding htdocs\Structures_Graph\_Structures_Graph_Manipulator_AcyclicTest_php.html
Adding htdocs\Structures_Graph\_Structures_Graph_Node_php.html
Adding htdocs\Structures_Graph\_Structures_Graph_Manipulator_TopologicalSorter_php.html
Adding htdocs\Structures_Graph\Structures_Graph.html
Adding htdocs\Structures_Graph\Structures_Graph_Manipulator_AcyclicTest.html
Adding htdocs\Structures_Graph\tutorial_Structures_Graph.pkg.html
Adding htdocs\Structures_Graph\Structures_Graph_Node.html
Adding htdocs\Structures_Graph\Structures_Graph_Manipulator_TopologicalSorter.html
Adding htdocs\Structures_Graph\_Structures_Graph_php.html
Adding htdocs\todolist.html
Adding htdocs\elementindex_Structures_Graph.html
Adding htdocs\index.html
Adding htdocs\li_Structures_Graph.html
Adding lib
Adding data
Adding inc
Committed revision 1.
Fourth step is quite simple. Go to your test environment and checkout your new
repository.
I suppose you have some of these files already in place, because you were
checking if your environment are working properly, so we use --force switch.
svn co --force http://svn.mydomain.local/repos/mynewproject /path/to/test/environment
Now, you start working in your test environment, can see your changes
instantly, and do whatever you need to do with it.
After your task is done, you committing changes to repository. As usual.
Fifth step is to make these changes available to public.
Here is the problem.
1. Making public server another (readonly) working copy... not wise. It
increase filesystem load, and if it is a shared server, it would cost you
additional money to extend the disk space to necessary size.
2. Continuous export's of the whole directory tree... not wise. Projects tend
to grow in size, and every export, even if only few files were changed, would
take alot of time and bandwidth.
My problem so far, and what I can't find out myself.
If there's a way to determine, which files in a repository has been changed
since revision REV, and how to tell export to only pull these changed files?
export does not take the --tergets switch, and I can't find out, how to alter
the built-in diff command output. It's hard to read for me at first and not
doing what I need (in this specific case) at last.
Suggestions? Alternate ways?
--
WBR,
Andrey Repin (anrdaemon@freemail.ru) 02.04.2009, <19:40>
Sorry for my terrible english...
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1520745
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Re[2]: Want to set up SVN for a web app
Posted by "Theodore H. Smith" <de...@elfdata.com>.
Perhaps this will help you?
http://www.google.com/search?client=safari&rls=en-us&q=post-commit&ie=UTF-8&oe=UTF-8
I think you can put a shell script in the repository folder, that can
just do a "svn update" to the live version!
>
> My problem so far, and what I can't find out myself.
> If there's a way to determine, which files in a repository has been
> changed
> since revision REV, and how to tell export to only pull these
> changed files?
>
> export does not take the --tergets switch, and I can't find out, how
> to alter
> the built-in diff command output. It's hard to read for me at first
> and not
> doing what I need (in this specific case) at last.
>
> Suggestions? Alternate ways?
>
>
> --
> WBR,
> Andrey Repin (anrdaemon@freemail.ru) 02.04.2009, <19:40>
>
> Sorry for my terrible english...
>
> ------------------------------------------------------
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1520745
>
> To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org
> ].
--
http://elfdata.com/plugin/
"String processing, done right"
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1521530
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Want to set up SVN for a web app
Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Andrey Repin!
Oh, hi! /sorry, necessary joke. I feel a bit embarrassed talking that much to
myself.
*****************************************************************************
********************************* WARNING ***********************************
This script is NOT ready-to use, nor it is recommended to use in it's current
state.
At the very least, it lack even most basic sanity checks.
Thus only what it could REALLY do is to retrieve latest revision number and
place it to the ~/latest file.
And, however, print out suggested commands which it's supposed to do to update
your project from known "latest" revision to current HEAD of a given branch.
A word about deleted objects. I could, however, include "rm -rf" in script,
but I better won't. Even commented, it's always leaving as potential for bad
happenings. Better don't do that, so I just leave a note for removed objects.
********************************* WARNING ***********************************
*****************************************************************************
Step five:
Quoting the svnexport.sh:
> #! /bin/sh
> echo "#! /bin/sh" > ~/tmp/export.sh
> svn diff --summarize -r `cat ~/latest`:HEAD $1 | sed -E \
> -e "s#^[AM].......?($1)(/*(.*))#echo svn export --force --quiet \1\2 \3#" \
> -e "s#^D.......?$1/*(.*)#echo Removed object: \1#" >> ~/tmp/export.sh
> chmod +x ~/tmp/export.sh
> ~/tmp/export.sh
> rm ~/tmp/export.sh
> svn info $1 | grep "^Revision:" | sed -E "s#^Revision:[[:space:]]+([[:digit:]]+)#\1#" > ~/latest
Two issues I ran in with this script.
1. Difference with sed switches, -r against -E on different platforms.
2. Multiple SVN authorization requests if you have store-passwords = no
Would be handy if SVN could take approach of CVS and sudo and cache entered
password for some time.
Suggestions for script:
0. Add proof-checking for various parameters and execution results.
1. Take SVN path from file or hardcode it in script. Reduce level of mistypes.
--
WBR,
Andrey Repin (anrdaemon@freemail.ru) 07.04.2009, <22:40>
Sorry for my terrible english...
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1582002
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Want to set up SVN for a web app
Posted by Les Mikesell <le...@gmail.com>.
Andrey Repin wrote:
> >
> Fifth step is to make these changes available to public.
> Here is the problem.
> 1. Making public server another (readonly) working copy... not wise. It
> increase filesystem load, and if it is a shared server, it would cost you
> additional money to extend the disk space to necessary size.
> 2. Continuous export's of the whole directory tree... not wise. Projects tend
> to grow in size, and every export, even if only few files were changed, would
> take alot of time and bandwidth.
>
> My problem so far, and what I can't find out myself.
> If there's a way to determine, which files in a repository has been changed
> since revision REV, and how to tell export to only pull these changed files?
>
> export does not take the --tergets switch, and I can't find out, how to alter
> the built-in diff command output. It's hard to read for me at first and not
> doing what I need (in this specific case) at last.
>
> Suggestions? Alternate ways?
One approach is to use a working copy as a staging location. Do an
update to the revision or switch to the tag that you want to push to
production, then use rsync or something similar to update the production
machine(s) to match the staging copy. Rsync will only copy the
changed parts and will copy under a temporary file name, renaming only
when complete, and the -C option will make it skip the .svn metadata as
well as cvs.
--
Les Mikesell
lesmikesell@gmail.com
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1521456
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Want to set up SVN for a web app
Posted by Les Mikesell <le...@gmail.com>.
Andrey Repin wrote:
> Greetings, Theodore H . Smith!
>
> Thanks, Theodore.
> You pretty much did what I was about to do myself.
> But I'm a step ahead of you, so let me explain what I've done so far, and
> where am I now, and what I need. My steps will be in random, but consequent
> order, without a division to SVN-specific, SVN-related and completely
> unrelated, but necessary steps.
>
> First, I've created a test environment, which is also to be my working place.
> Apache, PHP and MySQL bound in the same way as it is on production host, if
> possible (AND AFFORDABLE!!!) - with the same database layout and passwords.
> Make sure you have .svn and CVS directories masked out of direct access.
> for Apache, it is done by specifying
>
> RewriteEngine On
> RewriteRule "(.+/)?(\.svn|CVS)/" "/" [F,L]
>
> In either .htaccess file or VirtualHost configuration.
>
>
> Second, i've created a directory structure suitable for future project.
> On my local drive, independent from the test environment.
> It is a protorype of the production server /home/<username> directory, with
> only necessary entries in it, like:
> ~/lib - necessary 3rd-party libraries
> ~/inc - my own includes, hooks and hacks
> ~/data - the project server-side codebase
> ~/cgi-bin - if you're using CGI scripts in your webserver, you might be need
> to include some of them under version control.
> ~/htdocs - actual site directory, visible from the web. It contains static
> pages, graphics, JavaScript codebase.
> Filled that structure with what I have already. Let's assume I have static
> website of couple of HTML pages with images and tiny bit of JScript.
>
> Third, i've imported it all to SVN. Easy.
> cd temp/protofolder
> svn import http://svn.mydomain.local/repos/mynewproject
>
> Adding htdocs
> Adding htdocs\classtrees_Structures_Graph.html
> Adding htdocs\errors.html
> Adding htdocs\media
> Adding htdocs\media\stylesheet.css
> Adding htdocs\media\banner.css
> Adding htdocs\packages.html
> Adding htdocs\elementindex.html
> Adding htdocs\Structures_Graph
> Adding htdocs\Structures_Graph\_Structures_Graph_Manipulator_AcyclicTest_php.html
> Adding htdocs\Structures_Graph\_Structures_Graph_Node_php.html
> Adding htdocs\Structures_Graph\_Structures_Graph_Manipulator_TopologicalSorter_php.html
> Adding htdocs\Structures_Graph\Structures_Graph.html
> Adding htdocs\Structures_Graph\Structures_Graph_Manipulator_AcyclicTest.html
> Adding htdocs\Structures_Graph\tutorial_Structures_Graph.pkg.html
> Adding htdocs\Structures_Graph\Structures_Graph_Node.html
> Adding htdocs\Structures_Graph\Structures_Graph_Manipulator_TopologicalSorter.html
> Adding htdocs\Structures_Graph\_Structures_Graph_php.html
> Adding htdocs\todolist.html
> Adding htdocs\elementindex_Structures_Graph.html
> Adding htdocs\index.html
> Adding htdocs\li_Structures_Graph.html
> Adding lib
> Adding data
> Adding inc
>
> Committed revision 1.
>
>
> Fourth step is quite simple. Go to your test environment and checkout your new
> repository.
> I suppose you have some of these files already in place, because you were
> checking if your environment are working properly, so we use --force switch.
> svn co --force http://svn.mydomain.local/repos/mynewproject /path/to/test/environment
>
> Now, you start working in your test environment, can see your changes
> instantly, and do whatever you need to do with it.
> After your task is done, you committing changes to repository. As usual.
>
> Fifth step is to make these changes available to public.
> Here is the problem.
> 1. Making public server another (readonly) working copy... not wise. It
> increase filesystem load, and if it is a shared server, it would cost you
> additional money to extend the disk space to necessary size.
> 2. Continuous export's of the whole directory tree... not wise. Projects tend
> to grow in size, and every export, even if only few files were changed, would
> take alot of time and bandwidth.
>
> My problem so far, and what I can't find out myself.
> If there's a way to determine, which files in a repository has been changed
> since revision REV, and how to tell export to only pull these changed files?
>
> export does not take the --tergets switch, and I can't find out, how to alter
> the built-in diff command output. It's hard to read for me at first and not
> doing what I need (in this specific case) at last.
>
> Suggestions? Alternate ways?
One approach is to use a working copy as a staging location. Do an
update to the revision or switch to the tag that you want to push to
production, then use rsync or something similar to update the production
machine(s) to match the staging copy. Rsync will only copy the
changed parts and will copy under a temporary file name, renaming only
when complete, and the -C option will make it skip the .svn metadata as
well as cvs.
--
Les Mikesell
lesmikesell@gmail.com
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1521491
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Want to set up SVN for a web app
Posted by Les Mikesell <le...@gmail.com>.
Bob Archer wrote:
>> Fifth step is to make these changes available to public.
>> Here is the problem.
>> 1. Making public server another (readonly) working copy... not wise.
> It
>> 2. Continuous export's of the whole directory tree... not wise.
> Projects
>
> What about:
>
> 3. rsync (or ant or...) from your build server or other workstation that
> does have a working copy. This should be set up to exclude the .svn
> files and any .template type files you might use.
Just be careful to think about 'which' working copy you use. One of the
nice things about version control systems is that they can permit
concurrent operations with older and newer revisions at the same time.
You may want a separate working copy just for this purpose so it can be
pointed at specific tested/approved revisions or tags at the same time
ongoing work is being added and tested in other areas.
--
Les Mikesell
lesmikesell@gmail.com
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1521536
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re[6]: Want to set up SVN for a web app
Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Bob Archer!
>> Really, do you think I would expose my working machine to the world?
>> Even my test server firewalled to the teeth. Working host even deeper
>> inside
>> my own LAN, only accessible from dark and scary tunnel in server. With
>> toothy dog laid on the other end of it.
BA> Um, no! I was thinking more of a PUSH system from the staging or build
BA> server to the production server rather than a PULL from the production
BA> server. Personally, I prefer not to have my production system be a
BA> working copy.
BA> But, if that's the way you want to go, I can't stop you.
No, that was my initial idea - to avoid turning the production server into a
working copy, but maintain ability to request new version from the server
side. (With CVS, it wasn't an issue - CVS storing little to no information in
service area)
I think i will take a simple approach of nightly builds.
Thanks for your input.
--
WBR,
Andrey Repin (anrdaemon@freemail.ru) 02.04.2009, <22:24>
Sorry for my terrible english...
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1522458
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
RE: Re[4]: Want to set up SVN for a web app
Posted by Bob Archer <bo...@amsi.com>.
> Really, do you think I would expose my working machine to the world?
> Even my test server firewalled to the teeth. Working host even deeper
> inside
> my own LAN, only accessible from dark and scary tunnel in server. With
> toothy dog laid on the other end of it.
Um, no! I was thinking more of a PUSH system from the staging or build
server to the production server rather than a PULL from the production
server. Personally, I prefer not to have my production system be a
working copy.
But, if that's the way you want to go, I can't stop you.
BOb
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1522221
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Want to set up SVN for a web app
Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Ryan Schmidt!
> True, "changed" is not an option of the "svn" program, but there are
> two other ways you can learn what paths were changed by a revision:
> svn log -q -v -r 123
> svn diff --summarize -c 123
Thanks much.
Latter one is almost exactly what I need, because I want ability to examine
range of revisions in one step.
Little bit of scripting need around it... that's my work, indeed. Thanks
again.
--
WBR,
Andrey Repin (anrdaemon@freemail.ru) 07.04.2009, <15:51>
Sorry for my terrible english...
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1578052
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Want to set up SVN for a web app
Posted by Ryan Schmidt <su...@ryandesign.com>.
On Apr 3, 2009, at 05:40, Andrey Repin wrote:
> Greetings, Ryan Schmidt!
>
>>> I just found out that svnlook doing exactly what I need, but, damn,
>>> it's only
>>> administrative tool... gonna take some research and build some
>>> distribution
>>> scripts then... wish I could have similar tool working with
>>> repository through
>>> any of the supported SVN protocols...
>
>> Sorry, I'm getting confused... what feature is it that you found in
>> svnlook but not in svn?
>
>
> [C:\]$svnlook help changed
> changed: usage: svnlook changed REPOS_PATH
>
> Print the paths that were changed.
>
> Valid options:
> -r [--revision] ARG : specify revision number ARG
> -t [--transaction] ARG : specify transaction name ARG
> --copy-info : show details for copies
True, "changed" is not an option of the "svn" program, but there are
two other ways you can learn what paths were changed by a revision:
svn log -q -v -r 123
svn diff --summarize -c 123
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1560084
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Want to set up SVN for a web app
Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Ryan Schmidt!
>> I just found out that svnlook doing exactly what I need, but, damn,
>> it's only
>> administrative tool... gonna take some research and build some
>> distribution
>> scripts then... wish I could have similar tool working with
>> repository through
>> any of the supported SVN protocols...
RS> Sorry, I'm getting confused... what feature is it that you found in
RS> svnlook but not in svn?
[C:\]$svnlook help changed
changed: usage: svnlook changed REPOS_PATH
Print the paths that were changed.
Valid options:
-r [--revision] ARG : specify revision number ARG
-t [--transaction] ARG : specify transaction name ARG
--copy-info : show details for copies
--
WBR,
Andrey Repin (anrdaemon@freemail.ru) 03.04.2009, <14:38>
Sorry for my terrible english...
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1531079
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Re[2]: Want to set up SVN for a web app
Posted by Ryan Schmidt <su...@ryandesign.com>.
On Apr 2, 2009, at 13:17, Andrey Repin wrote:
> I just found out that svnlook doing exactly what I need, but, damn,
> it's only
> administrative tool... gonna take some research and build some
> distribution
> scripts then... wish I could have similar tool working with
> repository through
> any of the supported SVN protocols...
Sorry, I'm getting confused... what feature is it that you found in
svnlook but not in svn?
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1527770
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Want to set up SVN for a web app
Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Ryan Schmidt!
> I wasn't sure what you meant by "it must", but if you were trying to
> suggest that the mail list software should be changing the Reply-To
> header, then that is not what is desired by this project, as
> explained here:
> http://subversion.tigris.org/mailing-lists.html#reply-to
Point taken.
> The way your mail reader uses square brackets in the "Re" part of the
> Subject line is a bit of a joke ("Re[2]:"), and my mail reader
> (Apple's Mail.app) doesn't get it and doesn't display the threading
> properly making it very hard to follow threads you've participated
> in. I would sure appreciate it if you would just prefix replies with
> "Re:" as per usual.
Why you aren't linking threads by References: header?
I can change subject line to anything, however. I'm not bound to any defaults.
See. It fixed now.
> Your quoting style, with initials preceding the angle bracket, is
> also unusual to me, and to Mail.app, which then doesn't apply the
> beautiful colored quoting that is so helpful in quickly identifying
> who said what block of text. So if possible, please stop doing that
> as well.
Of course it is possible. Although useful in determining, who you are quoting.
--
WBR,
Andrey Repin (anrdaemon@freemail.ru) 03.04.2009, <14:47>
Sorry for my terrible english...
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1531108
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Re[2]: Want to set up SVN for a web app
Posted by Ryan Schmidt <su...@ryandesign.com>.
On Apr 2, 2009, at 13:50, Andrey Repin wrote:
>>> LM> And by the way - your 'Reply-To: email setting makes it
>>> difficult to
>>> LM> respond back to the list.
>>>
>>> My Reply-To set to reply back to the list, since list software
>>> does not do
>>> that on itself (it must).
I wasn't sure what you meant by "it must", but if you were trying to
suggest that the mail list software should be changing the Reply-To
header, then that is not what is desired by this project, as
explained here:
http://subversion.tigris.org/mailing-lists.html#reply-to
>>> This way, I can't be disturbed by unintended private messages,
>>> regular "reply"
>>> will go to the list. If you want to reply to me personally, copy
>>> my message to
>>> personal folder and issue a "Reply to author" command.
>
> LM> Sorry, false alarm. Thunderbird only shows your name in the
> reply-to:
> LM> and the reply even with "reply all" but it does have the list
> address in
> LM> the hidden part.
>
> That's why The Bat! is a Mail client and everything else is a joke :P
The way your mail reader uses square brackets in the "Re" part of the
Subject line is a bit of a joke ("Re[2]:"), and my mail reader
(Apple's Mail.app) doesn't get it and doesn't display the threading
properly making it very hard to follow threads you've participated
in. I would sure appreciate it if you would just prefix replies with
"Re:" as per usual.
Your quoting style, with initials preceding the angle bracket, is
also unusual to me, and to Mail.app, which then doesn't apply the
beautiful colored quoting that is so helpful in quickly identifying
who said what block of text. So if possible, please stop doing that
as well.
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1527873
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re[2]: Want to set up SVN for a web app
Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Les Mikesell!
>> LM> Rsync is typically used over ssh - with the command issued from the
>> LM> private/firewalled side. If you can connect to the server via ssh
>> LM> (perhaps even needing to establish a vpn first), rsync is a suitable
>> LM> mechanism to send files there.
>>
>> I just found out that svnlook doing exactly what I need, but, damn, it's only
>> administrative tool... gonna take some research and build some distribution
>> scripts then... wish I could have similar tool working with repository through
>> any of the supported SVN protocols...
LM> Most people don't want something pushed to production just because it
LM> shows up as a change in the repository. Normally you would have tested
LM> a specific revision or tag copy, then you would run a script that
LM> updates a staging location with that revision/tag and pushes copies of
LM> that everywhere you want them. I think someone has posted here about
LM> using a commit hook that would watch for tags with a certain pattern in
LM> the names, so all you had to do from a client was copy to a tag with
LM> that pattern in the name to trigger the push to production. You can run
LM> svnlook in the commit hooks, so you might also use that to trigger extra
LM> operations on the server side.
Yep, that all was part my original idea. :) As I said, I've read the svnbook
quite alot. Not to the level of storing it in my brain, but enough to know the
general features available and common patterns of usage... plus my past
experience with CVS.
Still, need research... will post back if I find out something useful, sure.
>> LM> And by the way - your 'Reply-To: email setting makes it difficult to
>> LM> respond back to the list.
>>
>> My Reply-To set to reply back to the list, since list software does not do
>> that on itself (it must).
>> This way, I can't be disturbed by unintended private messages, regular "reply"
>> will go to the list. If you want to reply to me personally, copy my message to
>> personal folder and issue a "Reply to author" command.
LM> Sorry, false alarm. Thunderbird only shows your name in the reply-to:
LM> and the reply even with "reply all" but it does have the list address in
LM> the hidden part.
That's why The Bat! is a Mail client and everything else is a joke :P
--
WBR,
Andrey Repin (anrdaemon@freemail.ru) 02.04.2009, <22:46>
Sorry for my terrible english...
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1522862
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Want to set up SVN for a web app
Posted by Les Mikesell <le...@gmail.com>.
Andrey Repin wrote:
>
> LM> Rsync is typically used over ssh - with the command issued from the
> LM> private/firewalled side. If you can connect to the server via ssh
> LM> (perhaps even needing to establish a vpn first), rsync is a suitable
> LM> mechanism to send files there.
>
> I just found out that svnlook doing exactly what I need, but, damn, it's only
> administrative tool... gonna take some research and build some distribution
> scripts then... wish I could have similar tool working with repository through
> any of the supported SVN protocols...
Most people don't want something pushed to production just because it
shows up as a change in the repository. Normally you would have tested
a specific revision or tag copy, then you would run a script that
updates a staging location with that revision/tag and pushes copies of
that everywhere you want them. I think someone has posted here about
using a commit hook that would watch for tags with a certain pattern in
the names, so all you had to do from a client was copy to a tag with
that pattern in the name to trigger the push to production. You can run
svnlook in the commit hooks, so you might also use that to trigger extra
operations on the server side.
> LM> And by the way - your 'Reply-To: email setting makes it difficult to
> LM> respond back to the list.
>
> My Reply-To set to reply back to the list, since list software does not do
> that on itself (it must).
> This way, I can't be disturbed by unintended private messages, regular "reply"
> will go to the list. If you want to reply to me personally, copy my message to
> personal folder and issue a "Reply to author" command.
Sorry, false alarm. Thunderbird only shows your name in the reply-to:
and the reply even with "reply all" but it does have the list address in
the hidden part.
--
Les Mikesell
lesmikesell@gmail.com
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1522578
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re[2]: Want to set up SVN for a web app
Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Les Mikesell!
>>>> Fifth step is to make these changes available to public.
>>>> Here is the problem.
>>>> 1. Making public server another (readonly) working copy... not wise.
>> BA> It
>>>> 2. Continuous export's of the whole directory tree... not wise.
>> BA> Projects
>>
>> BA> What about:
>>
>> BA> 3. rsync (or ant or...) from your build server or other workstation that
>> BA> does have a working copy. This should be set up to exclude the .svn
>> BA> files and any .template type files you might use.
>>
>> My working copy not accessible from the world :) And I need purely production
>> server side solution, so I could just connect to it from anywhere and issue an
>> updating command. However, this "anywhere" more often will be my home machine,
>> but what about these unpredictable situations, where you loosing your server
>> files (all or part of them) and need to get it back up and running as fast as
>> possible?
LM> Rsync is typically used over ssh - with the command issued from the
LM> private/firewalled side. If you can connect to the server via ssh
LM> (perhaps even needing to establish a vpn first), rsync is a suitable
LM> mechanism to send files there.
I just found out that svnlook doing exactly what I need, but, damn, it's only
administrative tool... gonna take some research and build some distribution
scripts then... wish I could have similar tool working with repository through
any of the supported SVN protocols...
LM> And by the way - your 'Reply-To: email setting makes it difficult to
LM> respond back to the list.
My Reply-To set to reply back to the list, since list software does not do
that on itself (it must).
This way, I can't be disturbed by unintended private messages, regular "reply"
will go to the list. If you want to reply to me personally, copy my message to
personal folder and issue a "Reply to author" command.
--
WBR,
Andrey Repin (anrdaemon@freemail.ru) 02.04.2009, <22:11>
Sorry for my terrible english...
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1522294
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Want to set up SVN for a web app
Posted by Les Mikesell <le...@gmail.com>.
Andrey Repin wrote:
> Greetings, Bob Archer!
>
>>> Fifth step is to make these changes available to public.
>>> Here is the problem.
>>> 1. Making public server another (readonly) working copy... not wise.
> BA> It
>>> 2. Continuous export's of the whole directory tree... not wise.
> BA> Projects
>
> BA> What about:
>
> BA> 3. rsync (or ant or...) from your build server or other workstation that
> BA> does have a working copy. This should be set up to exclude the .svn
> BA> files and any .template type files you might use.
>
> My working copy not accessible from the world :) And I need purely production
> server side solution, so I could just connect to it from anywhere and issue an
> updating command. However, this "anywhere" more often will be my home machine,
> but what about these unpredictable situations, where you loosing your server
> files (all or part of them) and need to get it back up and running as fast as
> possible?
> Really, do you think I would expose my working machine to the world?
> Even my test server firewalled to the teeth. Working host even deeper inside
> my own LAN, only accessible from dark and scary tunnel in server. With
> toothy dog laid on the other end of it.
Rsync is typically used over ssh - with the command issued from the
private/firewalled side. If you can connect to the server via ssh
(perhaps even needing to establish a vpn first), rsync is a suitable
mechanism to send files there.
And by the way - your 'Reply-To: email setting makes it difficult to
respond back to the list.
--
Les Mikesell
lesmikesell@gmail.com
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1522135
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re[4]: Want to set up SVN for a web app
Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Bob Archer!
>> Fifth step is to make these changes available to public.
>> Here is the problem.
>> 1. Making public server another (readonly) working copy... not wise.
BA> It
>> 2. Continuous export's of the whole directory tree... not wise.
BA> Projects
BA> What about:
BA> 3. rsync (or ant or...) from your build server or other workstation that
BA> does have a working copy. This should be set up to exclude the .svn
BA> files and any .template type files you might use.
My working copy not accessible from the world :) And I need purely production
server side solution, so I could just connect to it from anywhere and issue an
updating command. However, this "anywhere" more often will be my home machine,
but what about these unpredictable situations, where you loosing your server
files (all or part of them) and need to get it back up and running as fast as
possible?
Really, do you think I would expose my working machine to the world?
Even my test server firewalled to the teeth. Working host even deeper inside
my own LAN, only accessible from dark and scary tunnel in server. With
toothy dog laid on the other end of it.
--
WBR,
Andrey Repin (anrdaemon@freemail.ru) 02.04.2009, <21:46>
Sorry for my terrible english...
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1521906
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
RE: Re[2]: Want to set up SVN for a web app
Posted by Bob Archer <bo...@amsi.com>.
> Fifth step is to make these changes available to public.
> Here is the problem.
> 1. Making public server another (readonly) working copy... not wise.
It
> 2. Continuous export's of the whole directory tree... not wise.
Projects
What about:
3. rsync (or ant or...) from your build server or other workstation that
does have a working copy. This should be set up to exclude the .svn
files and any .template type files you might use.
BOb
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1521313
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Want to set up SVN for a web app
Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Ryan Schmidt!
>> Make sure you have .svn and CVS directories masked out of direct
>> access.
>> for Apache, it is done by specifying
>>
>> RewriteEngine On
>> RewriteRule "(.+/)?(\.svn|CVS)/" "/" [F,L]
>>
>> In either .htaccess file or VirtualHost configuration.
> Yes, this is a good idea. For comparison, I do it this way, for Apache:
> RedirectMatch 404 .*/\.svn(/|$)
> Doesn't need mod_rewrite.
Yes, this one probably the most efficient way of doing this.
> Enhance for CVS directories if needed.
> I prefer to make them return 404 Not Found instead of 403 Forbidden.
> No need to give the world any indication that there's a working copy
> at all.
:) May be...
--
WBR,
Andrey Repin (anrdaemon@freemail.ru) 03.04.2009, <14:50>
Sorry for my terrible english...
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1531153
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: Re[2]: Want to set up SVN for a web app
Posted by Ryan Schmidt <su...@ryandesign.com>.
On Apr 2, 2009, at 11:09, Andrey Repin wrote:
> Make sure you have .svn and CVS directories masked out of direct
> access.
> for Apache, it is done by specifying
>
> RewriteEngine On
> RewriteRule "(.+/)?(\.svn|CVS)/" "/" [F,L]
>
> In either .htaccess file or VirtualHost configuration.
Yes, this is a good idea. For comparison, I do it this way, for Apache:
RedirectMatch 404 .*/\.svn(/|$)
Doesn't need mod_rewrite.
Enhance for CVS directories if needed.
I prefer to make them return 404 Not Found instead of 403 Forbidden.
No need to give the world any indication that there's a working copy
at all.
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1527816
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].