Difference between revisions of "Subversion"
(change the table format) |
|||
Line 14: | Line 14: | ||
===CVS to SVN cross reference=== | ===CVS to SVN cross reference=== | ||
− | {| cellpadding="2" | + | {| cellpadding="2" cellspacing="0" border="1" |
+ | | *CVS command* | ||
+ | | *SVN command* | ||
+ | | *notes* | ||
|- | |- | ||
| cvs checkout | | cvs checkout | ||
− | |||
| svn checkout | | svn checkout | ||
+ | | | ||
|- | |- | ||
| cvs commit | | cvs commit | ||
− | |||
| svn commit | | svn commit | ||
+ | | | ||
|- | |- | ||
| cvs status | | cvs status | ||
− | | | + | | svn status |
− | | | + | | ...but the svn one is actually useful :) |
|- | |- | ||
| cvs log | | cvs log | ||
− | |||
| svn log | | svn log | ||
+ | | | ||
|- | |- | ||
| cvs annotate | | cvs annotate | ||
− | |||
| svn blame | | svn blame | ||
+ | | | ||
|- | |- | ||
| cvs diff | | cvs diff | ||
− | |||
| svn diff | | svn diff | ||
+ | | | ||
|- | |- | ||
| cvs update | | cvs update | ||
− | |||
| svn update, svn switch | | svn update, svn switch | ||
+ | | | ||
|- | |- | ||
| cvs update -C | | cvs update -C | ||
− | |||
| svn revert | | svn revert | ||
+ | | | ||
|- | |- | ||
| cvs update -j [...] | | cvs update -j [...] | ||
− | |||
| svn merge | | svn merge | ||
+ | | | ||
|- | |- | ||
− | | | + | | <nowiki> ---- </nowiki> |
− | |||
| svn resolved [conflicting merges must be explicitly resolved] | | svn resolved [conflicting merges must be explicitly resolved] | ||
+ | | | ||
|- | |- | ||
| cvs add | | cvs add | ||
− | |||
| svn add, svn mkdir | | svn add, svn mkdir | ||
+ | | | ||
|- | |- | ||
| cvs remove | | cvs remove | ||
− | |||
| svn delete | | svn delete | ||
+ | | | ||
|- | |- | ||
|<nowiki> ---- </nowiki> | |<nowiki> ---- </nowiki> | ||
− | |||
| svn move | | svn move | ||
+ | | | ||
|- | |- | ||
| cvs [r]tag [-b] | | cvs [r]tag [-b] | ||
− | |||
| svn copy | | svn copy | ||
+ | | | ||
|} | |} | ||
Revision as of 14:22, 4 December 2005
Now that the gnucash repository is using svn for version control (since 2005-11-04), the need for a quick tutorial on how to get the sources might be in order. There was some introduction about SVN in an e-mail on gnucash-devel:
The excellent "Version Control with Subversion is a very good resource for information about subversion.
Specifically, Chapter 3. Guided Tour and Appendix A. Subversion for CVS Users are relevant.
The command-line client `svn` has a nice integrated help system; `svn help` will provide the top-level command list, and `svn help <command>` detailed help for the specific command.
The bottom line is that getting the source via svn isn't altogether different from getting it using cvs.
CVS to SVN cross reference
*CVS command* | *SVN command* | *notes* |
cvs checkout | svn checkout | |
cvs commit | svn commit | |
cvs status | svn status | ...but the svn one is actually useful :) |
cvs log | svn log | |
cvs annotate | svn blame | |
cvs diff | svn diff | |
cvs update | svn update, svn switch | |
cvs update -C | svn revert | |
cvs update -j [...] | svn merge | |
---- | svn resolved [conflicting merges must be explicitly resolved] | |
cvs add | svn add, svn mkdir | |
cvs remove | svn delete | |
---- | svn move | |
cvs [r]tag [-b] | svn copy |
URLs
The various base URLs look like:
anonymous: http://svn.gnucash.org/repo/gnucash/trunk developer: svn+ssh://username@svn.gnucash.org/repo/gnucash/trunk trac: http://svn.gnucash.org/trac
Common Commands
To get what used to be CVS HEAD (and now includes what used to be gnucash-gnome2-dev), you will need to get the svn TRUNK:
svn checkout http://svn.gnucash.org/repo/gnucash/trunk gnucash
The argument "gnucash" above can be whatever you want your local directory to be called, and is optional. If you leave it out, you'll have a directory called "trunk" created containing all the source code.
If you want the latest 1.8.x code, you'd need to pull from the 1.8 branch, as follows:
svn checkout http://svn.gnucash.org/repo/gnucash/branches/1.8 gnucash-1.8
And if you want the released code for a specific release (or tag), you'd use:
svn checkout http://svn.gnucash.org/repo/gnucash/tags/1.8.12 gnucash-1.8.12
And to update, just cd into the directory containing the sources you want updated and execute a simple
svn update
Please examine the README.svn file for notes on compiling gnucash, and the HACKING file for notes on hacking the code.
Enjoy!