我将当前的服务器内容移动到新的服务器内容,目前正在设置SVN。我对SVN相当熟悉,通常在提交和更新的范围内使用它。
我在旧服务器上有两个使用SVN的位置:
PROD位置:
/var/www/html/new_dwutils/
和本地:
/home/{user_name}/public_html/new_dwutils/
我的交互svn-wise通常在/ new_dwutils / level进行提交和更新。
注意:正在运行svn --version
表示我在两台服务器的版本1.6.11。
我现在正尝试在新服务器上重新创建此结构。我最初的想法是使用类似的东西创建svn repo:
svnadmin create /var/www/html/new_dwutils/
这会创建repo目录,但是,当我将文件复制到目录中时,我无法执行像status
这样的svn命令。但是,当我进入复制数据的子目录时,我可以使用svn命令。
这让我觉得repo是/ new_dwutils /并且复制的数据被认为是一个项目?那些子目录是工作副本呢?
想到这个想法,我删除了回购,并使html目录成为回购:
svnadmin create /var/www/html/
然后我复制了我的new_dwutils目录,果然,我能够像我一样使用svn命令。我注意到的是,在创建回购时,会添加一些以前服务器上没有的内容:conf/
,db/
,format
,hooks/
,locks/
和README.txt
。我知道这些是svn文件,但我没有看到.svn文件。我知道svn有一个更新"删除" .svn文件,但这些文件现在位于/var/www/html/
。
现在我想设置我的本地工作副本。
我一直在做(地点/home/{user_name}/public_html/
):
svn checkout file:///var/www/html/
问题是它复制了html/
文件,但没有任何内容,我也不想要html/
文件,我想要html/new_dwutils/
文件。
我觉得我从一开始就做错了,并且非常欣赏如何走上正确轨道的一些解释。一步一步非常有用,如果需要进一步澄清文件或目录路径,我很乐意详细说明。
谢谢!
答案 0 :(得分:2)
Subversion Manual将回答您的所有问题。
如果您在/var/www.html
下创建了一个Subversion存储库,我假设您正在使用Apache httpd作为您的服务器。看看Chapter 6。如果您已有repo,请创建转储文件,然后使用该转储文件重新创建repo。关于移动存储库,请查看Chapter 5。
如果您对Subversion一无所知,或者对存储库位置目录与工作目录之间的区别感到困惑,请阅读the on-line manual。这是我见过的最好的文档之一。
答案 1 :(得分:1)
从您的问题描述中可以看出' / var / www / html / new_dwutils /'是你的工作副本而不是回购。
转到' / var / www / html / new_dwutils /'在旧服务器上键入" svn info"这应该给你旧仓库的位置。你应该只是能够和他人合作。进入新位置以检查旧服务器中所有文件的副本(签入的所有内容 - 您将无法获得旧服务器上未签入的任何内容)。
但是,如果您的repo在旧服务器上是本地的,并且您也想将其移动到新服务器。然后,您只需将整个文件夹复制到新服务器,然后使用其在“svn co”中的新位置直接访问该服务器。命令。