我在SVN上有这样的目录结构(对于TYPO3网页):
webroot/
fileadmin/
css/
ts/
typo3conf/
ext/
...
我检出了 fileadmin 和 typo3conf 到我服务器的webroot。 后来我不得不将一些文件添加到webroot本身(即不进入上面的一个子目录)。
现在,如果我尝试将 webroot 签出到我的服务器,SVN会抱怨现有的子树(fileadmin,typo3conf)。 --force
标志也不起作用。
我找到了一些来回移动子树的解决方案。但这对我来说不是一个选择,因为这是一个正在运行的服务器。
是否有其他选项而无需移动已检出的子树?
答案 0 :(得分:0)
只有当您的svn存储库包含带有子目录webroot
和fileadmin
的{{1}}目录时,才能执行此操作。
否则,您首先必须创建这样的目录结构。然后,实现您想要的一种方法是替换您的实时typo3conf
目录。
为此你可以查看一个新的.svn
实例,并且(如果你真的希望你的实时文件不受影响)扔掉除webroot
目录之外的所有内容。
然后在您的实时目录.svn
上删除所有目录webroot
,并将其替换为新结帐中的目录。
之后,在您的实时.svn
目录中有一个一致的svn目录结构,您应该可以在顶级目录中添加文件。
答案 1 :(得分:0)
如果最终找到了一个非常简单的解决方案:首先,我将 webroot 存储库以“immediates”的深度签出到临时文件夹中:
mkdir tmp
svn co --depth immediates URL/webroot tmp
A tmp/typo3conf
A tmp/fileadmin
A ....
然后我将整个父.svn移动到未版本化的父目录:
mv -R tmp/.svn webroot/
就是这样!