Difference between revisions of "Subversion"

From ReactOS Wiki
Jump to: navigation, search
(Usage of the SVN clients)
m (maintenance)
Line 1: Line 1:
== What is Subversion? ==
+
'''Subversion''' is a version control system and used by ReactOS.
 +
 
 
ReactOS source code was in a CVS repository up to December 30th 2004. Since January 1st 2005, the source code is in a Subversion (SVN) repository.
 
ReactOS source code was in a CVS repository up to December 30th 2004. Since January 1st 2005, the source code is in a Subversion (SVN) repository.
SVN, just like CVS before it, is the most recent evolution of source code control and versioning systems. SVN is open-source software.
 
 
== Access the sources ==
 
To download the sources, you will need an SVN client.
 
  
The ReactOS SVN url is svn://svn.reactos.org/reactos/trunk/reactos
+
= Access the sources =
 +
To download the sources, you will need an [[wikipedia:Comparison of Subversion clients|SVN client]].
  
The ReactOS Applications SVN url is svn://svn.reactos.org/reactos/trunk/rosapps
+
Sourcecode locations:
 +
* ReactOS - {{Svn-server}}reactos/trunk/reactos
 +
* RosApps - {{Svn-server}}reactos/trunk/rosapps
  
=== Windows ===
+
== Windows ==
 
For Windows, we recommend using the [http://tortoisesvn.net/downloads TortoiseSVN] client, which nicely integrates into the Windows Explorer.
 
For Windows, we recommend using the [http://tortoisesvn.net/downloads TortoiseSVN] client, which nicely integrates into the Windows Explorer.
  
 
Another SVN Client is the [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 SVN command line client]. This one is also bundled with the [[ReactOS Build Environment]] for Windows.
 
Another SVN Client is the [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 SVN command line client]. This one is also bundled with the [[ReactOS Build Environment]] for Windows.
  
=== Other platforms ===
+
== Other platforms ==
 
* The command line client for some other platforms is available at http://subversion.tigris.org/project_packages.html
 
* The command line client for some other platforms is available at http://subversion.tigris.org/project_packages.html
 
* [http://subclipse.tigris.org/ Subclipse (Plugin for Eclipse)]
 
* [http://subclipse.tigris.org/ Subclipse (Plugin for Eclipse)]
  
=== Browse the sources online ===
+
== Browse the sources online ==
You can also view the sources in the repository online by visiting http://svn.reactos.org/svn/reactos with a browser.
+
You can also view the sources in the repository online by visiting our [http://svn.reactos.org/svn/reactos ViewVC] with a browser.
  
== Usage of the SVN clients ==
+
= Usage of the SVN clients =
 
The usage of the SVN clients is described in a separate article for each client:
 
The usage of the SVN clients is described in a separate article for each client:
* [[Using TortoiseSVN]]
+
* TortoiseSVN
* [[Merging with TortoiseSVN]]
+
** [[Using TortoiseSVN]]
* [[Using the SVN command line client]]
+
** [[Merging with TortoiseSVN]]
 +
* other
 +
** [[Using the SVN command line client]]
  
== Commit mails ==
+
= Commit mails =
Mails with changes in each commit are sent to the mailing list ''ros-diffs''.
+
Mails with changes in each commit are sent to the mailing list [http://www.reactos.org/archives/public/ros-diffs/ ros-diffs].
 
They will be plain text mails, which contain the differences in this revision.
 
They will be plain text mails, which contain the differences in this revision.
  
 
Read the [http://www.reactos.org/?page=community_mailinglists Mailing Lists] page for more information about the mailing lists.
 
Read the [http://www.reactos.org/?page=community_mailinglists Mailing Lists] page for more information about the mailing lists.
  
== Request commit (write) access ==
+
= Request commit (write) access =
=== Applying for write access ===
+
== Applying for write access ==
 
Once you have started submitting patches and new code to the project you can be considered for application. We would prefer not to give access to someone who makes two or three updates and then never again. Also, if you are only going to submit patches now and again, you should file a bug in our [[Bugzilla]] and attach the patch file to it.
 
Once you have started submitting patches and new code to the project you can be considered for application. We would prefer not to give access to someone who makes two or three updates and then never again. Also, if you are only going to submit patches now and again, you should file a bug in our [[Bugzilla]] and attach the patch file to it.
 
If, however, you become a contributing developer on a continuing basis, you should definitely consider applying for write access.  
 
If, however, you become a contributing developer on a continuing basis, you should definitely consider applying for write access.  
  
=== Who to ask ===
+
== Who to ask ==
 
Join the ReactOS IRC channel [irc://irc.freenode.net/reactos #reactos] and ask.
 
Join the ReactOS IRC channel [irc://irc.freenode.net/reactos #reactos] and ask.
  
== Troubleshooting ==
+
= Troubleshooting =
=== SVN Update says: Object with the same name already exists ===
+
== SVN Update says: Object with the same name already exists ==
 
When you update your working copy, you may get the error message ''object with the same name already exists''.
 
When you update your working copy, you may get the error message ''object with the same name already exists''.
  
Line 53: Line 55:
 
* Remove all files and directories in the working copy that are unknown to Subversion and then update your working copy again.
 
* Remove all files and directories in the working copy that are unknown to Subversion and then update your working copy again.
  
== More information ==
+
= More information =
 
A complete book about Subversion is available online at http://svnbook.red-bean.com.
 
A complete book about Subversion is available online at http://svnbook.red-bean.com.

Revision as of 10:33, 27 October 2008

Subversion is a version control system and used by ReactOS.

ReactOS source code was in a CVS repository up to December 30th 2004. Since January 1st 2005, the source code is in a Subversion (SVN) repository.

Access the sources

To download the sources, you will need an SVN client.

Sourcecode locations:

Windows

For Windows, we recommend using the TortoiseSVN client, which nicely integrates into the Windows Explorer.

Another SVN Client is the SVN command line client. This one is also bundled with the ReactOS Build Environment for Windows.

Other platforms

Browse the sources online

You can also view the sources in the repository online by visiting our ViewVC with a browser.

Usage of the SVN clients

The usage of the SVN clients is described in a separate article for each client:

Commit mails

Mails with changes in each commit are sent to the mailing list ros-diffs. They will be plain text mails, which contain the differences in this revision.

Read the Mailing Lists page for more information about the mailing lists.

Request commit (write) access

Applying for write access

Once you have started submitting patches and new code to the project you can be considered for application. We would prefer not to give access to someone who makes two or three updates and then never again. Also, if you are only going to submit patches now and again, you should file a bug in our Bugzilla and attach the patch file to it. If, however, you become a contributing developer on a continuing basis, you should definitely consider applying for write access.

Who to ask

Join the ReactOS IRC channel #reactos and ask.

Troubleshooting

SVN Update says: Object with the same name already exists

When you update your working copy, you may get the error message object with the same name already exists.

Subversion displays the error message because the directory is replaced in the repository and your working copy contains data which is unknown to Subversion (Your working copy is locally modified). Since Subversion does everything it can to not cause harm to your data, you must remove or move the data which is not in the repository out of the working copy.

This scenario won't happen very often though. You have two options to correctly resolve the problem:

  • Remove the affected directory and update your working copy again.
  • Remove all files and directories in the working copy that are unknown to Subversion and then update your working copy again.

More information

A complete book about Subversion is available online at http://svnbook.red-bean.com.