[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/5] Config.mk: record hash of SeaBIOS tag



On Mon, Oct 26, 2026 at 10:05:45AM +0100, Jan Beulich wrote:
> On 19.10.2026 21:02, Elliott Mitchell wrote:
> > Date: Sun, 18 Oct 2026 14:12:43 -0700
> > 
> > Recording the tag as a comment, but directing git at the hash allows
> > bypassing downloading tags (git does not selectively download tags).
> > While remote branches get prefixed with the remote name.  The result is
> > identical, the tag is simply a reference to the hash.
> 
> I don't quite get what the win is. The middle sentence also feels, to
> me, unrelated to anything else here. The fact that ...
> 
> > --- a/Config.mk
> > +++ b/Config.mk
> > @@ -220,7 +220,8 @@ MINIOS_UPSTREAM_URL ?= 
> > https://xenbits.xen.org/git-http/mini-os.git
> >  MINIOS_UPSTREAM_REVISION ?= 26ceb2daf95dd9e7fed9c83d36be3aaf1a0fa8a1
> 
> ... we use a hash here, for example, doesn't warrant ...
> 
> >  SEABIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/seabios.git
> > -SEABIOS_UPSTREAM_REVISION ?= rel-1.17.0
> > +# rel-1.17.0
> > +SEABIOS_UPSTREAM_REVISION ?= b52ca86e094d19b58e2304417787e96b940e39c6
> 
> ... the use here. IOW if this is to be pursued, more explanation is
> going to be necessary.

Issue is git's handling of tags isn't very good.  In particular it really
wants to either get all tags or no tags.  I've found it quite difficult
(read: I've yet to suceed) trying to get it retrieve a single tag.
Instead what it does is resolve the tag to the commit hash (by asking the
server) and then only saving the commit to persistent storage.

If you have git save all tags, it will download nearly everything.  Not
just the branch/tag you need, but any branch which has a tag.  This means
somewhere 2-10x the storage, 2-10x the download bandwidth, 2-10x the time
spent waiting for the download.



The situation with Qemu is far more concerning.  Since
$(QEMU_UPSTREAM_REVISION) points at a branch on Xen's git server, every
time that branch moves you get a different build.  Since different
versions will have different bugs/features unless there is a public
record of where the branch was over time, older builds become impossible
to reproduce.  

The favored solution to these problems would be to switch to using
`git subtree`.  This though would be a pretty major move.  I was hoping
this series would get a discussion started about option.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@xxxxxxx  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.