[augeas-devel] augeas: master - * src/augeas.c: erase /augeas/events/saved only once
David Lutterkort
lutter at fedoraproject.org
Thu Feb 26 23:43:32 UTC 2009
Gitweb: http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=856a6c16a7279187f0c1b7ef6965461328f4bba0
Commit: 856a6c16a7279187f0c1b7ef6965461328f4bba0
Parent: cbe2f82b7d2c81b0e4cb2a0f2be99b04cb5143bb
Author: David Lutterkort <lutter at redhat.com>
AuthorDate: Tue Feb 24 22:38:18 2009 -0800
Committer: David Lutterkort <lutter at redhat.com>
CommitterDate: Tue Feb 24 22:38:18 2009 -0800
* src/augeas.c: erase /augeas/events/saved only once
tree_save is called recursively; /augeas/events/saved must be reset
in aug_save, not tree_save
---
src/augeas.c | 3 ++-
tests/test-events-saved.sh | 11 +++++------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/augeas.c b/src/augeas.c
index f05dc95..529cbf7 100644
--- a/src/augeas.c
+++ b/src/augeas.c
@@ -603,7 +603,6 @@ static int tree_save(struct augeas *aug, struct tree *tree,
const char *path) {
int result = 0;
// FIXME: We need to detect subtrees that aren't saved by anything
- aug_rm(aug, AUGEAS_EVENTS_SAVED);
list_for_each(t, tree) {
if (t->dirty) {
@@ -680,6 +679,8 @@ int aug_save(struct augeas *aug) {
}
free_pathx(p);
+ aug_rm(aug, AUGEAS_EVENTS_SAVED);
+
list_for_each(t, aug->origin->children) {
tree_propagate_dirty(t);
}
diff --git a/tests/test-events-saved.sh b/tests/test-events-saved.sh
index de8bfb7..b8c5cc6 100755
--- a/tests/test-events-saved.sh
+++ b/tests/test-events-saved.sh
@@ -9,6 +9,8 @@ augtool --nostdinc -r $root -I $abs_top_srcdir/lenses <<EOF
set /files/etc/hosts/1/ipaddr 127.0.1.1
set /files/etc/grub.conf/default 3
set /files/etc/inittab/1/action fake
+set /files/etc/puppet/puppet.conf/main/ssldir /dev/null
+set /files/etc/yum.repos.d/fedora.repo/fedora/enabled 0
save
match /augeas/events/saved
EOF
@@ -17,14 +19,11 @@ EOF
root=$abs_top_builddir/build/test-events-saved
rm -rf $root
-mkdir -p $root/etc
-
-for f in hosts grub.conf inittab; do
- cp -p $abs_top_srcdir/tests/root/etc/$f $root/etc
-done
+mkdir -p $root
+cp -pr $abs_top_srcdir/tests/root/* $root
saved=$(run_augtool | grep ^/augeas/events/saved | cut -d ' ' -f 3 | sort | tr '\n' ' ')
-exp="/files/etc/grub.conf /files/etc/hosts /files/etc/inittab "
+exp="/files/etc/grub.conf /files/etc/hosts /files/etc/inittab /files/etc/puppet/puppet.conf /files/etc/yum.repos.d/fedora.repo "
if [ "$saved" != "$exp" ]
then
More information about the augeas-devel
mailing list