Svn建议——将程序分为两部分

Svn建议——将程序分为两部分,svn,tortoisesvn,Svn,Tortoisesvn,我想听听关于建立svn结构和战略的建议。事情是这样的 我有一个大型ish项目,我想将其分为两个独立的项目,每个项目都将进一步独立开发。这两个独立的程序将连续运行,通过文件进行通信,共同完成与现有单个程序几乎相同的工作,但分为两个阶段 当这一切都完成后,这两个程序(加上一个连续运行它们的命令文件)将成为产品,原始的单个程序将退出牧场,但如果有问题,仍然可以咨询 现在只有一个程序员(moi)和一个客户运行它。永远只有一个客户。最终,不同的程序员将处理这两个部分,尽管最初这两个部分都是我自己。这种让不

我想听听关于建立svn结构和战略的建议。事情是这样的

我有一个大型ish项目,我想将其分为两个独立的项目,每个项目都将进一步独立开发。这两个独立的程序将连续运行,通过文件进行通信,共同完成与现有单个程序几乎相同的工作,但分为两个阶段

当这一切都完成后,这两个程序(加上一个连续运行它们的命令文件)将成为产品,原始的单个程序将退出牧场,但如果有问题,仍然可以咨询

现在只有一个程序员(moi)和一个客户运行它。永远只有一个客户。最终,不同的程序员将处理这两个部分,尽管最初这两个部分都是我自己。这种让不同程序员独立工作的能力是分裂的主要原因,所以这对我来说不是问题

我的暂定开发策略是将单个程序克隆两次,然后将每个克隆变形为两个独立部分中的一个。这两部分将共享一些代码、结构和常量,但并不多。我可能还需要一个单独的小代码库来存放命令文件

人们会推荐什么svn结构和策略?我应该在原始代码的基础上创建两个分支或标记,还是创建两个独立的代码库?我应该如何构建回购协议?等等?

假设现有的单个程序还不在svn中(是的,但不优雅,所以我很乐意重新开始)

我基本上是一个svn naif,希望尽可能简单(但不简单——谢谢Albert)。现在我有时通过乌龟使用svn,有时从JetBrains RubyMine内部使用svn。我不确定这两种方法是否配合得很好,所以我愿意选择其中一种方法。我在我的web主机服务中创建了svn repo,对此我很满意,所以我真的不想切换到git


(我看了相关的问题,似乎没有一个完全符合我的情况。)

我喜欢最初的计划,即采用相同的原始代码库,并将其放在两个项目中。为supervisor脚本添加第三个脚本。如果真的有共享代码,让我们把它放在团队可以访问的地方。这可能是第四个项目,或者只是让您的团队知道共享代码在项目y中。您的构建工具可以负责从正确的项目中提取共享部分,但请不要在多个位置维护它的副本


顺便说一句:这听起来是一个切换到git的好机会。通过使用或类型的工作流,您应该能够更轻松地扩展开发人员的数量 我喜欢最初的计划,即采用相同的原始代码库并将其放入两个项目中。为supervisor脚本添加第三个脚本。如果真的有共享代码,让我们把它放在团队可以访问的地方。这可能是第四个项目,或者只是让您的团队知道共享代码在项目y中。您的构建工具可以负责从正确的项目中提取共享部分,但请不要在多个位置维护它的副本


顺便说一句:这听起来是一个切换到git的好机会。通过使用或类型的工作流,您应该能够更轻松地扩展开发人员的数量 我将在一个存储库中创建多个项目。布局如下所示:

/
   project1/
       trunk/
          project 1 files and folders
       tags/
       branches/
   project2/
       trunk/
          project 2 files and folders
       tags/
       branches/
   project3/
       trunk/
          project 3 files and folders
       tags/
       branches/

我喜欢你的想法,削减开始的代码库来创建这两个项目。我会首先将其全部提交到一个项目,然后使用
svn copy
在第二个项目中获取基线代码,然后在每个项目中独立地从那里开始。

我会在一个存储库中创建多个项目。布局如下所示:

/
   project1/
       trunk/
          project 1 files and folders
       tags/
       branches/
   project2/
       trunk/
          project 2 files and folders
       tags/
       branches/
   project3/
       trunk/
          project 3 files and folders
       tags/
       branches/
trunk/
    project1
    project2

etc
我喜欢你的想法,削减开始的代码库来创建这两个项目。我会首先将所有内容提交给一个项目,然后在第二个项目中使用
svn copy
获取基线代码,然后在每个项目中独立地从那里开始

trunk/
    project1
    project2

etc
我认为你考虑得太多了:)特别是如果程序在通信和接口方面非常相关的话。在进行影响双方的更改时,您可能希望使它们保持同步。您仍然可以单独标记项目目录,同时为主要更改同时分支这两个目录

很有可能你最终也会得到一个project3(或者普通的东西),所以最好把它们放在一起,不要把它们放在不同的存储库中

我认为你考虑得太多了:)特别是如果程序在通信和接口方面非常相关的话。在进行影响双方的更改时,您可能希望使它们保持同步。您仍然可以单独标记项目目录,同时为主要更改同时分支这两个目录


很可能你最终也会得到一个project3(或普通的东西),所以最好将它们放在一起,而不要将它们放在不同的存储库中。

设置和维护git需要太多的技术专业知识。我的web主机为我处理svn。这是主要原因。谢谢!但我的主要问题是如何在svn中实现这一点。如果我让克隆分支,考虑到它们最终不是那么多分支,而是独立的项目,以后会不会出现一些不可预见的问题。忘记git,使用分支是为了将要合并的东西,您打算相互比较,可能会在它们之间移动代码,等等。因为您打算完全拆分这些分支,而永远不会合并它们,进行不同的项目。我没有具体的陷阱可以帮助解决这个问题,但是(在几乎所有情况下)按照预期使用这些工具意味着你不必考虑开发人员。你也可以从他们的聪明才智中获益,你甚至不必知道为什么:)需要太多的专业技术