Merge CVS:为私有项目创建新的脱机分支

Merge CVS:为私有项目创建新的脱机分支,merge,branch,cvs,Merge,Branch,Cvs,我使用sourceforge的checkout命令下载了一些CVS代码。现在,我想创建我自己的分支,因为我的更改与官方项目完全无关,我想自己离线处理它 当我开始输入以下命令时: cvs tag branchname_0 我收到一个错误: error: cvs [server aborted]: "tag" requires write access to the repository 一位同事建议,我应该使用Git来创建分支,而不是CVS。基本上,我希望能够进行更改,但不会失去将自己的更改与

我使用sourceforge的checkout命令下载了一些CVS代码。现在,我想创建我自己的分支,因为我的更改与官方项目完全无关,我想自己离线处理它

当我开始输入以下命令时:

cvs tag branchname_0
我收到一个错误:

error: cvs [server aborted]: "tag" requires write access to the repository

一位同事建议,我应该使用Git来创建分支,而不是CVS。基本上,我希望能够进行更改,但不会失去将自己的更改与项目开发人员的更改合并的能力。

不需要CVS分支。你可以结账 并使用
cvs update
命令合并来自其他开发人员的新提交 没有新的分支

主要问题是您没有对Sourceforge的写访问权限 CVS存储库,将永远无法提交您自己的更改 到该存储库

我曾参与过Sourceforge项目,但我没有写权限 到CVS存储库。我通过电子邮件将我的更改发送到一个项目 具有写入权限的管理员,以及该人员审阅并签入了我的更改。 通过电子邮件发送多个变更集后,项目 管理员接受我的工作是可以接受的,并且 给我CVS存储库的写权限。我相信这一点
一系列事件经常发生。

非常感谢您的投入。在做了一些研究之后,我现在选择离线使用Git进行进一步的开发。基本上,我用CVS签出源代码,用Git初始化它,然后从那里创建分支。一旦发生变化,我就会更新主分支(插入新的CVS内容),并使用rebase命令将所有内容重新组合起来。我之所以选择这种方法,是因为我的更改并没有真正帮助任何人,因为它们非常特定于我的项目。