English 中文(简体)
源代码控制设置
原标题:
  • 时间:2008-11-24 19:54:31
  •  标签:

我想为我的业余项目在家里安装一个Subversion设置,并且我正在尝试做正确的事情,第一次(我工作的源代码控制政策或缺乏这些政策,嗯,不是完美的)。

我挣扎的问题是:我想版本控制整个 Eclipse 项目。从 Eclipse 的角度来看,这将是很好的 - 我只需要让它自己完成它的事情,而且应该只需要忽略一些二进制文件/整个构建目录并在设置项目时设置这些忽略(对吗?)。无论如何,我已经尝试了几次,但 svn 似乎会混淆并忽略我的忽略设置。正确的程序是什么?

谢谢。

PS我正在使用命令行做svn部分,尽量避免使用GUI,直到我对它满意。

问题回答

基本上有两种方法来指示子版本忽略文件,即按名称或按模式。

第一种方法是找到配置文件(位置取决于平台),并将文件名或模式添加到全局忽略列表中。这适用于机器上的所有svn操作或该用户。

第二种方法是在版本控制的目录上设置 svn:ignore 属性,例如:

svn propedit svn:ignore myDirectory

这会打开一个svn:ignore属性的编辑器,你可以在里面添加例如:

bin
obj
*.bak

请注意,此属性更改也有版本,并且需要提交,之后他们适用于在该目录上工作的所有人(当然要进行更新)。此属性不递归地应用于子目录。

有关更多信息,请参见svn书

如果你通过名称显式地添加被忽略的文件,Subversion不会阻止你svn add,但它可能会发出警告。svn:ignore属性主要是为了防止它们出现在svn status中。 (请注意,这是机器翻译,如有不准确之处,请见谅并告知)

据我所知,svn:ignore属性不会递归,因此它只对设置在目录上的一级子目录起作用。

If you on a linux box, you can try these steps, if on windows, pretty the installer shall do things for you. https://help.ubuntu.com/community/Subversion

Also the subversion book might help http://svnbook.red-bean.com/en/1.5/index.html

你能具体些,解释一下 svn 出现混淆的具体情况吗?记住,svn:ignore 属性是针对每个目录进行设置的;即如果你想忽略 ./bar./bar/abc 目录中的 .foo 文件,你需要分别编辑每个目录的属性。是的,这很麻烦。

我已经添加了一些项目到源代码控制中,这里是一个更高层次的描述:

一种方法是导入一个空的顶层文件夹,然后svn checkout,然后将项目文件复制到该工作副本中,然后svn添加除要忽略的文件之外的所有文件(或svn还原特定文件/文件夹)并根据需要设置忽略属性,然后提交。

另一种方法是复制项目文件,手动删除要忽略的文件和文件夹,然后进行 svn 导入。然后删除那些文件。然后进行 svn checkout,然后设置该工作副本的忽略属性并 svn commit。然后将原始被忽略的文件/文件夹复制到工作副本中。

当然,如果全球忽略的事情越多,这些步骤就越容易。





相关问题
热门标签