上下文是我有一个现成的CMS,我想进行自定义;所以我想保留我在版本控制下修改的文件,但我没有看到需要将整个文件树置于版本控制之下。
我的问题是我需要添加一个文件以保存在版本控制之下,该文件位于几个子目录下,但我不想在文件及其父文件夹旁边向存储库添加任何其他内容。 / p>
为了说明,我的项目中有以下文件:
项目/文件夹1 /文件夹2 / file.txt的
我想将file.txt添加到存储库,而folder1受版本控制,但folder2不受版本控制。 folder1和folder2中有现有文件,我不希望全部置于版本控制之下。
执行svn import folder1/folder2/file.txt
似乎不起作用,因为我需要检查文件,即使我先删除本地版本,SVN也会抱怨其父文件夹存在。我认为这意味着如果我使用--force选项,这只会破坏这些文件夹的内容。
svn add folder1/folder2/file.txt
的问题是它需要每个父文件夹都在存储库中(我从它无法找到folder2 / .svn / entries文件的事实中收集),但只有folder1是在存储库中。所以我想我先做svn add folder1/folder2
。问题是,这会将folder2的全部内容放入存储库,这是我不想要的。似乎解决方案是svn add --depth=empty folder1/folder2
只添加文件夹而没有内容,但是--depth选项是Subversion 1.5中的新功能,而我使用的是1.4.2,这样可以避免此时升级。
所以我想知道在旧版本的Subversion中是否存在缺少--depth选项的方法?或者是否有另一种方法可以解决这个问题“我也想知道我是否可能首先设置它的方式并不是那么有用。
答案 0 :(得分:37)
您应该添加带有“--non-recursive”选项的文件夹:
svn add --non-recursive folder1/folder2
答案 1 :(得分:26)
如果您的客户端版本为1.5或更高版本,则只需使用
即可svn add --parents folder1/folder2/file.txt
添加文件及其父目录。
答案 2 :(得分:16)
你也可以使用快速版“-N”,这是“ - non-recursive”的缩写形式,如
svn add -N folder1/folder2