m (→Importing a Book: adding content about importing) |
m (→Importing a Book: adding content w00t) |
||
Line 59: | Line 59: | ||
rm /local/path/to/My_New_Book.backup -rf | rm /local/path/to/My_New_Book.backup -rf | ||
</pre> | </pre> | ||
=== Checkout a Book === | |||
You only need to checkout a book once. Checking out a book will store a local copy on your machine. Change into the directory where you want to store a local copy of the book, and run the following command: | |||
<pre> | |||
svn co https://path/to/svn/repository/My_New_Book | |||
</pre> | |||
=== Checkout a Book Branch === | |||
Run the following command to checkout a book branch: | |||
<pre> | |||
svn co -N https://path/to/svn/repository/My_New_Book/path/to/branch | |||
</pre> | |||
This command only checkouts the book specified by <code>My_New_Book/path/to/branch</code>. The <code>-N</code> option is non-recursive, so only the directory or branch specified is downloaded, instead of the entire book. |
Revision as of 02:07, 31 July 2008
Subversion
Note to Red Hat employees: the content in the following sections was copied with permission.
Subversion (SVN) is a version control system. It replaces CVS and, like its forebear, keeps track of changes made to books. The Subversion project is hosted by Tigris.org and a command reference can be downloaded in PostScript format from the site. (NB: Evince, the PDF and PostScript file viewer included with Fedora can display PostScript files.)
Configuring an SVN Editor
Add the following line to your ~/.bashrc
file to see a list of files that will be committed during an SVN commit:
export SVN_EDITOR=/bin/vi
After configuring the SVN_EDITOR
variable, running the svn ci
command displays list of files that have been modified. This is useful if you accidentally modified a file that you do not want to commit back into SVN. Running the svn ci -m "this is a log file"
command does display which files have changed, that is, the files that are being committed back into SVN.
Commonly used Terms
Familiarize yourself with the following terms before proceeding:
- import: import a local copy of a book into SVN. If you create a book using the publican
create_book
command, you need to import this copy onto the server. Running thesvn import
command copies your local copy onto the SVN server.
- checkout: checkout a book from an SVN server. This copies an existing book from an SVN server onto your local machine. You only need to checkout a book once. Periodically run the
svn up
command to update your local copy with changes other people have made.
- commit: commit your changes back into SVN. This updates the server copy with the changes you have made. Run the
svn ci
command to update the server copy with your changes.
SVN Basics
Below are the most basic SVN functions and commands you need to learn:
Getting Help
- Run the
svn help
command to display a list of SVN subcommands. - Run the
svn help subcommand
command, wheresubcommand
is an SVN subcommand, to display the help for that subcommand. For example, running thesvn help add
command displays help for thesvn add
command.
Importing a Book
If you created a new book using the publican create_book
command, you need to import your local copy into an SVN repository. Run the following command to add your local copy to the server:
svn import /local/path/to/My_New_Book https://path/to/svn/repository/My_New_Book
The svn import
command imported your local copy into SVN, but has not marked your local copy as a checked-out version of the newly created repository. To resolve this, first backup your local copy:
mv My_New_Book My_New_Book.backup
Check the book out using the <command>svn co command:
svn co https://path/to/svn/repository/My_New_Book
When you are happy that the book has been checked-out correctly, remove the backup copy. Be very careful with this command:
rm /local/path/to/My_New_Book.backup -rf
Checkout a Book
You only need to checkout a book once. Checking out a book will store a local copy on your machine. Change into the directory where you want to store a local copy of the book, and run the following command:
svn co https://path/to/svn/repository/My_New_Book
Checkout a Book Branch
Run the following command to checkout a book branch:
svn co -N https://path/to/svn/repository/My_New_Book/path/to/branch
This command only checkouts the book specified by My_New_Book/path/to/branch
. The -N
option is non-recursive, so only the directory or branch specified is downloaded, instead of the entire book.