Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SVN存储库创建问题_Svn_Repository - Fatal编程技术网

SVN存储库创建问题

SVN存储库创建问题,svn,repository,Svn,Repository,我正在使用当前命令签出设计的当前版本: svn checkout svn+ssh://test@example.com/mainrepository/trunk/projects/design1 . 这很好,我对实现做了一些实质性的修改 我想在SVN中保存一份此里程碑的副本。换句话说,, 我想将当前版本签入自己的目录,即“design2”: 在这样做时,我希望能够像上面一样检查这个版本 svn checkout svn+ssh://test@example.com/mainreposito

我正在使用当前命令签出设计的当前版本:

 svn checkout svn+ssh://test@example.com/mainrepository/trunk/projects/design1 .
这很好,我对实现做了一些实质性的修改 我想在SVN中保存一份此里程碑的副本。换句话说,, 我想将当前版本签入自己的目录,即“design2”:

在这样做时,我希望能够像上面一样检查这个版本

 svn checkout svn+ssh://test@example.com/mainrepository/trunk/projects/design2 .
我从未在SVN中创建过新目录,因此我想知道是否必须创建新目录 可以签出design2的子存储库,如下所示:

 su - svn
 mkdir svn+ssh://test@example.com/mainrepository/trunk/projects/design2
 svnadmin create svn+ssh://test@example.com/mainrepository/trunk/projects/design2
当我从先前签出的文件创建此文件时,是否存在问题?在这一步之后,我知道如何处理SVN,但我从未创建过新的目录/存储库
对于一个新的实施,所以任何帮助将不胜感激

这听起来像是应该单独制作的。您不希望从事
project1
工作的人员也必须签出
project2
的所有代码(如果他们在主干级别签出,他们会这样做)


看起来您可能将所有项目都保存在一个存储库中,我不会这么做。在这一点上,您正在颠覆修订控制的一些有用性。

这听起来像是应该单独制定一个版本。您不希望从事
project1
工作的人员也必须签出
project2
的所有代码(如果他们在主干级别签出,他们会这样做)


看起来您可能将所有项目都保存在一个存储库中,我不会这么做。此时,您正在破坏修订控制的某些有用性。

通常,如果您的项目是以分支、标记和主干(或类似内容)为结构的,您可以为编辑创建子项目或子目录,然后将其与主干(或工作项目)合并


这将智能地复制文件,因此当您只能下载编辑,而不能再次下载整个项目时…

通常,如果您的项目是以分支、标记和主干(或类似内容)为结构的,您可以为编辑创建子项目或子目录,然后将其与主干(或工作项目)合并


这将智能地复制文件,因此当您只能下载编辑,而不能再次下载整个项目时…

我假设您希望创建一个新分支,即您希望
design1
design2
并排运行,以便它们可以分开

不要使用
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"
现在删除您的工作副本(它仍然指向design1并包含挂起的更改,即使这些更改已提交给design2——是的,这很混乱,最好只删除它)。为design2创建新签出,以便您可以继续进行更改和提交:

   cd ..
   rm -rf design1
   svn co svn+ssh://server.ac.uk/mainrepository/trunk/projects/design2
   cd design2
这是一种将更改提交到新分支的有点复杂的方法。通常,您会首先创建一个分支(
svn copy url1 url2
),在单独的工作副本中签出该分支,然后进行更改。在这种情况下,这是不可能的,因为您已经在第一个工作副本中对新分支进行了更改

请注意,存储库中的布局不遵循
. 这不一定是个问题,但我建议您在未来的项目中遵循惯例。

我假设您希望创建一个新分支,即您希望
design1
design2
并排生活,以便它们可以分开

不要使用
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"
现在删除您的工作副本(它仍然指向design1并包含挂起的更改,即使这些更改已提交给design2——是的,这很混乱,最好只删除它)。为design2创建新签出,以便您可以继续进行更改和提交:

   cd ..
   rm -rf design1
   svn co svn+ssh://server.ac.uk/mainrepository/trunk/projects/design2
   cd design2
这是一种将更改提交到新分支的有点复杂的方法。通常,您会首先创建一个分支(
svn copy url1 url2
),在单独的工作副本中签出该分支,然后进行更改。在这种情况下,这是不可能的,因为您已经在第一个工作副本中对新分支进行了更改

请注意,存储库中的布局不遵循
. 这不一定是个问题,但我建议您在将来的项目中遵循惯例。

看起来您的布局有点混乱。您有一个名为main repo的存储库,它下面有分支标记和主干。这是非常非常标准的。但是看起来主干下有多个项目?它们是否依次有分支、标记和主干目录?它们是一起构建/标记并发布的还是单独发布的?

看起来您的布局有点混乱。您有一个名为main repo的存储库,它下面有分支标记和主干。这是非常非常标准的。但是看起来主干下有多个项目?它们是否依次有分支、标记和主干目录?它们是一起构建/标记并发布的还是单独发布的?

非常感谢您提供的详细答案。我会试试看它是否有效!当我进入svn状态时,我得到以下输出:svn:warning:“.”不是工作副本。还有当我说“svn公司svn”+ssh://server.ac.uk/mainrepository/trunk/projects/design2“我被告知包含工作副本管理区域的svn:Directory'/home/projects/revision/.svn'丢失。不知道这意味着什么…@Heinz:如果design1文件夹是由
svn checkout
命令创建的,那么您不应该得到这些错误。我只能假设事实并非如此,而且您仍然对基本的SVN概念感到困惑。在尝试处理更高级的主题(如分支:谢谢)之前,最好先阅读SVN书籍的前两章