本手册旨在描述 Subversion 1.4。如果您正在运行较新的 Subversion 版本,我们强烈建议您访问 https://svnbook.subversion.org.cn/ 并查阅与您的 Subversion 版本相符的版本。
svn commit — 将更改从工作副本发送到仓库。
将更改从工作副本发送到仓库。如果您没有使用 --file 或 --message 选项在提交时提供日志消息,svn 会启动您的编辑器以供您撰写提交消息。请参阅 名为“配置”部分 中的 editor-cmd 部分。
svn commit 会发送它找到的所有锁定令牌,并释放对所有提交的 PATHS(递归地)的锁定,除非传递了 --no-unlock 选项。
如果您开始提交,并且 Subversion 启动了您的编辑器以撰写提交消息,您仍然可以放弃提交而不提交您的更改。如果您要取消提交,只需退出您的编辑器而不保存您的提交消息,Subversion 会提示您中止提交、继续而不写消息或再次编辑消息。
--message (-m) TEXT --file (-F) FILE --quiet (-q) --no-unlock --non-recursive (-N) --targets FILENAME --force-log --username USER --password PASS --no-auth-cache --non-interactive --encoding ENC --config-dir DIR
使用命令行上的提交消息以及当前目录(“.”)的隐式目标,提交对文件的简单修改
$ svn commit -m "added howto section." Sending a Transmitting file data . Committed revision 3.
使用名为 msg 的文件中的提交消息,提交对文件 foo.c(在命令行上显式指定)的修改
$ svn commit -F msg foo.c Sending foo.c Transmitting file data . Committed revision 5.
如果您要使用版本控制下的文件作为提交消息,并使用 --file 选项,则需要传递 --force-log 选项
$ svn commit --file file_under_vc.txt foo.c svn: The log message file is under version control svn: Log message file is a versioned file; use '--force-log' to override $ svn commit --force-log --file file_under_vc.txt foo.c Sending foo.c Transmitting file data . Committed revision 6.
提交计划删除的文件
$ svn commit -m "removed file 'c'." Deleting c Committed revision 7.