如何将更改与Bazaar资源管理器合并

时间:2010-02-09 07:18:00

标签: version-control bazaar

所以,我刚刚开始使用Bazaar。我正在使用Bazaar explorer for Windows作为GUI。

我可以看到如何通过电子邮件发送更改,但是一旦我拥有了更改文件,我就不知道如何处理。我在哪里放置更改文件,如何将更改合并到主干?

如果我选择合并,然后选择包含更改文件的文件夹,我会收到一条错误消息,指出我选择的文件夹不是分支。拉动变化的方式相同。如果我将更改文件放在分支中,则不执行任何操作。我确信这很简单。

由于

澄清:

我不是在谈论压缩整个项目,通过电子邮件发送压缩文件,解压缩和合并。我在谈论这里提到的出口功能:

http://doc.bazaar.canonical.com/explorer/en/visual-tour-windows.html#export

也许我误解了导出功能的目的。

现在我倾向于为项目中的任何人设置VPN,以便我们可以更直接地工作。

2 个答案:

答案 0 :(得分:1)

正如bug #86420中所述,位置有多种方式可以不是分支,例如:

  
      
  • 没有.bzr目录
  •   
  • .bzr目录存在,但没有.bzr/branch目录
  •   
     

如果Bazaar确切地解释了为什么它不考虑将某个位置作为分支,那将会很有帮助,因为这两者都向用户解释了发生了什么(以及接下来要进一步诊断的位置),还因为它使得建议可能的补救措施更容易。

     

特别是,通过改善用户反馈并使系统更容易向用户提出适当的补救措施,这将有助于bug #86402

     

对于存在.bzr目录但没有分支的情况,可能错误文本应该建议用户尝试“bzr info”以了解该目录包含的内容。

您确实有一个从emailed change file here合并的示例。 (命令行版本)

# USER 1
bzr init-repository project
bzr init project/user2
bzr branch project/user2 project/user1

# USER 2
bzr init-repository project
bzr init project/user1
bzr branch project/user1 project/user2

# USER 1
cd project/user1
<do some work>
bzr commit -m "feature foo"
bzr send -o ../foo.patch # email the feature foo as it compares to the 'user2' branch

# USER 2
cd project/user2
bzr commit -m "feature bar"
bzr send -o ../bar.patch # email to USER 1
cd ../user1
bzr pull ../foo.patch
cd ../user2
bzr merge ../user1
bzr commit -m "Merge foo"

# USER 1
cd project/user2
bzr pull ../bar.patch
cd ../user1
bzr merge ../user2
...
  

基本上,我们的想法是你有一个分支,你明确标记为另一个用户的工作。当他们向您发送新的合并指令时,您将进入他们的分支副本,并使用“bzr pull”。此时,您的本地分支应该是其远程分支的精确镜像。然后根据需要将“bzr merge”添加到您自己的工作分支中。

     

我以“bzr branch user1 user2”开头的原因只是为了获取“bzr send”设置的默认目标。你可以第一次做“bzr send -o XXX ../userX”,我相信它会从那里开始记住。

     

此外,如果您只想启动附带补丁的电子邮件程序,则不必使用“-o XXX”。 (我认为你需要在这种情况下设置--mail-to。)

答案 1 :(得分:1)

即使您无法获得电子邮件工作流程,我也认为您不需要VPN。听起来您可以设置SFTP服务器,为每个用户提供对其自己的存储库的写访问权限,并授予他们对其他所有存储库的读取权限。然后,您可以推送或提交到您自己的分支,并从其他所有分支中提取,更新或合并。

如果不明确如何进行设置,我建议您在Launchpad上设置一个帐户来玩分支和合并。在您和您的一些团队成员在Launchpad上运行一个小型演示项目之后,建立自己的服务器可能会更容易。

如果它有用,这里是开源项目的summary of my Bazaar workflow。它包括设置分支,合并更改以及创建合并提议。