2010-11-16 122 views
1

我检查出设计的当前版本与当前命令:SVN仓库创建问题

svn checkout svn+ssh://[email protected]/mainrepository/trunk/projects/design1 . 

这工作正常,我做出了implemetation一些实质性的变化,使 ,我想举行SVN中这个里程碑的副本。换句话说, 我想在当前版本中,检查到自己的目录,即“设计2”:

这样做,我想是能够检出该版本类似于上面

svn checkout svn+ssh://[email protected]/mainrepository/trunk/projects/design2 . 

我从来没有建立在SVN一个新的目录,所以我想知道如果我要创建 一个subrepository能够检查出设计2如下:

su - svn 
mkdir svn+ssh://[email protected]/mainrepository/trunk/projects/design2 
svnadmin create svn+ssh://[email protected]/mainrepository/trunk/projects/design2 

有一个问题,当我创建这个来自我感兴趣的文件早一点退出?我知道如何处理这一步后的SVN,但我从来没有创建一个新的目录/存储库 新的实现,所以任何帮助将不胜感激!

回答

0

这听起来像它应该进行单独branch。你不希望人们对project1工作,必须检查所有代码project2以及(其中,如果他们签的树干水平,他们会做)。

看起来你可能会保持所有项目在一个仓库,这是不是我会做。在这一点上,你正在颠覆修订控制的一些有用之处。

0

通常,如果你有你的项目中分支,标签和主干(或类似的东西),你可以创建一个子项目或子目录的编辑,然后用树干(或工作项目进行合并结构)

svn copy /projectRoot/trunk /projectRoot/branches/edit1 

这将智能地复制文件,所以,当你只能下载的编辑,而不是重新整个项目...

3

我假设你想一个新的分支,也就是你想要design1design2并肩生活,以便他们能够分歧。

不要创建一个新的存储库svnadmin。相反,这样做:

cd design1 
    svn status # make sure everything is ready as if for a normal commit 
    svn copy . svn+ssh://server.ac.uk/mainrepository/trunk/projects/design2 -m "creating new branch for design 2" 

现在删除你的工作副本(它仍然是在设计1指向并包含挂起的更改,尽管他们一直致力于设计2 - 是的,这是混乱的,最好直接删除) 。创建设计2新的Checkout这样你就可以继续进行变更,并承诺:

cd .. 
    rm -rf design1 
    svn co svn+ssh://server.ac.uk/mainrepository/trunk/projects/design2 
    cd design2 

这是提交修改到一个新的分支有点复杂的方式。通常你会首先创建一个分支(svn copy url1 url2),在一个单独的工作拷贝签出分支,然后进行更改。这在这种情况下是不可能的,因为您已经在第一份工作副本中为新分支做了更改。

请注意,存储库中的布局不遵循 recommended repository layout。这并不是一个问题,但我建议你遵循未来项目的约定。

+0

非常感谢您的详细解答。我会试试看看它是否有效! – Heinz 2010-11-16 15:57:58

+0

当我进入svn状态时,我得到以下输出:svn:warning:'。'不是工作副本。另外当我说“svn co svn + ssh://server.ac.uk/mainrepository/trunk/projects/design2”我听说svn:Directory'/home/projects/revision/.svn'包含工作副本管理区不见了。不知道这应该是什么意思... – Heinz 2010-11-16 16:09:56

+0

@ Heinz:如果design1文件夹是由'svn checkout'命令创建的,那么你不应该得到这些错误。我只能假设它不是,而且你对基本的SVN概念还是有点困惑。也许最好先阅读SVN书籍的前两章,然后再尝试解决分支等更高级的主题:http://svnbook.red-bean.com/en/1.5/index.html – 2010-11-16 20:32:50

1

看起来你的布局有点混乱。你有一个名为main repo的仓库 - 它有分支标签和主干。这是非常非常标准的。然而,它看起来像在主干下有多个项目?他们是否有分支,标签和干线目录在他们之下?他们是一起或独立地构建/标记和发布的吗?