mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 14:01:37 +00:00
Enhance instance metadata and reconciliation logic for glob-ignored children
- Added `globIgnoredChildren` to `ApiInstanceMetadata` to manage child deletion behavior based on glob patterns. - Updated `shouldDeleteChild` function to suppress deletions when `globIgnoredChildren` is true, differentiating from scripts-only mode. - Enhanced tests to verify correct behavior of instance deletion based on the new metadata, ensuring robust handling of unknown scripts. - Refactored snapshot handling to incorporate `globIgnoredChildren` in metadata, improving clarity and maintainability.
This commit is contained in:
parent
4b38c070fb
commit
12bccf91c5
50 changed files with 247 additions and 14 deletions
|
|
@ -371,14 +371,7 @@ impl ServeSession {
|
|||
|
||||
let patch_start = Instant::now();
|
||||
let project_folder = root_project.folder_location().to_path_buf();
|
||||
let watch_ignore_rules: Vec<PathIgnoreRule> = root_project
|
||||
.glob_ignore_paths
|
||||
.iter()
|
||||
.map(|glob| PathIgnoreRule {
|
||||
glob: glob.clone(),
|
||||
base_path: root_project.folder_location().to_path_buf(),
|
||||
})
|
||||
.collect();
|
||||
let watch_ignore_rules = root_project.path_ignore_rules();
|
||||
std::thread::scope(|s| {
|
||||
s.spawn(|| {
|
||||
use walkdir::WalkDir;
|
||||
|
|
|
|||
|
|
@ -21,6 +21,11 @@ pub struct InstanceMetadata {
|
|||
/// manage.
|
||||
pub ignore_unknown_instances: bool,
|
||||
|
||||
/// Whether this directory had children excluded by `globIgnorePaths`.
|
||||
/// Distinguishes glob-ignored directories (suppress ALL deletions including
|
||||
/// scripts) from scripts-only mode (suppress non-script deletions only).
|
||||
pub glob_ignored_children: bool,
|
||||
|
||||
/// If a change occurs to this instance, the instigating source is what
|
||||
/// should be run through the snapshot functions to regenerate it.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
|
|
@ -79,6 +84,7 @@ impl InstanceMetadata {
|
|||
pub fn new() -> Self {
|
||||
Self {
|
||||
ignore_unknown_instances: false,
|
||||
glob_ignored_children: false,
|
||||
instigating_source: None,
|
||||
relevant_paths: Vec::new(),
|
||||
context: InstanceContext::default(),
|
||||
|
|
@ -96,6 +102,13 @@ impl InstanceMetadata {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn glob_ignored_children(self, glob_ignored_children: bool) -> Self {
|
||||
Self {
|
||||
glob_ignored_children,
|
||||
..self
|
||||
}
|
||||
}
|
||||
|
||||
pub fn instigating_source(self, instigating_source: impl Into<InstigatingSource>) -> Self {
|
||||
Self {
|
||||
instigating_source: Some(instigating_source.into()),
|
||||
|
|
|
|||
|
|
@ -110,6 +110,8 @@ fn compute_patch_set_internal(
|
|||
.get_instance(id)
|
||||
.expect("Instance did not exist in tree");
|
||||
|
||||
let ignore_unknown = snapshot.metadata.ignore_unknown_instances;
|
||||
|
||||
compute_property_patches(
|
||||
&context.snapshot_specified_ids,
|
||||
&mut snapshot,
|
||||
|
|
@ -117,7 +119,15 @@ fn compute_patch_set_internal(
|
|||
patch_set,
|
||||
tree,
|
||||
);
|
||||
compute_children_patches(context, &mut snapshot, tree, id, patch_set, session);
|
||||
compute_children_patches(
|
||||
context,
|
||||
&mut snapshot,
|
||||
tree,
|
||||
id,
|
||||
patch_set,
|
||||
session,
|
||||
ignore_unknown,
|
||||
);
|
||||
}
|
||||
|
||||
fn compute_property_patches(
|
||||
|
|
@ -267,6 +277,7 @@ fn compute_children_patches(
|
|||
id: Ref,
|
||||
patch_set: &mut PatchSet,
|
||||
session: &super::matching::MatchingSession,
|
||||
ignore_unknown_instances: bool,
|
||||
) {
|
||||
use super::matching::match_forward;
|
||||
|
||||
|
|
@ -310,9 +321,13 @@ fn compute_children_patches(
|
|||
});
|
||||
}
|
||||
|
||||
// Unmatched tree children: instances to be removed.
|
||||
for tree_child_id in match_result.unmatched_tree {
|
||||
patch_set.removed_instances.push(tree_child_id);
|
||||
// Unmatched tree children: instances to be removed, unless the parent
|
||||
// snapshot says to ignore unknown instances (e.g. $ignoreUnknownInstances
|
||||
// or directories with glob-ignored children).
|
||||
if !ignore_unknown_instances {
|
||||
for tree_child_id in match_result.unmatched_tree {
|
||||
patch_set.removed_instances.push(tree_child_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -426,6 +441,96 @@ mod test {
|
|||
assert_eq!(patch_set, expected_patch_set);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn ignore_unknown_instances_suppresses_removals() {
|
||||
use super::super::patch_apply::apply_patch_set;
|
||||
|
||||
let mut tree = RojoTree::new(InstanceSnapshot::new().name("root").class_name("Folder"));
|
||||
let root_id = tree.get_root_id();
|
||||
|
||||
// Add two children (A and B) to the tree via a patch.
|
||||
let add_patch = PatchSet {
|
||||
added_instances: vec![
|
||||
PatchAdd {
|
||||
parent_id: root_id,
|
||||
instance: InstanceSnapshot::new().name("A").class_name("Folder"),
|
||||
},
|
||||
PatchAdd {
|
||||
parent_id: root_id,
|
||||
instance: InstanceSnapshot::new().name("B").class_name("Folder"),
|
||||
},
|
||||
],
|
||||
updated_instances: Vec::new(),
|
||||
removed_instances: Vec::new(),
|
||||
stage_ids: std::collections::HashSet::new(),
|
||||
stage_paths: Vec::new(),
|
||||
};
|
||||
apply_patch_set(&mut tree, add_patch);
|
||||
|
||||
// Snapshot only has child A, with ignore_unknown_instances = true.
|
||||
// Child B is "unknown" and should NOT be removed.
|
||||
let snapshot = InstanceSnapshot {
|
||||
snapshot_id: Ref::none(),
|
||||
metadata: super::super::InstanceMetadata::new().ignore_unknown_instances(true),
|
||||
properties: UstrMap::new(),
|
||||
name: Cow::Borrowed("root"),
|
||||
class_name: ustr("Folder"),
|
||||
children: vec![InstanceSnapshot::new().name("A").class_name("Folder")],
|
||||
};
|
||||
|
||||
let patch_set = compute_patch_set(Some(snapshot), &tree, root_id);
|
||||
|
||||
assert!(
|
||||
patch_set.removed_instances.is_empty(),
|
||||
"Unmatched tree children should NOT be removed when ignore_unknown_instances is true"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn default_removes_unmatched_children() {
|
||||
use super::super::patch_apply::apply_patch_set;
|
||||
|
||||
let mut tree = RojoTree::new(InstanceSnapshot::new().name("root").class_name("Folder"));
|
||||
let root_id = tree.get_root_id();
|
||||
|
||||
let add_patch = PatchSet {
|
||||
added_instances: vec![
|
||||
PatchAdd {
|
||||
parent_id: root_id,
|
||||
instance: InstanceSnapshot::new().name("A").class_name("Folder"),
|
||||
},
|
||||
PatchAdd {
|
||||
parent_id: root_id,
|
||||
instance: InstanceSnapshot::new().name("B").class_name("Folder"),
|
||||
},
|
||||
],
|
||||
updated_instances: Vec::new(),
|
||||
removed_instances: Vec::new(),
|
||||
stage_ids: std::collections::HashSet::new(),
|
||||
stage_paths: Vec::new(),
|
||||
};
|
||||
apply_patch_set(&mut tree, add_patch);
|
||||
|
||||
// Snapshot only has child A, with default metadata (ignore_unknown_instances = false).
|
||||
// Child B should be removed.
|
||||
let snapshot = InstanceSnapshot {
|
||||
snapshot_id: Ref::none(),
|
||||
metadata: Default::default(),
|
||||
properties: UstrMap::new(),
|
||||
name: Cow::Borrowed("root"),
|
||||
class_name: ustr("Folder"),
|
||||
children: vec![InstanceSnapshot::new().name("A").class_name("Folder")],
|
||||
};
|
||||
|
||||
let patch_set = compute_patch_set(Some(snapshot), &tree, root_id);
|
||||
|
||||
assert_eq!(
|
||||
patch_set.removed_instances.len(),
|
||||
1,
|
||||
"Unmatched tree children should be removed when ignore_unknown_instances is false"
|
||||
);
|
||||
}
|
||||
|
||||
/// The same as rewrite_ref_existing_instance_update, except that the
|
||||
/// property is added in a new instance instead of modifying an existing
|
||||
/// one.
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ properties:
|
|||
"!String": Value of Foo
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
relevant_paths: []
|
||||
context: {}
|
||||
specified_id: ~
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ class_name: ROOT
|
|||
properties: {}
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
relevant_paths: []
|
||||
context: {}
|
||||
specified_id: ~
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ properties:
|
|||
"!String": Should be removed
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
relevant_paths: []
|
||||
context: {}
|
||||
specified_id: ~
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ class_name: Folder
|
|||
properties: {}
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
relevant_paths: []
|
||||
context: {}
|
||||
specified_id: ~
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ added_instances:
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
relevant_paths: []
|
||||
context: {}
|
||||
specified_id: ~
|
||||
|
|
|
|||
|
|
@ -118,7 +118,8 @@ pub fn snapshot_dir_no_meta(
|
|||
.instigating_source(path)
|
||||
.relevant_paths(relevant_paths)
|
||||
.context(context)
|
||||
.ignore_unknown_instances(any_child_glob_ignored),
|
||||
.ignore_unknown_instances(any_child_glob_ignored)
|
||||
.glob_ignored_children(any_child_glob_ignored),
|
||||
);
|
||||
|
||||
Ok(Some(snapshot))
|
||||
|
|
@ -602,6 +603,10 @@ mod test {
|
|||
snap.metadata.ignore_unknown_instances,
|
||||
"Directory with glob-ignored children should have ignore_unknown_instances = true"
|
||||
);
|
||||
assert!(
|
||||
snap.metadata.glob_ignored_children,
|
||||
"Directory with glob-ignored children should have glob_ignored_children = true"
|
||||
);
|
||||
assert_eq!(
|
||||
snap.children.len(),
|
||||
1,
|
||||
|
|
@ -636,6 +641,10 @@ mod test {
|
|||
!snap.metadata.ignore_unknown_instances,
|
||||
"Directory without glob-ignored children should have ignore_unknown_instances = false"
|
||||
);
|
||||
assert!(
|
||||
!snap.metadata.glob_ignored_children,
|
||||
"Directory without glob-ignored children should have glob_ignored_children = false"
|
||||
);
|
||||
assert_eq!(snap.children.len(), 2);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.csv
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /root/init.csv
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /root/init.csv
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: true
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.csv
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo
|
||||
relevant_paths:
|
||||
|
|
@ -30,6 +31,7 @@ children:
|
|||
- snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo/Child
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.json5
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.json5
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.model.json5
|
||||
relevant_paths:
|
||||
|
|
@ -22,6 +23,7 @@ children:
|
|||
- snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
relevant_paths: []
|
||||
context: {}
|
||||
specified_id: ~
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.model.json5
|
||||
relevant_paths:
|
||||
|
|
@ -22,6 +23,7 @@ children:
|
|||
- snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
relevant_paths: []
|
||||
context: {}
|
||||
specified_id: ~
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.client.luau
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /root/init.luau
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /root/init.luau
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.legacy.luau
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.local.luau
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.luau
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: true
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.luau
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.plugin.luau
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /bar.server.luau
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.server.luau
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: true
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.server.luau
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
relevant_paths:
|
||||
- /foo/bar.meta.json5
|
||||
context: {}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
relevant_paths:
|
||||
- /foo/init.meta.json5
|
||||
context: {}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: true
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo/default.project.json5
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: true
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo/hello.project.json5
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: true
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo/default.project.json5
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: true
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.project.json5
|
||||
relevant_paths:
|
||||
|
|
@ -20,6 +21,7 @@ children:
|
|||
- snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: true
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
ProjectNode:
|
||||
path: /foo.project.json5
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: true
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo/default.project.json5
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: true
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo/default.project.json5
|
||||
relevant_paths:
|
||||
|
|
@ -21,6 +22,7 @@ children:
|
|||
- snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: true
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
ProjectNode:
|
||||
path: /foo/other.project.json5
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo/default.project.json5
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: true
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.project.json5
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: true
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.project.json5
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.toml
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: foo.toml
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.txt
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.txt
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: /foo.yaml
|
||||
relevant_paths:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ expression: instance_snapshot
|
|||
snapshot_id: "00000000000000000000000000000000"
|
||||
metadata:
|
||||
ignore_unknown_instances: false
|
||||
glob_ignored_children: false
|
||||
instigating_source:
|
||||
Path: foo.yaml
|
||||
relevant_paths:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue