{"action":"created","issue":{"url":"https://api.github.com/repos/projectatomic/rpm-ostree/issues/139","labels_url":"https://api.github.com/repos/projectatomic/rpm-ostree/issues/139/labels{/name}","comments_url":"https://api.github.com/repos/projectatomic/rpm-ostree/issues/139/comments","events_url":"https://api.github.com/repos/projectatomic/rpm-ostree/issues/139/events","html_url":"https://github.com/projectatomic/rpm-ostree/pull/139","id":69232063,"number":139,"title":"Add diff API","user":{"login":"cgwalters","id":244096,"avatar_url":"https://avatars.githubusercontent.com/u/244096?v=3","gravatar_id":"","url":"https://api.github.com/users/cgwalters","html_url":"https://github.com/cgwalters","followers_url":"https://api.github.com/users/cgwalters/followers","following_url":"https://api.github.com/users/cgwalters/following{/other_user}","gists_url":"https://api.github.com/users/cgwalters/gists{/gist_id}","starred_url":"https://api.github.com/users/cgwalters/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cgwalters/subscriptions","organizations_url":"https://api.github.com/users/cgwalters/orgs","repos_url":"https://api.github.com/users/cgwalters/repos","events_url":"https://api.github.com/users/cgwalters/events{/privacy}","received_events_url":"https://api.github.com/users/cgwalters/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-04-17T22:37:26Z","updated_at":"2015-04-22T20:35:41Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/projectatomic/rpm-ostree/pulls/139","html_url":"https://github.com/projectatomic/rpm-ostree/pull/139","diff_url":"https://github.com/projectatomic/rpm-ostree/pull/139.diff","patch_url":"https://github.com/projectatomic/rpm-ostree/pull/139.patch"},"body":"This is a *third* implementation of rpm database diffs in the code,\r\nbut it is now a public introspectable shared library API.\r\n\r\nFurther commits will change the command line tools to use this, and\r\nthen after that we'll further deduplicate the `db diff` from this\r\ncode."},"comment":{"url":"https://api.github.com/repos/projectatomic/rpm-ostree/issues/comments/95327428","html_url":"https://github.com/projectatomic/rpm-ostree/pull/139#issuecomment-95327428","issue_url":"https://api.github.com/repos/projectatomic/rpm-ostree/issues/139","id":95327428,"user":{"login":"cgwalters","id":244096,"avatar_url":"https://avatars.githubusercontent.com/u/244096?v=3","gravatar_id":"","url":"https://api.github.com/users/cgwalters","html_url":"https://github.com/cgwalters","followers_url":"https://api.github.com/users/cgwalters/followers","following_url":"https://api.github.com/users/cgwalters/following{/other_user}","gists_url":"https://api.github.com/users/cgwalters/gists{/gist_id}","starred_url":"https://api.github.com/users/cgwalters/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cgwalters/subscriptions","organizations_url":"https://api.github.com/users/cgwalters/orgs","repos_url":"https://api.github.com/users/cgwalters/repos","events_url":"https://api.github.com/users/cgwalters/events{/privacy}","received_events_url":"https://api.github.com/users/cgwalters/received_events","type":"User","site_admin":false},"created_at":"2015-04-22T20:35:41Z","updated_at":"2015-04-22T20:35:41Z","body":"WRT the `query` argument - the `rpm_ostree_db_list` API was already merged with that.  Although we can still change it, it's not released yet.\r\n\r\nI totally admit to using `GVariant` as a generic API extensibility escape hatch.  Sometimes it's worked out (I think `ostree_repo_pull_with_options()` is mostly ok), others it hasn't.  My vague thought for this one is that we'd document a GVariant format string like `a(suv)` which would be like an array of successive calls to `hy_query_filter()`, the `s` would be one of `_hy_key_name_e`, the `u` would be one of `_hy_comparison_type_e`, and the `v` would be a number or a string, as appropriate."}}