cfengine 0.16.1__tar.gz → 0.16.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cfengine-0.16.1 → cfengine-0.16.3}/PKG-INFO +1 -1
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine.egg-info/PKG-INFO +1 -1
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/docs.py +1 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/format.py +29 -8
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/004_comments.expected.cf +13 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/004_comments.input.cf +11 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/006_remove_empty_comments.expected.cf +21 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/006_remove_empty_comments.input.cf +50 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/.github/dependabot.yml +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/.github/workflows/lint-policy-in-other-repos.yml +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/.github/workflows/make-check.yml +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/.github/workflows/pypi-publish.yml +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/.github/workflows/stale.yml +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/.github/workflows/update-syntax-description.yml +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/.gitignore +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/.python-version +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/CLAUDE.md +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/HACKING.md +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/LICENSE +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/Makefile +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/README.md +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/ci/01-install.sh +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/ci/02-safe-tests.sh +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/ci/03-unsafe-tests.sh +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/pyproject.toml +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/setup.cfg +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine.egg-info/SOURCES.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine.egg-info/dependency_links.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine.egg-info/entry_points.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine.egg-info/requires.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine.egg-info/top_level.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/__init__.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/__main__.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/changelog.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/commands.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/deptool-README.md +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/deptool.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/dev.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/lint.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/lint_csv.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/lint_yml.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/main.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/masterfiles/__init__.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/masterfiles/analyze.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/masterfiles/check_download_matches_git.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/masterfiles/download.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/masterfiles/generate_git_tags.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/masterfiles/generate_release_information.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/masterfiles/generate_vcf_download.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/masterfiles/generate_vcf_git_checkout.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/paths.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/profile.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/shell.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/syntax-description.json +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/syntax_tree.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/up.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/utils.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/validate.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/version.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/README.md +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/001_hello_world.expected.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/001_hello_world.input.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/002_basics.expected.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/002_basics.input.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/003_wrapping.expected.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/003_wrapping.input.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/005_bundle_comments.expected.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/005_bundle_comments.input.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/007_class_guarded_empty_lines.expected.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/007_class_guarded_empty_lines.input.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/008_long_string.expected.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/008_long_string.input.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/009_single_line.expected.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/009_single_line.input.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/010_stakeholder.expected.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/010_stakeholder.input.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/011_macros.expected.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/011_macros.input.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/011_promises.expected.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/format/011_promises.input.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/001_hello_world.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/002_deprecations.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/002_deprecations.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/003_name_lowercase.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/003_name_lowercase.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/003_name_lowercase.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/004_block_type.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/004_block_type.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/004_block_type.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/005_syntax_error.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/005_syntax_error.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/005_syntax_error.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/006_empty_file.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/006_empty_file.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/007_namespace.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/007_namespace.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/007_namespace.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/008_bundle_shadows_function.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/008_bundle_shadows_function.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/008_bundle_shadows_function.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/009_unknown_function_inside_vars.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/009_unknown_function_inside_vars.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/009_unknown_function_inside_vars.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/010_mutually_exclusive_types_vars.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/010_mutually_exclusive_types_vars.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/010_mutually_exclusive_types_vars.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/011_invalid_attributes.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/011_invalid_attributes.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/012_function_call_arg_count.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/012_function_call_arg_count.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/012_function_call_arg_count.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/013_num_args_body.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/013_num_args_body.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/013_num_args_bundle.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/013_num_args_bundle.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/013_num_args_bundle_body.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/014_variadic_func_arg_count.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/014_variadic_func_arg_count.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/014_variadic_func_arg_count.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/015_macro_multi_def_bundle.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/015_macro_multi_def_bundle.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/015_macro_multi_def_bundle.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/016_half_promises.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/016_half_promises.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/016_half_promises.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/017_implies_body.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/017_implies_body.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/017_implies_body.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/018_nested_calls.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/018_nested_calls.expected.txt +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/018_nested_calls.x.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/019_bundle_name_expansion.cf +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/run-format-tests.sh +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/run-lint-tests.sh +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/run-shell-tests.sh +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/run-up-validate-tests.sh +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/shell/001-help.sh +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/shell/002-version.sh +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/shell/003-format.sh +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/shell/004-format-check.sh +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/shell/005-lint.sh +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/unit/__init__.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/unit/test_changelog.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/unit/test_deps.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/unit/test_format.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/unit/test_lint_csv.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/unit/test_lint_yml.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/unit/test_paths.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/unit/test_utils.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/unit/test_version.py +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/up-validate/001_complex_config.yaml +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/up-validate/002_version.x.yaml +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/up-validate/003_box.x.yaml +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/up-validate/004_count.x.yaml +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/up-validate/mocks/cloud_config.json +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/tests/up-validate/mocks/vagrant +0 -0
- {cfengine-0.16.1 → cfengine-0.16.3}/uv.lock +0 -0
|
@@ -279,6 +279,7 @@ def _process_markdown_code_blocks(
|
|
|
279
279
|
for cb in parsed_markdowns["files"][origin_path]["code-blocks"][i:]:
|
|
280
280
|
cb["first_line"] += offset
|
|
281
281
|
cb["last_line"] += offset
|
|
282
|
+
offset = 0
|
|
282
283
|
|
|
283
284
|
language = _translate_language(code_block["language"])
|
|
284
285
|
snippet_number = i + 1
|
|
@@ -711,6 +711,10 @@ def _format_block_header(node: Node, fmt: Formatter) -> list[Node]:
|
|
|
711
711
|
def _needs_blank_line_before(child: Node, indent: int, line_length: int) -> bool:
|
|
712
712
|
"""Check if a blank separator line should precede this child node."""
|
|
713
713
|
prev = child.prev_named_sibling
|
|
714
|
+
# Empty comments preceding this child will be dropped — look past them
|
|
715
|
+
# so we evaluate against the real prior content.
|
|
716
|
+
while prev and prev.type == "comment" and _is_empty_comment(prev):
|
|
717
|
+
prev = prev.prev_named_sibling
|
|
714
718
|
if not prev:
|
|
715
719
|
return False
|
|
716
720
|
|
|
@@ -743,12 +747,6 @@ def _needs_blank_line_before(child: Node, indent: int, line_length: int) -> bool
|
|
|
743
747
|
if child.type == "comment":
|
|
744
748
|
if _is_empty_comment(child):
|
|
745
749
|
return False
|
|
746
|
-
# Empty comments preceding this one will be dropped — look past them
|
|
747
|
-
# so we treat the comment as following the real prior content.
|
|
748
|
-
while prev and prev.type == "comment" and _is_empty_comment(prev):
|
|
749
|
-
prev = prev.prev_named_sibling
|
|
750
|
-
if prev is None:
|
|
751
|
-
return False
|
|
752
750
|
# Top-level comment after a complete block — visually separates them
|
|
753
751
|
if prev.type in BLOCK_TYPES:
|
|
754
752
|
return True
|
|
@@ -783,12 +781,27 @@ def _needs_blank_line_before(child: Node, indent: int, line_length: int) -> bool
|
|
|
783
781
|
|
|
784
782
|
|
|
785
783
|
def _is_empty_comment(node: Node) -> bool:
|
|
786
|
-
"""Check if a bare '#' comment should be dropped
|
|
784
|
+
"""Check if a bare '#' comment should be dropped.
|
|
785
|
+
|
|
786
|
+
A run of bare '#' between two non-empty comments collapses to a
|
|
787
|
+
single '#' — the first in the run is kept, the rest are dropped.
|
|
788
|
+
Bare '#' not flanked by real comments is always dropped."""
|
|
787
789
|
if text(node).strip() != "#":
|
|
788
790
|
return False
|
|
789
791
|
prev = node.prev_named_sibling
|
|
792
|
+
# Not the first in a run of '#' — a kept '#' precedes us, drop.
|
|
793
|
+
if prev and prev.type == "comment" and text(prev).strip() == "#":
|
|
794
|
+
return True
|
|
795
|
+
# First in a run — kept only if a non-empty comment sits on each side
|
|
796
|
+
# (forward search walks past the rest of the run to find one).
|
|
797
|
+
if not (prev and prev.type == "comment"):
|
|
798
|
+
return True
|
|
790
799
|
nxt = node.next_named_sibling
|
|
791
|
-
|
|
800
|
+
while nxt and nxt.type == "comment" and text(nxt).strip() == "#":
|
|
801
|
+
nxt = nxt.next_named_sibling
|
|
802
|
+
if not (nxt and nxt.type == "comment"):
|
|
803
|
+
return True
|
|
804
|
+
return False
|
|
792
805
|
|
|
793
806
|
|
|
794
807
|
def _skip_comments(sibling: Node | None, direction: str = "next") -> Node | None:
|
|
@@ -809,6 +822,10 @@ def _comment_indent(node: Node, indent: int) -> int:
|
|
|
809
822
|
# content at the end of the previous sibling subtree, so that comments
|
|
810
823
|
# appended after a class-guarded block visually belong to that block.
|
|
811
824
|
if nearest is None:
|
|
825
|
+
# A comment between a promiser and its terminating ';' is a promise
|
|
826
|
+
# continuation — indent it past the promiser.
|
|
827
|
+
if node.parent and node.parent.type in {"promise", "half_promise"}:
|
|
828
|
+
return indent + 2
|
|
812
829
|
prev = _skip_comments(node.prev_named_sibling, "prev")
|
|
813
830
|
if prev and prev.type in INDENTED_TYPES:
|
|
814
831
|
return _trailing_comment_indent(prev, indent)
|
|
@@ -892,6 +909,10 @@ def _autoformat(
|
|
|
892
909
|
if node.type in {",", ";"}:
|
|
893
910
|
if previous and previous.type == "macro":
|
|
894
911
|
fmt.print(node, indent + 2)
|
|
912
|
+
elif previous and previous.type == "comment":
|
|
913
|
+
# A '#' comment runs to end of line, so a following ';'/',' can't
|
|
914
|
+
# share that line — put it on its own continuation line.
|
|
915
|
+
fmt.print(node, indent + 2)
|
|
895
916
|
else:
|
|
896
917
|
fmt.print_same_line(node)
|
|
897
918
|
elif node.type == "comment":
|
|
@@ -151,3 +151,16 @@ bundle agent stigs
|
|
|
151
151
|
vars:
|
|
152
152
|
"foo" string => "bar";
|
|
153
153
|
}
|
|
154
|
+
|
|
155
|
+
bundle agent example_comment_before_semicolon
|
|
156
|
+
{
|
|
157
|
+
files:
|
|
158
|
+
"affected object"
|
|
159
|
+
# ...details....
|
|
160
|
+
;
|
|
161
|
+
|
|
162
|
+
processes:
|
|
163
|
+
"affected object"
|
|
164
|
+
# ...details....
|
|
165
|
+
;
|
|
166
|
+
}
|
|
@@ -143,3 +143,14 @@ bundle agent stigs
|
|
|
143
143
|
vars:
|
|
144
144
|
"foo" string => "bar";
|
|
145
145
|
}
|
|
146
|
+
bundle agent example_comment_before_semicolon
|
|
147
|
+
{
|
|
148
|
+
files:
|
|
149
|
+
"affected object"
|
|
150
|
+
# ...details....
|
|
151
|
+
;
|
|
152
|
+
processes:
|
|
153
|
+
"affected object"
|
|
154
|
+
# ...details....
|
|
155
|
+
;
|
|
156
|
+
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
# explanation
|
|
2
|
+
#
|
|
3
|
+
# one more line
|
|
1
4
|
bundle agent main
|
|
2
5
|
{
|
|
3
6
|
# comment
|
|
@@ -22,3 +25,21 @@ bundle agent c
|
|
|
22
25
|
reports:
|
|
23
26
|
"hello";
|
|
24
27
|
}
|
|
28
|
+
|
|
29
|
+
bundle agent d
|
|
30
|
+
{
|
|
31
|
+
reports:
|
|
32
|
+
"hello";
|
|
33
|
+
|
|
34
|
+
any::
|
|
35
|
+
"world";
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
bundle agent e
|
|
39
|
+
{
|
|
40
|
+
reports:
|
|
41
|
+
"hello";
|
|
42
|
+
|
|
43
|
+
any::
|
|
44
|
+
"world";
|
|
45
|
+
}
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
#
|
|
2
|
+
#
|
|
3
|
+
#
|
|
4
|
+
#
|
|
5
|
+
#
|
|
6
|
+
# explanation
|
|
7
|
+
#
|
|
8
|
+
#
|
|
9
|
+
#
|
|
10
|
+
#
|
|
11
|
+
# one more line
|
|
12
|
+
#
|
|
13
|
+
#
|
|
14
|
+
#
|
|
15
|
+
#
|
|
1
16
|
bundle agent main
|
|
2
17
|
{
|
|
3
18
|
#
|
|
@@ -28,3 +43,38 @@ bundle agent c
|
|
|
28
43
|
reports:
|
|
29
44
|
"hello";
|
|
30
45
|
}
|
|
46
|
+
#
|
|
47
|
+
bundle agent d
|
|
48
|
+
{
|
|
49
|
+
#
|
|
50
|
+
reports:
|
|
51
|
+
#
|
|
52
|
+
"hello";
|
|
53
|
+
#
|
|
54
|
+
any::
|
|
55
|
+
#
|
|
56
|
+
"world";
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
#
|
|
60
|
+
#
|
|
61
|
+
#
|
|
62
|
+
bundle agent e
|
|
63
|
+
{
|
|
64
|
+
#
|
|
65
|
+
#
|
|
66
|
+
#
|
|
67
|
+
reports:
|
|
68
|
+
#
|
|
69
|
+
#
|
|
70
|
+
#
|
|
71
|
+
"hello";
|
|
72
|
+
#
|
|
73
|
+
#
|
|
74
|
+
#
|
|
75
|
+
any::
|
|
76
|
+
#
|
|
77
|
+
#
|
|
78
|
+
#
|
|
79
|
+
"world";
|
|
80
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/masterfiles/check_download_matches_git.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/masterfiles/generate_release_information.py
RENAMED
|
File without changes
|
|
File without changes
|
{cfengine-0.16.1 → cfengine-0.16.3}/src/cfengine_cli/masterfiles/generate_vcf_git_checkout.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/009_unknown_function_inside_vars.expected.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cfengine-0.16.1 → cfengine-0.16.3}/tests/lint/010_mutually_exclusive_types_vars.expected.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|