Matthew Leeds 19b5033942 build-bundle: Fix resolving refs
Unfortunately in commit 253fcc6e3 I broke the build-bundle command so
that it is unable to resolve remote refs (as opposed to local ones).
This means in the normal case of building a bundle for an app installed
from a remote it fails:

$ flatpak build-bundle /var/lib/flatpak/repo gnome-calculator.flatpak org.gnome.Calculator stable
error: Refspec 'app/org.gnome.Calculator/x86_64/stable' not found

This is because flatpak_repo_resolve_rev() interprets a NULL remote name
to mean the ref is local (in refs/heads/) but in this case we just don't
know which remote it's from. This commit fixes the issue by using
ostree_repo_resolve_rev() directly which searches refs/heads/ and
refs/remotes/, and if that fails falling back to iterating over refs
returned by ostree_repo_list_collection_refs() to catch collection-refs
that may be in refs/mirrors/.

Also, add a unit test that fails without this patch.

Fixes https://github.com/flatpak/flatpak/issues/3026

Closes: #3032
Approved by: alexlarsson

(cherry picked from commit 5e65174e8dc8f3853e24b3526a2588d8f4296159)
2019-09-18 19:21:47 +02:00
..
2019-02-25 18:12:30 +00:00
2019-02-25 18:12:30 +00:00
2019-04-08 12:50:42 +00:00
2019-02-25 18:12:30 +00:00
2019-02-25 18:12:30 +00:00
2018-07-08 10:05:37 +00:00