到今天为止,已经有3个月没有更新了,很可惜,我没有成为年更博主🤣。因为踩的坑太多所以回来了🥺

毕竟静态博客虽然稳定易维护,但更新操作比较繁杂,比起当个勤政爱民的博主,我更倾向于无为而治。
这次改的东西真的比较多,浪费了我的整整2周的下班游戏时间

需求背景

我很早就听象友说了官方v4.4.0-beta开始公测的事情,但是我又听说TangerineUI-for-Mastodon在新版本上面会报错,所以我就没有更新了。我也要提醒各位电脑小白,平时没事不要手欠去点升级😀
后来,那个长毛象主题把bug修好了,我也是无动于衷。
我虽然想要继续改进之前的一些魔改,但没啥动力,能少折腾就少折腾。
直到最近,你猜我看见了什么?是这个!

千万不要手欠看完!
整整2个半小时的 *《哪吒2之魔童闹海》*压缩到50MB。这时我就想转发到长毛象上,结果自动剪裁成40分钟了。后来我查了一下代码,是帧数被限制了。长毛象后端在把视频传给ffmpeg时会带有一定的参数。这个参数前面加个1就好了,代码我就不放了,链接贴这https://github.com/dongzhimin-xz/mastodon/commit/e81b13144c767dc1a481be53f3698edd5d62110e
所以就想把实例升级一下,如果拖着,以后升级会更痛苦。

面向的读者

主要是写给自己看的。可能会对读者有一点帮助。

代码该怎么并?

大体上就两种选择,把stable-4.4并到我的魔改线上来,或者,把我的魔改线上的部分代码并到stable-4.4上去。
我这个代码fork得比新版本(新分支)要早,但是绝对没必要重新fork一遍。
只要在自己的仓库创建新的分支即可
GitHub复制上游分支
如果以后还需要跟上游同步,则新分支须与上游分支名称保持一致。

把新分支并过来❌

在用SourceTree本地获取我新同步的分支后,我就开启了合并之旅。我试图手动解决成千上万个冲突。当然不是傻傻地逐条去看,我阅读我以前的博客,例如这个,还有好多,把改过的部分一个一个挑出来,采用现版本合并,剩下的都全选采用传入的合并。然而,事实上全选并没有卵用!它会报错,只有多选十几个才能批量处理!于是我只能重新克隆一遍代码尝试另一个方向了。

把魔改代码并过去✔

stable-4.4分支新开一个分支,用来接受旧代码的魔改部分。操作大同小异,方向完全相反。首先,全部取消暂存!再把旧代码个别地并进去。
过程需要很仔细地把所有魔改过的部分给采纳传入代码并暂存了。部分文件,有些改动需要暂存,剩下的部分不要暂存。
漏改了以后,之后还可以补改。但要是误用旧代码覆盖掉新代码了,那找起来可就麻烦多了。等以后出了BUG,有得好排查了,最后还是得回到这里返工😄。

合并完成后的踩坑

刚才只合并了代码,但是没有验证它是否正确。可能会有漏合并,或者旧版本魔改跟新版本不兼容的情况发生。
该如何验证呢?
那当然是人脑跑代码了
人脑跑代码
这时除了需要仔细检查刚才的Git合并以外,还需要搭建一个完整的测试环境。之前我就写过如何搭建一个测试环境,但是没有吃透长毛象的运行环境。
这里会发生长毛象代码跑不动的情况。我花了大工夫排查。checkout回官方的最新4.4分支也没不能正常运行。于是用官方的办法从头手动搭建了一个长毛象的运行环境。

具体步骤,由于我担心读者ADHD发作,所以将在别的文章进行讲解。