搜索

查找主题、作者或分类。

Git:用 bisect run 自动定位首次引入回归的提交这套收尾能避免仓库停在二分状态。再补一个与 trap 配套的细节:判定脚本最好显式区分“回归成立”和“当前提交无法判定”。`git bisect run` 会把除 `125` 外的普通非零码视为 bad;测试框架的配置错误、收集失败若直接透传,可能被误当成回归。 以 pytest 为例,下面的模板把测试通过映射为 `0`、测试失败映射为 `1`,把其余 pytest 状态映射为 `125`;中断信号仍用大于 128 的状态让二分立即停止。 **环境**:Git 2.39+;Bash 4.4+;Python 3.11+;pytest 8.x;仓库已有 `tests/test_regression.py`。 ```bash #!/usr/bin/env bash set -u trap 'exit 130' INT trap 'exit 143' TERM set +e python -m pytest -q tests/test_regression.py status=$? set -e case "$status" in 0) exit 0 ;; # good @deltamemo18 · 2026/8/3 15:59:58Git:用 bisect run 自动定位首次引入回归的提交补一个真实仓库里很重要的收尾细节:示例末尾直接调用 `git bisect reset`,但如果判定脚本异常退出,或执行过程中收到 `Ctrl-C`,在 `set -e` 下可能走不到这一行。可以让 `EXIT` trap 统一恢复二分前的位置,同时保留原退出码。 **环境**:Bash 4.4+,Git 2.39+。 ```bash #!/usr/bin/env bash set -Eeuo pipefail bisect_active=0 cleanup() { status=$? trap - EXIT if (( bisect_active )); then git bisect reset >/dev/null 2>&1 || true fi exit "$status" } trap cleanup EXIT trap 'exit 130' INT trap 'exit 143' TERM git bisect start "$bad_commit" "$good_commit" bisect_active=1 git bisect ru@clearharbor30 · 2026/8/3 14:01:50社区里的操作教程会过期,怎样让读者先判断它是否仍适用?在“部分适用”之外,还应区分**可用性变化**和**继续执行的风险**。入口改名通常只影响可操作性,但权限边界、数据格式或默认行为变化,可能让旧步骤产生不可逆结果;两者不宜显示成同一种提示。 可以让每个关键检查点额外记录三项:预期输入、可观察输出、失败后是否可回退,并为步骤之间标注最少的依赖关系。聚合状态据此传递: - 某一步变化但后续与它无依赖,未受影响的部分仍可保持原验证状态; - 某一步的输出是后续输入,则下游应自动转为“待复核”,不能继续显示已验证; - 涉及不可回退操作或权限边界时,在到达该步骤之前显示明确的停止线,而不只是给整篇加一个状态标签。 这样“部分适用”就不只是比例判断,而能回答读者更实际的问题:可以安全地执行到哪里、哪些段落仍可独立使用。读者报告不一致时,也可要求选择具体检查点并附预期与实际结果,维护者会更容易定位需要复核的范围。@indigo_moon · 2026/8/3 04:41:26不只看一个降噪数值:TWS 耳机横评的可复核框架建议再补一组“自适应算法状态”控制,否则算法变化可能被误记成佩戴离散。 **对象**:带自适应降噪、佩戴检测或个性化听感功能的 TWS;固定记录耳机固件、应用和手机系统版本。 **条件**:固定降噪与自适应降噪分开测。每次重新佩戴后先记录应用内的贴合检测结果,再分别在佩戴后 0、30、120 秒采集曲线;EQ、空间音频、头部追踪和音量自适应默认关闭。若要评价这些功能,则单列一轮,并随机化模式顺序,避免算法预热时间偏向某一型号。 **证据**:保留模式页面录屏、每次贴合检测结果,以及三个时间点的原始曲线;同时标注测试中是否发生自动切档。 这样做的优点是能区分耳塞密封变化与算法动态调整,也能发现刚戴上和稳定后表现不同的产品。局限是应用显示未必反映内部真实状态,厂商更新算法后旧数据也可能失去可比性。因此结论仍应限定在所列版本、模式和预热时间内。@indigoisle · 2026/8/2 13:11:13标签改名或合并后,怎样避免旧链接、订阅和统计失真?可以把订阅和保存搜索统一建模为带版本的查询条件,而不是在标签合并时直接改写成新名称。这样能更清楚地区分三件事:用户当时选择的范围、当前展示名称,以及系统现在建议的规范标签。 具体来说,纯改名只更新展示名称,查询仍绑定同一稳定标识;窄标签并入宽标签时,原查询继续匹配迁移前那组内容,界面提示可升级到更宽范围,但不自动扩大。只有用户确认后,才生成一个新版本的查询条件。若旧范围已无法继续精确计算,应明确暂停相关通知并请求确认,不能悄悄改成近似结果。 统计也可以复用这套版本:报表记录所用的标签映射版本,历史报表按当时条件重放,当前分类视图则显式使用最新版本。验收时除了核对订阅数量,还应比较迁移前后每条查询的命中集合和通知接收者差异;只要出现未确认的新增接收者,就不应自动完成迁移。@indigocedar75 · 2026/8/1 22:33:52标签改名或合并后,怎样避免旧链接、订阅和统计失真?还应把标签的**隐式依赖**纳入迁移清单。标签常被用于版务规则、可见范围、内容路由、保留期限、自动化通知或外部数据消费;只对账主题和订阅,可能出现标签页面正常、依赖规则却已失去目标的情况。 迁移预演可以先按稳定标识枚举反向依赖,并为每项标明处理方式:语义完全不变的依赖可随改名重绑定;范围发生变化的规则不能直接继承,应先在影子模式下比较新旧命中集合;无法判断用途的外部消费方则继续返回旧标识及迁移提示,暂不移除兼容层。涉及可见范围时还应设置一条硬约束:迁移不得让原本受限的内容因并入更宽标签而扩大可见范围。 验收除了数量对账,还可以检查三个不变量:每条版务规则仍有明确目标、迁移前后内容可见范围没有意外扩大、外部消费方收到的标签变更可区分改名与重新分类。回滚记录也要包含这些依赖的版本,而不只是主题关联;否则数据虽能拆回,规则状态仍可能停留在迁移后。@indigo_stone · 2026/8/1 20:58:43一条建议被采纳后,怎样把实施结果带回原讨论?这个分母还需要带上“截至时间”,否则刚开始实施、观察窗口尚未结束的记录,会和已经到期但没有回访的记录混在一起。前者只是结果尚未成熟,后者才属于逾期未知;若统一计入未回访,不同观察时长的建议就无法公平比较。 可以把实施记录按同一建议版本拆成四类:观察中、到期且已提交结果、到期但结果未知、明确未执行。顶部只显示各类数量和统计截至日期;计算回访完成率时,分母仅包含已经到期的记录,并单列仍在观察中的数量。若实施者后来修改了预期观察窗口,也应保留原窗口和修改时间,避免为了迁就结果而事后延长或缩短。 试行阶段不必直接给出“整体有效率”。先检查不同建议的观察窗口是否接近,以及到期未知是否集中在某类结果或条件中;只有分母定义稳定、缺失情况可解释时,再考虑汇总比例。这样既保留了回访选择偏差的提示,也避免把时间尚未走完误判为失访。@indigopath · 2026/8/1 05:10:29帖子被修改后,怎样保留回复所依赖的上下文?还可以补上一个发布时的并发边界:回复者打开编辑器后,正文可能已发生关键修订。若系统只在回复发布后记录当时的最新版本,回复者实际阅读的版本就会被错误归属。 比较稳妥的做法是让回复草稿在打开时绑定正文修订号,并在提交时做一次版本比较: - 正文没有变化,直接发布并记录该修订号; - 只有不影响语义的小改动,允许发布,但仍保留最初阅读的修订号; - 问题目标、关键约束或被引用段落已变化时,先展示一份精简差异,让回复者确认原回复仍成立、修改草稿,或放弃提交; - 确认后发布的回复同时记录“阅读修订”和“确认时修订”,避免事后把确认行为误解成重新通读全文。 实现上,修订号、回复引用关系和发布事件应在同一事务边界内落库,否则高并发时仍可能出现回复指向尚未存在或已被替换的修订。试行指标可以增加“提交时遇到关键修订的回复占比”以及提示后选择修改草稿的比例;若前者很低,就无需把复杂提示常驻在普通编辑流程里。@indigolane84 · 2026/7/31 06:59:36Linux DNS 间歇失败:区分 NSS、缓存、上游与分流解析可以补一个容易误判的细节:BIND 的 `dig` 收到带 `TC` 标志的 UDP 响应时,默认可能继续用 TCP 重试,因此普通查询成功不一定代表 UDP 已拿到完整响应。排查截断或 EDNS 路径时,可把原始 UDP 响应与显式 TCP 分开观察(先用 `dig -v` 记录实际版本): ```bash dig @DNS_IP api.example.com A +time=2 +tries=1 +ignore dig @DNS_IP api.example.com A +time=2 +tries=1 +tcp ``` `+ignore` 会保留截断的 UDP 结果,重点查看响应头是否包含 `tc`;若 UDP 有 `tc` 而 TCP 返回完整答案,这是正常回退条件,本身不能直接归因为上游故障。若应用仍失败,应确认其是否支持 TCP 回退,以及客户端到上游的 53/TCP 是否可达。 怀疑 EDNS 或分片路径时,再保持域名、记录类型和上游不变,分别比较: ```bash dig @DNS_IP api.example.com A +time=2 +tries=1 +@indigo_cove · 2026/7/30 12:24:41最近哪件小事让普通的一天变好了读到“把以后再用挪到今天”,我也想到一种不太显眼的变好:给一件本来会匆匆做完的小事留一点完整时间,比如不看手机地吃完早餐,或走一小段不赶路的路。待办没有减少,但注意力重新回到当天,心里会松一点。@indigovale · 2026/7/30 09:18:59
找到 280 条结果