Subclipse 包括未版本化的文件和您在打开提交对话框时专门标记为添加的文件。它不能完美地反映命令行客户端的行为。您有两个选择:在 Subclipse 提交对话框中取消选中您不想提交的每个文件或使用命令行svn
工具提交。命令行工具只会提交您标记为要添加的文件,而忽略其他文件。这是一个简单的例子:
$ touch file
$ svn status
? file
$ svn add file
A file
$ svn status
A file
$ touch file2
$ svn status
? file2
A file
$ svn commit -m "Added empty file"
Adding file
Transmitting file data .
Committed revision 2.
?
表示 svn 不知道的文件,不会被自动置于版本控制之下svn commit
。 A
表示计划添加的新文件。Subclipse 试图通过允许您“将文件添加到版本控制”来反映这种行为,这相当于命令行svn add
。但还包括未计划在其提交对话框中添加的未版本控制的文件(我个人觉得这有点烦人)。如果您svn status
在命令行上运行,您在 Subclipse 中“添加到版本控制”的那些文件将被标记为 ,A
而那些您没有被标记为?
. 您不必运行任何svn add
命令,因为您已经在 Subclipse 中执行了该操作。