Description

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:

If you fail to specify either the
--message or --file option,
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, save
again, then abort.

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:

(The exact wording of this error message depends on the
network protocol and server you're using, but the idea is the
same in all cases.)

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 most of your
day-to-day use of Subversion will involve only the commands
that we've discussed so far in this chapter. We will,
however, cover a few more commands that you'll use fairly
often.