2010-08-21

Gistore 备份回滚改用分支实现

Gistore 备份的回滚原来采用的方法是,建立和回滚 Tag(里程碑):
  • 当 master 分支的提交(备份)数量达到预设次数(缺省200次),建立一个 Tag,如 gistore/1
  • 当名为 gistore/XXX 的 tag 的数量达到一定程度,进行回滚,即:
    • gistore/2 -> gistore/1
    • gistore/3 -> gistore/2
    • ...
更改里程碑?! 正在写 Git 培训资料,开始写里程碑时,突然想到 gistore 实现中有更改里程碑的实现,这种实现是不好的:
  • 里程碑在创建后,只在第一次同步(PULL)的时候,被获取
  • 当里程碑修改后,其它人再执行 PULL 的时候,不会更新!
  • Gistore原来的实现,如果发生备份回滚,远程同步的服务器不能获取更新后的Tag。在镜像服务器有失去部分备份历史的危险。
新的备份回滚用分支来实现 分支名称为 gistore/1, gistore/2, ...。数字越大的分支保存近期的备份,数字小的保存老的回滚备份。
blog comments powered by Disqus