1

我已经升级到 Ubuntu 服务器 10.04 - 但是它删除了我一直用于分布式 vc 需求的 SVK,因为我的许多旧项目仍然包含在各种服务器上的自托管 subversion 存储库中。这在我的各种系统之间暂时工作得很好。我决定迁移到我已经在新项目中评估使用的 Bazaar。

我已经安装了bzr-svn插件以允许使用svn-import - 并成功在 /var/bzr/repos/ 中设置存储库,所有项目都导入到它们自己的集合中(使用自动检测到的 trunk2 布局)。bzr 日志确认成功导入所有项目。

不幸的是,我的几个项目在工作文件夹中有几个未提交的更改 - 我想将这些更改重新合并回中央/var/bzr/repos/projectname存储库。我希望这些是新导入的存储库之上的新修订。

我该怎么办?

这些工作文件夹即 /var/www/projectname/htdocs - 有些在开发服务器上,有些在 Windows 笔记本电脑上(已经安装了 bazaar 和 subversion)

我尝试运行 bzr init 和 bzr merge file://var/bzr/repos/projectname/trunk - 这会产生大量冲突;或者我尝试过: bzr init; bzr 添加和 bzr 合并。

在每种情况下,我都尝试从合并中删除新生成的文件 - 并将 .moved 文件重命名并提交 - 这会导致修订号从 1 开始,并向后运行到 -301。另一个不同的结果是,当我尝试“bzr push”备份本地提交的更改时,日志历史记录完全丢失。幸运的是,我每次都能从原始 subversion 源重置和重新导入存储库。

漫长的路线是简单地分支/签出到一个新文件夹,然后对新的更改进行差异/重做,但我想避免重新编码更改或运行 kdiff 目录合并操作。

期望的结果是将新更改应用于中央 /var/bzr/repos/projectname 分支,同时保留修订号和日志。

4

2 回答 2

0

如果您还没有在 bzr 存储库上提交,您可以在 svn 工作文件夹上提交(因此将这些更改放在 SVN 存储库中),然后对 bazaar 重复 svn-import 操作。它只会添加缺少的修订。

于 2010-12-02T12:06:17.597 回答
0

如果我理解正确,我会:将 .bzr 目录从您要基于(主线/主线)的其他更改的分支复制到具有其他更改的工作目录中。然后你可以在那里做一个 bzr 提交并将其推送到你的主线/主分支。对具有未提交更改的每个工作树重复此操作。

于 2010-11-30T16:32:06.580 回答