我经常git svn fetch
一个活跃的svn回购。我的意图是维护svn repo的只读镜像。
这个svn repo有几个怪癖。其中一个目录与多个服务器上存在的配置目录同步。
repo只有一个目录,可以接收来自所有服务器的更改,而不是为每个服务器提供不同的目录。每台服务器上的文件集都有很大差异,基本上每次同步的每次提交都会完全破坏仓库中这个目录中的所有文件。
幸运的是,提交消息是一致的,“从server01同步”,“从server02同步”,“从server03同步”等等。
我想创建几个用它们的消息分隔这些提交的分支。
一个分支只有来自server01的“Sync”提交,另一个来自server02等,并且最后一个分支除了“Sync ...”提交以外的所有提交。
我希望能够定期运行命令,以便为后续git svn fetch
es更新这些分支,并为每个分支进行适当的过滤。
我知道可以用git-filter-branch完成一次性过程。
我不知道如何以流媒体方式为活跃的回购做这件事。有没有办法与过滤合并?
或者是否有cherry-pick
所有与过滤器匹配的提交,然后跟踪最后一次运行cherry-pick
的最后一次提交并从那里继续?
现在我半定期运行git svn fetch
。
我意识到一个更好的解决方案就是修复borked Syncing流程,但目前超出了我的工资等级。