Skip to content
This repository
Browse code

Removed 'subversion' docs

No longer required since we've successfully switched to git
  • Loading branch information...
commit ee71356fcaaa9ea3ec9689e1ac1b5495843ad429 1 parent 63afdba
Ingo Schommer authored June 27, 2012
1  docs/en/misc/index.md
Source Rendered
@@ -8,7 +8,6 @@ sections.
8 8
 * [Module release process](module-release-process): Creating and looking after a module
9 9
 * [Release process](release-process): Describes the Framework and CMS release process
10 10
 * [SS markdown](ss-markdown): Markdown syntax for our technical documentation
11  
-* [Subversion](subversion): Describes SilverStripe-specific information on how to handle subversion
12 11
 
13 12
 ## Feedback
14 13
 
175  docs/en/misc/subversion.md
Source Rendered
... ...
@@ -1,175 +0,0 @@
1  
-## Subversion
2  
-
3  
-Subversion [website](http://subversion.tigris.org) is a **version control system**.
4  
-You can browse our Subversion "code repository" [here](http://open.silverstripe.com/browser), however we now use GIT to 
5  
-manage our modules (see [Contributing](contributing)).
6  
-
7  
-This page only describes SilverStripe-specific information on how to handle subversion. For a general introduction,
8  
-please read the [Official Subversion Book](http://svnbook.red-bean.com/) (available free online).
9  
-
10  
-Start with the ["Basic Usage" chapter](http://svnbook.red-bean.com/en/1.5/svn.tour.html).
11  
-
12  
-### Clients
13  
-Make sure you have an updated [subversion client](http://subversion.tigris.org/links.html#clients) installed.
14  
-Subversion 1.5 or higher is required for features such as relative externals and merge tracking.
15  
-
16  
-### Checkout / Download
17  
-See [Download SilverStripe](http://silverstripe.org/download) and the
18  
-["Update your working copy" chapter](http://svnbook.red-bean.com/en/1.5/svn.tour.cycle.html#svn.tour.cycle.update).
19  
-
20  
-### Committing
21  
-The SilverStripe core and modules require permission to commit code. 
22  
-Please have a look at our [contributors guidelines](contributing) to find out how you can gain access.
23  
-
24  
-### Configuring subversion for correct newline handling
25  
-You should configure your subversion client to set the ''svn:eol-style'' property to ''native'' on all text files checked into the system.  This will ensure that we don't run into troubles, getting non-unix newlines inside our repository.
26  
-
27  
-To do this, edit your ''~/.subversion/config'' file on your development machine, and add the following settings.  Note that if you already have ''[miscellany]'' and ''[auto-props]'' sections, you should combine these settings with the existing sections, rather than doing a blind copy & paste to the end of the file.
28  
-
29  
-	:::php
30  
-	[miscellany]
31  
-	enable-auto-props = yes
32  
-
33  
-	// Section for configuring automatic properties.
34  
-	[auto-props]
35  
-	*.js = svn:eol-style=native
36  
-	*.html = svn:eol-style=native
37  
-	*.inc = svn:eol-style=native
38  
-	*.css = svn:eol-style=native
39  
-	*.php = svn:eol-style=native
40  
-	*.xml = svn:eol-style=native
41  
-	*.csv = svn:eol-style=native
42  
-	*.htm = svn:eol-style=native
43  
-	*.ini = svn:eol-style=native
44  
-	*.json = svn:eol-style=native
45  
-	*.php5 = svn:eol-style=native
46  
-	*.py = svn:eol-style=native
47  
-	*.ss = svn:eol-style=native
48  
-	*.yml = svn:eol-style=native
49  
-	*.yaml = svn:eol-style=native
50  
-	*.xhtml = svn:eol-style=native
51  
-
52  
-Note that if the repository gets out of whack, the following commands run on a linux box will correct things in the current working copy:
53  
-
54  
-	find | grep -v \._ | \
55  
-	grep "\.\(js\|php\|css\|inc\|html\|html\|php5\|py\|json\|ini\|xml\|csv\)"\$ | \
56  
-	xargs svn propset svn:eol-style native
57  
-	
58  
-	find | grep -v \._ | \
59  
-	grep "\.\(js\|php\|css\|inc\|html\|html\|php5\|py\|json\|ini\|xml\|csv\)"\$ | \
60  
-	xargs dos2unix
61  
-
62  
-### Feature Branches
63  
-For more complicated bugfixes or longer-term development, you may want to create a Feature Branch. For example, you might want
64  
-to add support for other rich-text-editors within the CMS - a complex task which can't be contained in a single patch.
65  
-Feature branches are a copy of trunk, and usually have a short lifetime in which active development happens. 
66  
-**The feature branch maintainer is responsible for keeping his branch in sync with trunk and reintegrate when development 
67  
-is complete.**
68  
-
69  
-More information about ["Feature Branches"](http://svnbook.red-bean.com/en/1.5/svn.branchmerge.commonpatterns.html#svn.branchmerge.commonpatterns.feature), 
70  
-[merging changes](http://svnbook.red-bean.com/en/1.5/svn.branchmerge.html) and [resolving conflicts](http://svnbook.red-bean.com/en/1.5/svn.tour.cycle.html#svn.tour.cycle.resolve).
71  
-
72  
-#### Example: The 'nestedurls' branch
73  
-Example for a feature branch for the ''sapphire'' module called ''nestedurls''.
74  
-
75  
-Creating the branch is a simple matter of running the ''svn cp'' command (see [SVN Book: "Creating a Branch"](http://svnbook.red-bean.com/en/1.5/svn.branchmerge.using.html#svn.branchmerge.using.create)).
76  
-
77  
-	svn cp http://svn.silverstripe.com/open/modules/sapphire/trunk http://svn.silverstripe.com/open/modules/sapphire/branches/nestedurls
78  
-
79  
-
80  
-After creating a feature branch, you commit your changes as usual, but also merge in any new changes from trunk 
81  
-(see [SVN Book: "Keeping your Branch in Sync"](http://svnbook.red-bean.com/en/1.5/svn.branchmerge.basicmerging.html#svn.branchemerge.basicmerging.stayinsync)).
82  
-
83  
-	cd /your/nestedurls/working/copy
84  
-	svn merge http://svn.silverstripe.com/open/modules/sapphire/trunk
85  
-
86  
-Once you've finished your feature development (usually a timeframe around 4-8 weeks), you "reintegrate" your branch with the
87  
-trunk repository. This activity happens only once, and the feature branch has to be removed afterwards.
88  
-
89  
-	cd /your/trunk/working/copy
90  
-	svn merge --reintegrate http://svn.silverstripe.com/open/modules/sapphire/branches/nestedurls
91  
-
92  
-You can get information about the merge process (see 
93  
-[SVN Book: "Mergeinfo and Previews"](http://svnbook.red-bean.com/en/1.5/svn.branchmerge.basicmerging.html#svn.branchmerge.basicmerging.mergeinfo)).
94  
-
95  
-	cd /your/nestedurls/working/copy
96  
-	# revisions which are you still have to merge from trunk to your branch
97  
-	svn mergeinfo http://svn.silverstripe.com/open/modules/sapphire/trunk --show-revs eligible
98  
-	# revisions which are already merged from trunk to your branch
99  
-	svn mergeinfo http://svn.silverstripe.com/open/modules/sapphire/trunk
100  
-
101  
-### Troubleshooting
102  
-
103  
-#### SVN for your own websites
104  
-
105  
-Here is a step-by-step guide on how to work with SVN on your own site.  It oversimplifies some aspects, but it is a good
106  
-introduction. NOTE: you will need SSH and SVN installed and available on your server.
107  
-
108  
-*  Install LAMP / WAMP and an SVN application (Tortoise SVN on Windows)
109  
-*  Buy an SVN repository: http://www.SVNrepository.com/  OR set one up on your own server or look at freeby alternatives.
110  
-*  Go to your SVN repository server and create a new repository - I would recommend to name it after the site you are about to setup, e.g. myfirstsite.com.
111  
-*  Create / go to web folder on local LAMP/WAMP
112  
-*  SVN "checkout" your empty repository (e.g. http://sunny.SVNrepository.com/SVN/myaccountname/myfirstsite.com).
113  
-*  SVN "propedit" SVN:externals, add the following SVN property to the root directory:
114  
-
115  
-SVN:externals (also add your own general modules here, etc... etc... this should be a long list):
116  
-
117  
-	cms http://SVN.silverstripe.com/open/modules/cms/branches/2.4
118  
-	sapphire http://SVN.silverstripe.com/open/modules/sapphire/branches/2.4
119  
-
120  
-*  SVN "update" your project. All the various files should be imported now.
121  
-*  SVN "commit" your externals. 
122  
-*  In the root directory, create the following files: _ss_environment.php.sample, .htacess.sample and "commit" these to your repository.
123  
-*  Copy in local LAMP / WAMP environment: _ss_environment.php.sample to _ss_environment.php; and .htacess.sample to .htacess
124  
-*  Make sure that .htaccess and _ss_environment.php files are excluded from any commits.  This is another SVN property attached to the root directory: 
125  
-
126  
-	SVN:ignore:
127  
-	.htaccess
128  
-	_ss_environment.php
129  
-	assets
130  
-
131  
-*  Create assets folder in root directory
132  
-*  Your site should now be ready on your local WAMP / LAMP.  You can now create a mysite and themes folder, add all your files, edit, bla bla until your site is ready. Then SVN "add" and SVN "commit" all your files to your repository (usually, you do many commits)
133  
-*  Once you have created the site locally and committed it to your repository you should SSH to your web server (recommended application for windows is PUTTY)
134  
-*  Once logged in to your web server, browse to the root web folder 
135  
-*  Make sure SVN is installed on the server (just type SVN help or something to check).
136  
-*  SSH prompt, type: 
137  
-
138  
-	SVN checkout http://sunny.SVNrepository.com/SVN/myaccountname/myfirstsite.com . 
139  
-
140  
-<div class="hint" markdown="1">
141  
-Add a DOT at the end to check out files to current directory
142  
-</div>
143  
-
144  
-*  You should now have all your files on your webserver
145  
-*  Copy on the server (using SSH)
146  
-
147  
-	cp _ss_environment.php.sample  _ss_environment.php
148  
-	cp .htacess.sample  .htacess
149  
-
150  
-*  Edit these files: _ss_environment.php.sample , .htacess.sample, using the following SSH commands (if the nano application is not available then try pico):
151  
-
152  
-	nano _ss_environment.php.sample 
153  
-	nano .htacess.sample 
154  
-
155  
-*  Create a folder called assets and make sure permissions are set correctly
156  
-*  Website should now be up and running. (run dev/build to start). 
157  
-
158  
-#### A few point additional points:
159  
-* The whole concept of tags and branches have been left out, just to simplify.  
160  
-* We have also left out the idea of a test and live site.  The instructions here can be used to setup a test site.  Once you are happy with a test site you can move the code to a live site using the SVN "merge" command. In principle, this is how it works: open SSH and go to the root directory of the live site. Then type:
161  
-
162  
-	svn merge http://mysvnrepository/branches/live/ http://mysvnrepository/branches/test/
163  
-
164  
-* If you want to update a repository, but you want the repository on the webserver to be locked to a version then you need set the svn:externals as follows:
165  
-
166  
-	cms -r1234567 http://svn.silverstripe.com/open/modules/cms/branches/2.4
167  
-
168  
-where 1234567 is the revision of your repository that you want to use
169  
-
170  
-* If you want to get a better understanding of what is going on in a repository then use the following SVN commands: SVN "status" and SVN "info". 
171  
-* You can not and should not make any changes to any of the core modules and other modules added with svn:externals
172  
-
173  
-### Related
174  
-* [contributing](contributing)
175  
-* [release process](release-process)

0 notes on commit ee71356

Please sign in to comment.
Something went wrong with that request. Please try again.