Feature request : avoid unecessary HTTP mirror update when nothing changed
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 50/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- go
- 领域
- networking
调研方向
The payload names no files, so start from the aptly mirror update command and the HTTP downloader it uses to fetch Release/InRelease from the mirror URL. Check aptly mirror show -json to confirm LastDownloadDate is already persisted, since that value is what the request's If-Modified-Since header would carry. Done means a 304 response skips the download and exits cleanly, while a 200 proceeds exactly as today.
由索引模型根据 Issue 内容生成。
描述
(First thank you Aptly team for this great tool !)
Found myself in a work where I have to mirror several repositories, then filter, merge and publish a new one.
These repo are updated on really different ways : some are updated 4 times a day, while other only change on a monthly basis.
Every time my script invoke "aptly mirror update", it can take a very long time depending on the network conditions.
To improve my script execution time I had to create a small shell script around "aptly mirror update" to avoid updating unchanged mirror.
Something like (pseudo code):
TIMECOND = $(aptly mirror show -json $REPONAME | jq -r .LastDownloadDate)
Then :
CODE=$(curl --head --time-cond $TIMECOND $REPO_URL/Release)
if [ $CODE -eq 304 ] ; then exit 0 ; fi
It would be great to have this feature directly in Aptly.
It could be done by adding a header on the metadata HTTP get request, with the already known lastDownloadDate :
If-Modified-Since: Fri, 21 Aug 2026 12:08:56 UTC
And deal with the answer either 200 (new file, go on) or 304 (unchanged, skip download)
(edit : fix mis-negate sentence)
- 主要语言
- Go
- 星标
- 2.9k
- 派生
- 436
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
aptly-dev/aptly 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 76/100
-
难度 2/5 1-3 小时 新手友好度 78/100
-
难度 2/5 1-3 小时 新手友好度 72/100
-
难度 1/5 1 小时以内 新手友好度 80/100
-
难度 4/5 3-5 天 新手友好度 54/100
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 66/100
-
Energy flow: add an "Other" row so the consumers add up to the consumption total可能已有人在做 @github-actions 今天认领。 未关闭enhancement
难度 2/5 1-3 小时 新手友好度 73/100
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 74/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
nebari-dev/nebi#630 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
router-for-me/CLIProxyAPI#7084 ·
维护者通常 1 天内回复