2013-04-08 100 views
0

决定从CVS跳转到SVN。Subclipse SVN第一次提交忽略某些目录

我在我的项目的subclipse中设置一个新的存储库。当我去'完成'它想要做一个初始提交的设置,并呈现给我一个文件的平面列表来选择文件进行版本控制。

问题是我有数千个生成的二进制文件,我不想提交。

所以我点击取消,因为它需要我整天去取消选择所有不需要的文件。烦人的是,当我点击一个父类别的文件,我想忽略它不递归!

所以我点击取消,然后转到项目的eclipse目录结构,并手动设置svn:忽略所有我想忽略的目录。然后我尝试再次做一次提交,并再次提交所有文件 - 忽略似乎什么也没做。

有人可以指出我可能做错了什么吗?

回答

1

对于第一次提交,我建议编写一个小脚本来删除(当然,你将拥有一个备份)所有不需要提交的文件。

之后,如果你发现你不小心犯了一个文件,你可以

svn delete file 

在第一结账,复制回(或更好,但再生)所有的二进制文件。这将触发svn注意到您的本地存储库与远程存储库不同步。

cd <Root of local repository> 
svn status 

你会看到很多“被添加”的项目。转到父目录并为每个生成的项目添加svn:ignore属性。这将打开一个编辑器(如果没有,你需要设置环境变量SVN_EDITOR为合适的编辑器)。然后你可以添加svn知道没有被跟踪的条目。

(in the ignore property editor) 

target 
build 
image* 
*.o 

(and so on) 

保存文件,这将是上演下一个承诺。后续运行的svn status将不再显示这些文件为“需要添加”,但它们会将目录显示为“需要提交(它是对目录的修订版)”

+0

感谢您的建议。我删除了所有生成的文件并保留其父目录。然后,我提交了该项目并取消选中包含二进制文件的几个目录。一旦提交完成,我可以回去svn:忽略父目录我不希望svn版本。然后在下次全面更新时,这些文件不包含在内,不需要再次取消选择。我有点惊讶,没有一种方法可以在第一次导入时轻松取消目录。虽然.. – someuser 2013-04-08 18:50:58

+0

@l_t这听起来像你在路上很好。请记住,如果除了文件之外还生成目录,最好不要检查生成的目录,否则如果你的构建版本删除并重新创建,svn系统会不断抱怨。如果他们已经被检查过了,那没什么大不了的,你总是可以'删除'它们。至于惊喜,你越想它,惊喜就越少。列出所有“不想要的”目录的选项与仅列出“想要的”目录的选项一样差。 – 2013-04-08 19:14:19