<div dir="ltr"><div>Thanks for sharing your tool!</div><div><br></div>I also considered implementing such a tool, but ultimately decided against it for a number of reasons:<div><br></div><div>1. I think that infrastructure which the pkg-go team critically and very visibly depends on should eventually be hosted by DSA under <a href="http://debian.org" target="_blank">debian.org</a>. I don’t see them hosting this special “workaround” service, when there already is infrastructure in place to run uscan.</div><div><br></div><div>2. I have concerns regarding the scalability of such a service if we actually adopted this approach: the GitHub quota permits 5000 requests per hour (when authenticated). This sounds like a lot at first glance, but consider that we already have 845 Go packages. Your code does 4 requests per repository (IIUC), so already we are fairly close to reaching the limit, if we don’t take any precautions.</div><div><br></div><div>Most likely, point ② could be addressed with some careful limiting on our end, and changing the processing model from generating a response upon end-user request to iterating through all Go packages in Debian and querying GitHub in a rate-limited fashion. This significantly complicates the program, though, to the point where we duplicate the logic behind the Debian Package Tracker. Worse, it introduces accidental complexity, not inherent complexity :).</div><div><br></div><div>Hence, I think extending uscan is a much much more elegant route to achieve our goal, and I’d like to ask people to hold off providing/using custom services as a stop-gap measure. Thanks!</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 9, 2017 at 7:38 AM, Shengjing Zhu <span dir="ltr"><<a href="mailto:i@zhsj.me" target="_blank">i@zhsj.me</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
I spent some time playing around GitHub api, and results a small tool,<br>
<a href="https://github.com/zhsj/git-watch" rel="noreferrer" target="_blank">https://github.com/zhsj/git-wa<wbr>tch</a><br>
<br>
I didn't implement it in uscan. But it can work well with uscan.<br>
<br>
A demo service is at <a href="https://watch.zhsj.me/" rel="noreferrer" target="_blank">https://watch.zhsj.me/</a><br>
<br>
Take one of packages I maintained,<br>
<a href="https://tracker.debian.org/golang-github-xiaq-persistent" rel="noreferrer" target="_blank">https://tracker.debian.org/gol<wbr>ang-github-xiaq-persistent</a><br>
<a href="https://watch.zhsj.me/github/xiaq/persistent" rel="noreferrer" target="_blank">https://watch.zhsj.me/github/x<wbr>iaq/persistent</a> is the watch url.<br>
And the following d/watch works fine,<br>
<br>
version=4<br>
opts="filenamemangle=s%(?:.*?)<wbr>?([^/]*)\.tar\.gz%golang-githu<wbr>b-xiaq-persistent-$1.tar.gz%"<br>
\<br>
  <a href="https://watch.zhsj.me/github/xiaq/persistent" rel="noreferrer" target="_blank">https://watch.zhsj.me/github/x<wbr>iaq/persistent</a> \<br>
  (?:.*?/)?([^/]*)\.tar\.gz<br>
<br>
This tool works both as web service and cli.<br>
<br>
I hope you find this tool useful.<br>
<br>
Yours,<br>
Shengjing Zhu<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="m_8316464402592923744gmail_signature" data-smartmail="gmail_signature">Best regards,<br>Michael</div>
</div></div>