Skip to content
Snippets Groups Projects
Commit 6ca2d9a1 authored by Axel Beckert's avatar Axel Beckert Committed by Claude Becker
Browse files

how_to_start_with_subversion: Reformat and Reindent headings

parent 5c460bb6
No related branches found
No related tags found
No related merge requests found
......@@ -6,27 +6,27 @@ Based on our own experience we recommend Git instead of Subversions nowadays if
* [[Git Basics]]
* [[Advanced Git Hints]]
==== Differences to CVS ====
===== Differences to CVS =====
While CVS is file based and sees no relationship between files except in which directory they reside, Subversion (SVN) sees a project as a whole thing with one global state and not the states of many single files. So revision numbers are global for a whole project. One revision means a consistent state over all files. Another revision number specific difference is that revision numbers are integers and start with revision 1 at import.
Another effect of Subversion's global view is, that also directories have revisions, that files can be moved around or copied with theirt whole history without fiddling around in the repository itself. Then also file properties (MIME type, svn:ignore for directories, arbitary, project-specific properties, etc.) are versioned in the repository, too.
==== Create a repository for your project ====
===== Create a repository for your project =====
If you collaborate within a group of people, all participants should have read and write access. Nobody else should have write access.
=== Create it on one of our group drives ===
==== Create it on one of our group drives ====
If all your contributors do have a D-PHYS account and access to the same group drive, you can host your Subversion repository on that's group's drive. To allow it to be used on all our Linux workstations independent of the Subversion version being installed, you need to configure some backwards compatibility:
<code>ssh login.phys.ethz.ch svnadmin create --pre-1.5-compatible /home/<group name>/[<some optional path>/]<your project repository></code>
You then can always use ''%%svn+ssh://login.phys.ethz.ch/home/<group name>/[<some optional path>/]<your project repository>%%'' as URL for your repository.
=== Create it at the default location (if you are the server administrator) ===
==== Create it at the default location (if you are the server administrator) ====
<code>svnadmin create /var/lib/subversion/[<group directory>/]<your project repository></code>
===== General Subversion Usage =====
==== Import project ====
<code>cd ..
svn import -m "Initial import" <your old project directory> <access-scheme>://<server>/[<group directory>/]<your project repository></code>
......@@ -62,7 +62,7 @@ svn update''
(Shortcut: stat or st instead of status)
==== Show Locally Changed Files only ====
=== Show Locally Changed Files only ===
''svn status --quiet''
......@@ -70,7 +70,7 @@ svn update''
Typical use: ''svn st -q''
==== Show Updates available in the Repository ====
=== Show Updates available in the Repository ===
''svn status --show-updates''
......@@ -84,11 +84,11 @@ Typical use: ''svn st -u''
Typical use: ''svn diff <filename>''
==== Show Changes Between Local Copy and Revision <x> ====
=== Show Changes Between Local Copy and Revision <x> ===
''svn diff -r<x>''
==== Show Changes Between Revisions <n> and <n> ====
=== Show Changes Between Revisions <n> and <n> ===
''svn diff -r<n>-<n>''
......@@ -136,7 +136,7 @@ svn move <source> <target>''
(Shortcuts: cp and mv instead of copy and move, rename instead of move also works.)
==== More information ====
===== More information =====
If you need a quick reference for one Subversion subcommand, e.g. update, use
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment