Re: How can I tell if a file has been updated upstream?
On Fri, Feb 5, 2010 at 10:50 AM, Junio C Hamano <gitster@pobox.com> wrote:
> So whenever I run your script it calls home, spend a roundtrip time, and
> nags me to update?
Yes. Fortunately, it's all on an internal network, so the overhead is low.
> I don't want to be working with you unless I can go
> without running that script less often than once a week ;-)
That's about how often most people will run the script.
> You need to teach it how to call home. How do your users "clone"?
git clone git://....
Only I have ssh access to my repository.
> Also how do they run the script? Directly out of the
> repository work tree, or is there a "make install" step involved?
Directly out of the repository. It's just a Python script.
Show 5 quoted lines
> If your users are running from the work tree copy unmodified, then you
> would need to look at sys.argv[0] to find out where it is, use that to
> find the repository, and using its .git/config learn how the user pulls
> from your repository (i.e. git config remote.origin.url), and at the same
> time which version it is (i.e. git rev-parse HEAD).
> At runtime, you would run "ls-remote HEAD" and compare with the version
> you are running. It may be stale, or it may not be.
> How big is the script? It _might_ be faster to distribute a launcher that
> downloads the real script every time it runs and runs that fresh copy that
> is guaranteed to be the latest than doing all the hassle of the above.
I don't want to force an update, and I don't want to have to email everyone whenever there is an update. This seems to be the least intrusive approach.
--
Timur Tabi
Linux kernel developer at Freescale