[Libguestfs] 1.39 proposal: Let's split up the libguestfs git repo and tarballs

Daniel P. Berrangé berrange at redhat.com
Mon Jun 10 15:51:37 UTC 2019


On Mon, Jun 10, 2019 at 04:35:52PM +0100, Richard W.M. Jones wrote:
> Sorry for the late reply to this ...
> 
> On Tue, Apr 30, 2019 at 06:28:01PM +0200, Pino Toscano wrote:
> > The other problem is how to split the repository, as the various bits
> > are in different places:
> > a) git filter-branch --subdirectory-filter p2v
> > + very small repo with the current p2v subdirectory
> > + preserves the history of the p2v subdirectory, with branches and tags
> > - missing all the other bits, which will have no history
> > - not usable to build older releases (e.g. for bisecting)
> 
> I'm not exactly sure what this does.  Is this something to do with
> preserving the history?  TBH I don't think we need to bother with the
> history -- it exists still in libguestfs.git.

This is the approach we took in libvirt when splitting the python module
out to its own repo. We didn't bother to make older versions build.

Specifically the commands we ran were[1]:

  $ git clone libvirt libvirt-python
  $ cd libvirt-python
  $ git filter-branch --subdirectory-filter python --tag-name-filter cat -- --all 
  $ git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d
  $ git reflog expire --expire=now --all
  $ git gc --prune=now

I can't remember precisely what each of those steps does, but they are all
about dropping as much cruft as possible from the new git repo.

[1] https://www.redhat.com/archives/libvir-list/2013-September/msg00413.html


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the Libguestfs mailing list