Closed fengFork closed 3 years ago
所以才每天依据代码编译软件,有问题就提交或者简单的自己修复
请问怎么回事
我的理解,使用openwrt上的small-package等资源的用户有两种类型。 一种是喜欢追新的朋友,看见任何插件有新功能新变动就希望马上用。他们git pull 最新代码就可以了。经常会遇到编译问题,发现问题就修复。 另一种是没有追新需求,但对稳定需要高的朋友。编译时抓到的插件是经过测试稳定的版本至关重要。luci-app-ssr-plus这几个月有好多变化?I don't care。我只需要保证git pull 下来的luci-app-ssr-plus是保证好用的就可以了,至于它是三天前的版本,三个星期前的版本,甚至去年的版本,对我无所谓。
现在我的work around是fork small-package到我的repo,并且修改各处引用从我的repo 来git pull。但如果kenzok8 repo已经提供了stable branch,将会使第二类用户方便很多。
要稳定肯定是https://github.com/kenzok8/openwrt-packages.git 毕竟经过https://github.com/kenzok8/compile-package.git 跑过编译,提后在提交到openwrt-packages上的,也是正因为这个原因,关于openwrt-packages仓库,我不是采用自动同步,而是手动提交更新的原因
一个稳定的code base,需要它的所有依赖项都是稳定的。 Project A依赖于B,C,D,Project B依赖于E,F, Project E依赖于G.H...所有的这些都是稳定的,最后的code base才是稳定的。 以Maven为例,一个release的版本不但自己要是None-SNAPSHOT版本,还要求pom.xml里面包含的所有artifact都是None-SNAPSHOT版本。否则Maven就会报警,很多DevOps环境也会自动拒绝上线,因为SNAPSHOT版本里的代码是最新代码,不知道质量如何。 比如openwrt-pakcages 10月1日早上8点经过compile-package跑过编译测试没问题,网友早上8点半再跑就有可能遇到问题,因为openwrt-pakcages依赖的small-package里面的代码变了。
main branch里面的代码每天自动和上游同步。 但是上游的最新代码会时不时有bug,或者不同的上游的代码有依赖/冲突等问题。
是否可以建立两个branch, 每天自动将develop和上游同步。不定时手动将测试稳定的代码从develop branch merge到main branch.
这样小伙伴们编译固件时,可以从稳定的main branch抓代码,不会抓到不稳定的最新代码。