Directory Bazaar仓库因移动而损坏

Directory Bazaar仓库因移动而损坏,directory,branch,openerp,rename,bazaar,Directory,Branch,Openerp,Rename,Bazaar,我已经使用了OpenERP源代码 我已将整个源代码目录移动到我主页的其他地方 现在,当我尝试pullchanges时,它会抛出错误: shahar@shahar-desktop:~/src/openerp⟫ make pull # update all trunk branch for i in addons client oldweb web server; do [ -d $i ] && (cd $i && bzr pull && cd ..)

我已经使用了OpenERP源代码

我已将整个
源代码
目录移动到我
主页的其他地方

现在,当我尝试
pull
changes时,它会抛出错误:

shahar@shahar-desktop:~/src/openerp⟫ make pull
# update all trunk branch
for i in addons client oldweb web server; do [ -d $i ] && (cd $i && bzr pull && cd ..); done
bzr: ERROR: Not a branch: "/home/shahar/src/openerp/addons/.bzr/branches/origin/trunk/
/".
bzr: ERROR: Not a branch: "/home/shahar/src/openerp/client/.bzr/branches/origin/trunk/
/".
bzr: ERROR: Not a branch: "/home/shahar/src/openerp/web/.bzr/branches/origin/trunk/
/".
bzr: ERROR: Not a branch: "/home/shahar/src/openerp/server/.bzr/branches/origin/trunk/
/".
make: *** [pull] Error 3
2 shahar@shahar-desktop:~/src/openerp⟫
这不是make脚本的错:

2 shahar@shahar-desktop:~/src/openerp⟫ cd server/
shahar@shahar-desktop:~/src/openerp/server⟫ bzr pull
bzr: ERROR: Not a branch: "/home/shahar/src/openerp/server/.bzr/branches/origin/trunk/
/".
3 shahar@shahar-desktop:~/src/openerp/server⟫
上面打印的路径似乎来自每个存储库的
.bzr/branch/location
文件

当我尝试使用
grep-rI/home/shahar
修复此问题时,我发现了此文件。然后我将这个文件中的路径从原来的更改为现在看到的。我认为它也许可以解决这个问题,但它没有。我仍然得到相同的错误(使用新路径)

我在与Google的所有互联网站或StackOverflow中都找不到任何关于移动bzr存储库的信息


谢谢。

您使用的安装脚本似乎使用该插件来管理共同定位的分支。
bzr-colo
手册指出,由于绝对路径名用于存储对分支的引用,当在磁盘上移动一个共定位的工作区时,从签出到当前分支的链接将断开。
理论上,可以通过在断开的分支目录中运行
bzr-colo-fixup
来解决这个问题,但是根据我的经验,它似乎并不经常工作

在这种情况下,建议运行此命令以重新强制分支开关:

    bzr switch --force .bzr/branches/<current branch name>
给你

您甚至不需要先编辑
.bzr/branch/location
,因为在切换之后它将是正确的。这对我来说一直是个好办法

    bzr switch --force .bzr/branches/origin/trunk