From 98519da7d9341e1de368aab240c32ac5a246abe6 Mon Sep 17 00:00:00 2001 From: Lucien Greathouse Date: Fri, 4 Oct 2019 18:36:04 -0700 Subject: [PATCH] Reintroduce instigating paths for snapshot middleware --- src/change_processor.rs | 4 ++-- src/snapshot_middleware/csv.rs | 1 + src/snapshot_middleware/dir.rs | 1 + src/snapshot_middleware/json_model.rs | 1 + src/snapshot_middleware/lua.rs | 1 + src/snapshot_middleware/rbxlx.rs | 1 + src/snapshot_middleware/rbxm.rs | 1 + src/snapshot_middleware/rbxmx.rs | 1 + .../snapshots/test__client_from_imfs.snap | 4 +++- src/snapshot_middleware/snapshots/test__csv_from_imfs.snap | 4 +++- src/snapshot_middleware/snapshots/test__empty_folder.snap | 4 +++- .../snapshots/test__folder_in_folder.snap | 6 +++++- .../snapshots/test__instance_from_imfs.snap | 4 +++- .../snapshots/test__model_from_imfs.snap | 4 +++- .../snapshots/test__module_from_imfs.snap | 4 +++- .../snapshots/test__server_from_imfs.snap | 4 +++- src/snapshot_middleware/txt.rs | 1 + 17 files changed, 36 insertions(+), 10 deletions(-) diff --git a/src/change_processor.rs b/src/change_processor.rs index 7bb5b382..533a982c 100644 --- a/src/change_processor.rs +++ b/src/change_processor.rs @@ -94,9 +94,9 @@ impl ChangeProcessor { }; let snapshot = match instigating_source { - InstigatingSource::Path(instigating_path) => { + InstigatingSource::Path(path) => { let entry = imfs - .get(instigating_path) + .get(path) .expect("could not get instigating path from filesystem"); let snapshot = snapshot_from_imfs(&mut imfs, &entry) diff --git a/src/snapshot_middleware/csv.rs b/src/snapshot_middleware/csv.rs index ccdf4bb2..17837667 100644 --- a/src/snapshot_middleware/csv.rs +++ b/src/snapshot_middleware/csv.rs @@ -40,6 +40,7 @@ impl SnapshotMiddleware for SnapshotCsv { Ok(Some(InstanceSnapshot { snapshot_id: None, metadata: InstanceMetadata { + instigating_source: Some(entry.path().to_path_buf().into()), relevant_paths: vec![entry.path().to_path_buf()], ..Default::default() }, diff --git a/src/snapshot_middleware/dir.rs b/src/snapshot_middleware/dir.rs index 0d7faf66..9c365594 100644 --- a/src/snapshot_middleware/dir.rs +++ b/src/snapshot_middleware/dir.rs @@ -44,6 +44,7 @@ impl SnapshotMiddleware for SnapshotDir { Ok(Some(InstanceSnapshot { snapshot_id: None, metadata: InstanceMetadata { + instigating_source: Some(entry.path().to_path_buf().into()), relevant_paths: vec![entry.path().to_path_buf()], ..Default::default() }, diff --git a/src/snapshot_middleware/json_model.rs b/src/snapshot_middleware/json_model.rs index 4eed7cfd..5b8834b4 100644 --- a/src/snapshot_middleware/json_model.rs +++ b/src/snapshot_middleware/json_model.rs @@ -52,6 +52,7 @@ impl SnapshotMiddleware for SnapshotJsonModel { let mut snapshot = instance.core.into_snapshot(instance_name); + snapshot.metadata.instigating_source = Some(entry.path().to_path_buf().into()); snapshot.metadata.relevant_paths = vec![entry.path().to_path_buf()]; Ok(Some(snapshot)) diff --git a/src/snapshot_middleware/lua.rs b/src/snapshot_middleware/lua.rs index 758a0872..d60ee4b9 100644 --- a/src/snapshot_middleware/lua.rs +++ b/src/snapshot_middleware/lua.rs @@ -91,6 +91,7 @@ fn snapshot_lua_file( Ok(Some(InstanceSnapshot { snapshot_id: None, metadata: InstanceMetadata { + instigating_source: Some(entry.path().to_path_buf().into()), relevant_paths: vec![entry.path().to_path_buf()], ..Default::default() }, diff --git a/src/snapshot_middleware/rbxlx.rs b/src/snapshot_middleware/rbxlx.rs index 406ea11c..334b7d68 100644 --- a/src/snapshot_middleware/rbxlx.rs +++ b/src/snapshot_middleware/rbxlx.rs @@ -43,6 +43,7 @@ impl SnapshotMiddleware for SnapshotRbxlx { let mut snapshot = InstanceSnapshot::from_tree(&temp_tree, root_id); snapshot.name = Cow::Owned(instance_name); + snapshot.metadata.instigating_source = Some(entry.path().to_path_buf().into()); snapshot.metadata.relevant_paths = vec![entry.path().to_path_buf()]; Ok(Some(snapshot)) diff --git a/src/snapshot_middleware/rbxm.rs b/src/snapshot_middleware/rbxm.rs index 7744820a..f97ed19f 100644 --- a/src/snapshot_middleware/rbxm.rs +++ b/src/snapshot_middleware/rbxm.rs @@ -49,6 +49,7 @@ impl SnapshotMiddleware for SnapshotRbxm { if children.len() == 1 { let mut snapshot = InstanceSnapshot::from_tree(&temp_tree, children[0]); snapshot.name = Cow::Owned(instance_name); + snapshot.metadata.instigating_source = Some(entry.path().to_path_buf().into()); snapshot.metadata.relevant_paths = vec![entry.path().to_path_buf()]; Ok(Some(snapshot)) diff --git a/src/snapshot_middleware/rbxmx.rs b/src/snapshot_middleware/rbxmx.rs index 0aebe6a6..51ef1ed4 100644 --- a/src/snapshot_middleware/rbxmx.rs +++ b/src/snapshot_middleware/rbxmx.rs @@ -45,6 +45,7 @@ impl SnapshotMiddleware for SnapshotRbxmx { if children.len() == 1 { let mut snapshot = InstanceSnapshot::from_tree(&temp_tree, children[0]); snapshot.name = Cow::Owned(instance_name); + snapshot.metadata.instigating_source = Some(entry.path().to_path_buf().into()); snapshot.metadata.relevant_paths = vec![entry.path().to_path_buf()]; Ok(Some(snapshot)) diff --git a/src/snapshot_middleware/snapshots/test__client_from_imfs.snap b/src/snapshot_middleware/snapshots/test__client_from_imfs.snap index b844fef9..35ef40fb 100644 --- a/src/snapshot_middleware/snapshots/test__client_from_imfs.snap +++ b/src/snapshot_middleware/snapshots/test__client_from_imfs.snap @@ -5,6 +5,8 @@ expression: instance_snapshot snapshot_id: ~ metadata: ignore_unknown_instances: false + instigating_source: + Path: /foo.client.lua relevant_paths: - /foo.client.lua name: foo @@ -13,4 +15,4 @@ properties: Source: Type: String Value: Hello there! -children: [] \ No newline at end of file +children: [] diff --git a/src/snapshot_middleware/snapshots/test__csv_from_imfs.snap b/src/snapshot_middleware/snapshots/test__csv_from_imfs.snap index 444aec8f..84a1cadc 100644 --- a/src/snapshot_middleware/snapshots/test__csv_from_imfs.snap +++ b/src/snapshot_middleware/snapshots/test__csv_from_imfs.snap @@ -5,6 +5,8 @@ expression: instance_snapshot snapshot_id: ~ metadata: ignore_unknown_instances: false + instigating_source: + Path: /foo.csv relevant_paths: - /foo.csv name: foo @@ -13,4 +15,4 @@ properties: Contents: Type: String Value: "[{\"key\":\"Ack\",\"example\":\"An exclamation of despair\",\"source\":\"Ack!\",\"values\":{\"es\":\"¡Ay!\"}}]" -children: [] \ No newline at end of file +children: [] diff --git a/src/snapshot_middleware/snapshots/test__empty_folder.snap b/src/snapshot_middleware/snapshots/test__empty_folder.snap index f57dade1..c08cb8c1 100644 --- a/src/snapshot_middleware/snapshots/test__empty_folder.snap +++ b/src/snapshot_middleware/snapshots/test__empty_folder.snap @@ -5,9 +5,11 @@ expression: instance_snapshot snapshot_id: ~ metadata: ignore_unknown_instances: false + instigating_source: + Path: /foo relevant_paths: - /foo name: foo class_name: Folder properties: {} -children: [] \ No newline at end of file +children: [] diff --git a/src/snapshot_middleware/snapshots/test__folder_in_folder.snap b/src/snapshot_middleware/snapshots/test__folder_in_folder.snap index 6682d35f..dafc369a 100644 --- a/src/snapshot_middleware/snapshots/test__folder_in_folder.snap +++ b/src/snapshot_middleware/snapshots/test__folder_in_folder.snap @@ -5,6 +5,8 @@ expression: instance_snapshot snapshot_id: ~ metadata: ignore_unknown_instances: false + instigating_source: + Path: /foo relevant_paths: - /foo name: foo @@ -14,9 +16,11 @@ children: - snapshot_id: ~ metadata: ignore_unknown_instances: false + instigating_source: + Path: /foo/Child relevant_paths: - /foo/Child name: Child class_name: Folder properties: {} - children: [] \ No newline at end of file + children: [] diff --git a/src/snapshot_middleware/snapshots/test__instance_from_imfs.snap b/src/snapshot_middleware/snapshots/test__instance_from_imfs.snap index 902efa80..0dcac5ac 100644 --- a/src/snapshot_middleware/snapshots/test__instance_from_imfs.snap +++ b/src/snapshot_middleware/snapshots/test__instance_from_imfs.snap @@ -5,6 +5,8 @@ expression: instance_snapshot snapshot_id: ~ metadata: ignore_unknown_instances: false + instigating_source: + Path: /foo.txt relevant_paths: - /foo.txt name: foo @@ -13,4 +15,4 @@ properties: Value: Type: String Value: Hello there! -children: [] \ No newline at end of file +children: [] diff --git a/src/snapshot_middleware/snapshots/test__model_from_imfs.snap b/src/snapshot_middleware/snapshots/test__model_from_imfs.snap index 4828e278..a18082b6 100644 --- a/src/snapshot_middleware/snapshots/test__model_from_imfs.snap +++ b/src/snapshot_middleware/snapshots/test__model_from_imfs.snap @@ -5,6 +5,8 @@ expression: instance_snapshot snapshot_id: ~ metadata: ignore_unknown_instances: false + instigating_source: + Path: /foo.model.json relevant_paths: - /foo.model.json name: foo @@ -21,4 +23,4 @@ children: name: The Child class_name: StringValue properties: {} - children: [] \ No newline at end of file + children: [] diff --git a/src/snapshot_middleware/snapshots/test__module_from_imfs.snap b/src/snapshot_middleware/snapshots/test__module_from_imfs.snap index ccc9b320..3ad3d835 100644 --- a/src/snapshot_middleware/snapshots/test__module_from_imfs.snap +++ b/src/snapshot_middleware/snapshots/test__module_from_imfs.snap @@ -5,6 +5,8 @@ expression: instance_snapshot snapshot_id: ~ metadata: ignore_unknown_instances: false + instigating_source: + Path: /foo.lua relevant_paths: - /foo.lua name: foo @@ -13,4 +15,4 @@ properties: Source: Type: String Value: Hello there! -children: [] \ No newline at end of file +children: [] diff --git a/src/snapshot_middleware/snapshots/test__server_from_imfs.snap b/src/snapshot_middleware/snapshots/test__server_from_imfs.snap index 069017e7..3c9c0070 100644 --- a/src/snapshot_middleware/snapshots/test__server_from_imfs.snap +++ b/src/snapshot_middleware/snapshots/test__server_from_imfs.snap @@ -5,6 +5,8 @@ expression: instance_snapshot snapshot_id: ~ metadata: ignore_unknown_instances: false + instigating_source: + Path: /foo.server.lua relevant_paths: - /foo.server.lua name: foo @@ -13,4 +15,4 @@ properties: Source: Type: String Value: Hello there! -children: [] \ No newline at end of file +children: [] diff --git a/src/snapshot_middleware/txt.rs b/src/snapshot_middleware/txt.rs index 673de4d7..19906ca9 100644 --- a/src/snapshot_middleware/txt.rs +++ b/src/snapshot_middleware/txt.rs @@ -52,6 +52,7 @@ impl SnapshotMiddleware for SnapshotTxt { Ok(Some(InstanceSnapshot { snapshot_id: None, metadata: InstanceMetadata { + instigating_source: Some(entry.path().to_path_buf().into()), relevant_paths: vec![entry.path().to_path_buf()], ..Default::default() },