config-diff: Properly print files relative to root
Just less ugly.
This commit is contained in:
parent
d6d2253f5a
commit
ae3945210c
|
|
@ -367,8 +367,25 @@ ostree_diff_dirs (GFile *a,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
print_diff_item (char prefix,
|
||||||
|
GFile *base,
|
||||||
|
GFile *file)
|
||||||
|
{
|
||||||
|
if (g_file_is_native (file))
|
||||||
|
{
|
||||||
|
gs_free char *relpath = g_file_get_relative_path (base, file);
|
||||||
|
g_print ("%c %s\n", prefix, relpath);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_print ("%c %s\n", prefix, gs_file_get_path_cached (file));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ostree_diff_print (GFile *base,
|
ostree_diff_print (GFile *a,
|
||||||
|
GFile *b,
|
||||||
GPtrArray *modified,
|
GPtrArray *modified,
|
||||||
GPtrArray *removed,
|
GPtrArray *removed,
|
||||||
GPtrArray *added)
|
GPtrArray *added)
|
||||||
|
|
@ -378,23 +395,16 @@ ostree_diff_print (GFile *base,
|
||||||
for (i = 0; i < modified->len; i++)
|
for (i = 0; i < modified->len; i++)
|
||||||
{
|
{
|
||||||
OstreeDiffItem *diff = modified->pdata[i];
|
OstreeDiffItem *diff = modified->pdata[i];
|
||||||
g_print ("M %s\n", gs_file_get_path_cached (diff->src));
|
print_diff_item ('M', a, diff->src);
|
||||||
}
|
}
|
||||||
for (i = 0; i < removed->len; i++)
|
for (i = 0; i < removed->len; i++)
|
||||||
{
|
{
|
||||||
g_print ("D %s\n", gs_file_get_path_cached (removed->pdata[i]));
|
GFile *removed_file = removed->pdata[i];
|
||||||
|
print_diff_item ('D', a, removed_file);
|
||||||
}
|
}
|
||||||
for (i = 0; i < added->len; i++)
|
for (i = 0; i < added->len; i++)
|
||||||
{
|
{
|
||||||
GFile *added_f = added->pdata[i];
|
GFile *added_f = added->pdata[i];
|
||||||
if (g_file_is_native (added_f))
|
print_diff_item ('A', b, added_f);
|
||||||
{
|
|
||||||
char *relpath = g_file_get_relative_path (base, added_f);
|
|
||||||
g_assert (relpath != NULL);
|
|
||||||
g_print ("A /%s\n", relpath);
|
|
||||||
g_free (relpath);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
g_print ("A %s\n", gs_file_get_path_cached (added_f));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,8 @@ gboolean ostree_diff_dirs (GFile *a,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
void ostree_diff_print (GFile *base,
|
void ostree_diff_print (GFile *a,
|
||||||
|
GFile *b,
|
||||||
GPtrArray *modified,
|
GPtrArray *modified,
|
||||||
GPtrArray *removed,
|
GPtrArray *removed,
|
||||||
GPtrArray *added);
|
GPtrArray *added);
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ ot_admin_builtin_diff (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GE
|
||||||
cancellable, error))
|
cancellable, error))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
ostree_diff_print (new_etc_path, modified, removed, added);
|
ostree_diff_print (orig_etc_path, new_etc_path, modified, removed, added);
|
||||||
|
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
out:
|
out:
|
||||||
|
|
|
||||||
|
|
@ -122,7 +122,7 @@ ostree_builtin_diff (int argc, char **argv, GFile *repo_path, GError **error)
|
||||||
if (!ostree_diff_dirs (srcf, targetf, modified, removed, added, cancellable, error))
|
if (!ostree_diff_dirs (srcf, targetf, modified, removed, added, cancellable, error))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
ostree_diff_print (targetf, modified, removed, added);
|
ostree_diff_print (srcf, targetf, modified, removed, added);
|
||||||
|
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
out:
|
out:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue