Version Control with Subversion - Basic Work Cycle - Commit Your Changes
Commit Your Changes
Finally! Your edits are finished, you've merged all
changes from the server, and you're ready to commit your
changes to the repository.
The
svn commit
command sends all of
your changes to the repository. When you commit a change, you
need to supply a log message,
describing your change. Your log message will be attached to
the new revision you create. If your log message is brief,
you may wish to supply it on the command line using the
--message (or -m )
option:
$ svn commit --message "Corrected number of cheese slices."
Sending sandwich.txt
Transmitting file data .
Committed revision 3.
However, if you've been composing your log message as you
work, you may want to tell Subversion to get the message from
a file by passing the filename with the
--file switch:
$ svn commit --file logmsg
Sending sandwich.txt
Transmitting file data .
Committed revision 4.
If you fail to specify either the
--message or --file switch,
then Subversion will automatically launch your favorite editor
(see the editor-cmd section in
the section called “Config”) for composing a log
message.
Tip
If you're in your editor writing a commit message and
decide that you want to cancel your commit, you can just
quit your editor without saving changes. If you've already
saved your commit message, simply delete the text and save
again.
$ svn commit
Waiting for Emacs...Done
Log message unchanged or not specified
a)bort, c)ontinue, e)dit
a
$
The repository doesn't know or care if your changes make
any sense as a whole; it only checks to make sure that nobody
else has changed any of the same files that you did when you
weren't looking. If somebody
has
done
that, the entire commit will fail with a message informing you
that one or more of your files is out-of-date:
$ svn commit --message "Add another rule"
Sending rules.txt
svn: Commit failed (details follow):
svn: Out of date: 'rules.txt' in transaction 'g'
At this point, you need to run
svn
update
, deal with any merges or conflicts that
result, and attempt your commit again.
That covers the basic work cycle for using Subversion.
There are many other features in Subversion that you can use
to manage your repository and working copy, but you can get by
quite easily using only the commands that we've discussed so
far in this chapter.
[an error occurred while processing this directive]
|