Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


aug_load: cleanup variables when deleting /files
The first thing aug_load does is delete /augeas/files and /files. We need
to make sure that any variables that contain references to nodes in those
subtrees are cleaned up properly, i.e. that we remove such nodes from
nodesets in the variables.

  * src/augeas.c (tree_unlink_children): remove descendants of the tree we
    are deleting from variables.
  * tests/test-load.c (testLoadDefined): verify fix

Fixes bug #79


Record new files under /augeas/files when they are saved
  * src/transform.c (transform_save): add file info with add_file_info
  * tests/test-save.c: test that file info is added for a new file
  * tests/ build and run test-save
  * .gitignore: ignore tests/test-save

Fixes bug #78


Generate ChangeLog from git history


transform_save: make saving idempotent
When a file needs to be saved, its contents are first generated in a temp
file which is then moved over the original file. Between generating the
temp file and moving it in its final place, read its contents back in and
compare with the contents of the original file. Only move the tempfile over
the original if the contents do indeed differ. This avoids spurious changes
in mtime.


Complain when nodes in the tree can not be put
When nodes are added to the tree that do not match the appropriate
key/label lens, we used to silently drop them if the key/label was inside a
repetition inside a concat.

Now, we check when we split the tree for a concat that we have used all the
nodes in the tree that we were supposed to, and complain otherwise.

This also uncovered that the test rec-hosts-add.rb was broken, but still


Remove any matches ... and ..? from the language. Remove first/follow…
… sets

They currently require lookahead assertions from the underlying regexp

Since any matches were the only reason to compute first/follow sets, remove
those, too.


Remove unused keyword and token 'default'
Something went wrong with that request. Please try again.