mirror of
https://github.com/ostreedev/ostree.git
synced 2025-02-09 13:57:52 +03:00
lib/repo: Add ostree_repo_equal() for comparing repos
This will compare their root directory inodes to see if they are the same repository on disk. A convenience method for the users of the public API who can’t access OstreeRepo.inode. Signed-off-by: Philip Withnall <withnall@endlessm.com> Closes: #1179 Approved by: cgwalters
This commit is contained in:
parent
1036cc8084
commit
981eb6c226
@ -287,6 +287,7 @@ ostree_repo_get_path
|
|||||||
ostree_repo_get_mode
|
ostree_repo_get_mode
|
||||||
ostree_repo_get_config
|
ostree_repo_get_config
|
||||||
ostree_repo_get_dfd
|
ostree_repo_get_dfd
|
||||||
|
ostree_repo_equal
|
||||||
ostree_repo_copy_config
|
ostree_repo_copy_config
|
||||||
ostree_repo_remote_add
|
ostree_repo_remote_add
|
||||||
ostree_repo_remote_delete
|
ostree_repo_remote_delete
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
|
|
||||||
/* Add new symbols here. Release commits should copy this section into -released.sym. */
|
/* Add new symbols here. Release commits should copy this section into -released.sym. */
|
||||||
LIBOSTREE_2017.12 {
|
LIBOSTREE_2017.12 {
|
||||||
|
global:
|
||||||
|
ostree_repo_equal;
|
||||||
} LIBOSTREE_2017.11;
|
} LIBOSTREE_2017.11;
|
||||||
|
|
||||||
|
|
||||||
|
@ -2612,6 +2612,31 @@ ostree_repo_get_dfd (OstreeRepo *self)
|
|||||||
return self->repo_dir_fd;
|
return self->repo_dir_fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ostree_repo_equal:
|
||||||
|
* @a: an #OstreeRepo
|
||||||
|
* @b: an #OstreeRepo
|
||||||
|
*
|
||||||
|
* Check whether two opened repositories are the same on disk: if their root
|
||||||
|
* directories are the same inode. If @a or @b are not open yet (due to
|
||||||
|
* ostree_repo_open() not being called on them yet), %FALSE will be returned.
|
||||||
|
*
|
||||||
|
* Returns: %TRUE if @a and @b are the same repository on disk, %FALSE otherwise
|
||||||
|
* Since: 2017.12
|
||||||
|
*/
|
||||||
|
gboolean
|
||||||
|
ostree_repo_equal (OstreeRepo *a,
|
||||||
|
OstreeRepo *b)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (OSTREE_IS_REPO (a), FALSE);
|
||||||
|
g_return_val_if_fail (OSTREE_IS_REPO (b), FALSE);
|
||||||
|
|
||||||
|
if (a->repo_dir_fd < 0 || b->repo_dir_fd < 0)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
return (a->device == b->device && a->inode == b->inode);
|
||||||
|
}
|
||||||
|
|
||||||
OstreeRepoMode
|
OstreeRepoMode
|
||||||
ostree_repo_get_mode (OstreeRepo *self)
|
ostree_repo_get_mode (OstreeRepo *self)
|
||||||
{
|
{
|
||||||
|
@ -123,6 +123,10 @@ GFile * ostree_repo_get_path (OstreeRepo *self);
|
|||||||
_OSTREE_PUBLIC
|
_OSTREE_PUBLIC
|
||||||
int ostree_repo_get_dfd (OstreeRepo *self);
|
int ostree_repo_get_dfd (OstreeRepo *self);
|
||||||
|
|
||||||
|
_OSTREE_PUBLIC
|
||||||
|
gboolean ostree_repo_equal (OstreeRepo *a,
|
||||||
|
OstreeRepo *b);
|
||||||
|
|
||||||
_OSTREE_PUBLIC
|
_OSTREE_PUBLIC
|
||||||
OstreeRepoMode ostree_repo_get_mode (OstreeRepo *self);
|
OstreeRepoMode ostree_repo_get_mode (OstreeRepo *self);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user