我正在尝试从一个不太著名的版本控制系统(让我们称之为nsfvc)迁移到svn。svn主干是不久前从nsfvc的主干创建的。nsfvc中有一个活动分支,我必须将其导入到svn分支。nsfvc的主干和分支之间的差异很大(更新、重命名、添加、删除、移动)。
我该怎么做呢?我猜这不像.
svn co http://mysvn/repo/branches/branch c:\workspace
# replace files in c:\workspace
svn add
svn ci
我似乎无法创建一个分支,然后将主干更改合并到分支中:
svn copy file:///svn/project/trunk file:///svn/project/branches/feature-branch
svn co file:///svn/project/branches/feature-branch
cd feature-branch
#change a couple of files, no additions/deletions
svn commit
svn merge file:///svn/project/trunk
这样,分支中的每一条路径都被列为树冲突(svn状态显示“
基本上,当我想在同一个文件中提交由git add --patch <file>操作导致的两个单独的更改时,当使用git add进行第二个更改时,git svn rebase稍后会在提交第二个更改时抛出1-2个冲突。
所以我基本上是这样做的(我在master分支上,并且已经获取了svn存储库):
git checkout -b feature
... make two unrelated changes to file test.txt...
git add --patch test.txt
... add first change but ignore second one
git
这就是谜语:
C:\code\trunk> svn merge --reintegrate http://svn.e.com/repos/branches/lih --accept postpone --dry-run
svn: E195016: Reintegrate can only be used if revisions 11430 through 12384 were previously merged from http://svn.e.com/repos/trunk to the reintegrate source, but this is not the case: