checkout: permit checkout of a single file

fixes a coredump when using a command like:

$ ostree --repo=repo checkout -U --subpath=/usr/lib/passwd \
  fedora-atomic/rawhide/x86_64/docker-host usrlib-new

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
Giuseppe Scrivano authored and Colin Walters committed 2014-10-24 11:18:45 -04:00
1 parent 0c89abee6d
commit 7973a58607
3 files changed
+45

No files matched your search

+10
View File
@@ -587,6 +587,16 @@ checkout_tree_at (OstreeRepo *self,
}
}
if (g_file_info_get_file_type (source_info) != G_FILE_TYPE_DIRECTORY)
{
ret = checkout_one_file_at (self, (GFile *) source,
source_info,
destination_dfd, destination,
g_file_info_get_name (source_info),
mode, TRUE,
cancellable, error);
goto out;
}
dir_enum = g_file_enumerate_children ((GFile*)source,
OSTREE_GIO_FAST_QUERYINFO,
G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,