上下文是,我有一个现成的CMS,我想要对其进行定制。因此,我想将我修改的文件保存在版本控制下,但我不认为需要将整个文件树都放入版本控制。
我的问题是,我需要添加一个文件以便将其保存在版本控制下,该文件位于几个子目录下,但我不想除了该文件和其父文件夹之外添加其他任何东西到仓库中。
举个例子,假设我在项目中有以下文件: project/folder1/folder2/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版本,最好在这个时间点上避免升级。
我的问题是,我需要添加一个文件以便将其保存在版本控制下,该文件位于几个子目录下,但我不想除了该文件和其父文件夹之外添加其他任何东西到仓库中。
举个例子,假设我在项目中有以下文件: project/folder1/folder2/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选项不足的方法?或者是否有另一种解决这个问题的方法?我也在想,也许我一开始设置它的方式不是很有帮助。