/usr/share/augeas/lenses/dist/subversion.aug is in augeas-lenses 1.10.1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | (*
Module: Subversion
Parses subversion's INI files
Authors:
Marc Fournier <marc.fournier@camptocamp.com>
Raphael Pinson <raphael.pinson@camptocamp.com>
About: License
This file is licenced under the LGPL v2+, like the rest of Augeas.
About: Examples
The <Test_Subversion> file contains various examples and tests.
*)
module Subversion =
autoload xfm
(************************************************************************
* Group: INI File settings
*
* subversion only supports comments starting with "#"
*
*************************************************************************)
(* View: comment *)
let comment = IniFile.comment_noindent "#" "#"
(* View: empty
An empty line or a non-indented empty comment *)
let empty = IniFile.empty_noindent
(* View: sep *)
let sep = IniFile.sep IniFile.sep_default IniFile.sep_default
(************************************************************************
* Group: ENTRY
*
* subversion doesn't support indented entries
*
*************************************************************************)
(* Variable: comma_list_re *)
let comma_list_re = "password-stores"
(* Variable: space_list_re *)
let space_list_re = "global-ignores" | "preserved-conflict-file-exts"
(* Variable: std_re *)
let std_re = /[^ \t\r\n\/=#]+/ - (comma_list_re | space_list_re)
(* View: entry_std
A standard entry
Similar to a <IniFile.entry_multiline_nocomment> entry,
but allows ';' *)
let entry_std =
IniFile.entry_multiline_generic (key std_re) sep "#" comment IniFile.eol
(* View: entry *)
let entry =
let comma_list_re = "password-stores"
in let space_list_re = "global-ignores" | "preserved-conflict-file-exts"
in let std_re = /[^ \t\r\n\/=#]+/ - (comma_list_re | space_list_re)
in entry_std
| IniFile.entry_list_nocomment comma_list_re sep Rx.word Sep.comma
| IniFile.entry_list_nocomment space_list_re sep Rx.no_spaces (del /(\r?\n)?[ \t]+/ " ")
(************************************************************************
* Group: TITLE
*
* subversion doesn't allow anonymous entries (outside sections)
*
*************************************************************************)
(* View: title *)
let title = IniFile.title IniFile.entry_re
(* View: record
Use the non-indented <empty> *)
let record = IniFile.record_noempty title (entry|empty)
(************************************************************************
* Group: LENS & FILTER
*************************************************************************)
(* View: lns *)
let lns = IniFile.lns record comment
(* Variable: filter *)
let filter = incl "/etc/subversion/config"
. incl "/etc/subversion/servers"
let xfm = transform lns filter
|