rojo/rojo-test/syncback-test-snapshots
Joe 7d0232c430 Add automatic dedup suffix stripping to enhance syncback functionality
- Introduced a new plan to automatically strip `~N` dedup suffixes from filenames during forward sync, eliminating the need for redundant `.meta.json5` files.
- Implemented the `strip_dedup_suffix()` utility in `dedup_suffix.rs` to handle suffix removal.
- Updated `file_name_for_path()` and `get_dir_middleware()` to utilize the new stripping functionality.
- Modified syncback logic to skip writing meta `name` fields for dedup-only cases, ensuring cleaner instance naming.
- Enhanced existing tests and added new tests to cover the updated dedup behavior, ensuring robustness and correctness.

These changes aim to streamline the handling of deduplicated instances, improving overall system efficiency and clarity in naming conventions.
2026-02-19 01:15:28 -06:00
..
end_to_end__rojo_test__syncback_util__child_but_not-stdout.snap Refactor Reconciler tests and update path handling logic 2026-02-17 04:46:54 -06:00
end_to_end__rojo_test__syncback_util__csv-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__rojo_test__syncback_util__duplicate_rojo_id-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__rojo_test__syncback_util__ignore_paths_adding-stdout.snap Remove unnecessary .gitkeep files from various snapshot tests to streamline directory management and ensure proper cleanup in syncback functionality. 2026-02-08 16:27:04 -06:00
end_to_end__rojo_test__syncback_util__ignore_paths_init-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__rojo_test__syncback_util__ignore_paths_removing-src__Message.rbxm.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__rojo_test__syncback_util__ignore_paths_removing-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__rojo_test__syncback_util__ignore_trees_adding-stdout.snap Remove unnecessary .gitkeep files from various snapshot tests to streamline directory management and ensure proper cleanup in syncback functionality. 2026-02-08 16:27:04 -06:00
end_to_end__rojo_test__syncback_util__ignore_trees_removing-stdout.snap Remove unnecessary .gitkeep files from various snapshot tests to streamline directory management and ensure proper cleanup in syncback functionality. 2026-02-08 16:27:04 -06:00
end_to_end__rojo_test__syncback_util__json_middlewares-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__rojo_test__syncback_util__nested_projects-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__rojo_test__syncback_util__nested_projects_weird-stdout.snap Enhance syncback logic to preserve nested project files 2026-02-01 10:13:24 -06:00
end_to_end__rojo_test__syncback_util__project_init-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__rojo_test__syncback_util__project_reserialize-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__rojo_test__syncback_util__rbxm_fallback-src__ChildWithDuplicates.rbxm.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__rojo_test__syncback_util__rbxm_fallback-stdout.snap Add automatic dedup suffix stripping to enhance syncback functionality 2026-02-19 01:15:28 -06:00
end_to_end__rojo_test__syncback_util__ref_properties-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__rojo_test__syncback_util__ref_properties_blank-stdout.snap Remove unnecessary .gitkeep files from various snapshot tests to streamline directory management and ensure proper cleanup in syncback functionality. 2026-02-08 16:27:04 -06:00
end_to_end__rojo_test__syncback_util__ref_properties_conflict-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__rojo_test__syncback_util__ref_properties_duplicate-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__rojo_test__syncback_util__ref_properties_pruned-stdout.snap Remove unnecessary .gitkeep files from various snapshot tests to streamline directory management and ensure proper cleanup in syncback functionality. 2026-02-08 16:27:04 -06:00
end_to_end__rojo_test__syncback_util__respect_old_middleware-src__rbxm.rbxm.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__rojo_test__syncback_util__respect_old_middleware-stdout.snap Refactor Reconciler tests and update path handling logic 2026-02-17 04:46:54 -06:00
end_to_end__rojo_test__syncback_util__schema_roundtrip-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__rojo_test__syncback_util__string_value_project-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__rojo_test__syncback_util__sync_rules-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__rojo_test__syncback_util__unscriptable_properties-stdout.snap Enhance SelectionOption component with hover state and caret visibility logic 2026-02-01 09:51:48 -06:00
end_to_end__tests__syncback__child_but_not-OnlyOneCopy__child_of_one.luau.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__child_but_not-ReplicatedStorage__child_replicated_storage.luau.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__csv-src__csv.csv.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__csv-src__csv_init__init.csv.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__duplicate_rojo_id-container.model.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__duplicate_rojo_id-container.model.json5.snap Add Luau-style ref paths migration plan and update related tests 2026-02-18 04:17:51 -06:00
end_to_end__tests__syncback__ignore_paths_adding-src__int_value.model.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__ignore_paths_adding-src__int_value.model.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00
end_to_end__tests__syncback__ignore_paths_adding-src__subfolder__string_value.txt.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__ignore_paths_init-src__init-file__init.luau.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__ignore_paths_init-src__non-init.luau.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__ignore_paths_removing-src__Message.model.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__ignore_paths_removing-src__Message.model.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00
end_to_end__tests__syncback__json_middlewares-src__dir_with_meta__init.meta.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__json_middlewares-src__dir_with_meta__init.meta.json5.snap Add compact JSON5 array formatting plan and update JSON serialization logic 2026-02-18 02:13:18 -06:00
end_to_end__tests__syncback__json_middlewares-src__model_json.model.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__json_middlewares-src__model_json.model.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00
end_to_end__tests__syncback__json_middlewares-src__project_json.project.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__json_middlewares-src__project_json.project.json5.snap Add compact JSON5 array formatting plan and update JSON serialization logic 2026-02-18 02:13:18 -06:00
end_to_end__tests__syncback__nested_projects-nested.project.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__nested_projects-nested.project.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00
end_to_end__tests__syncback__nested_projects-string_value.txt.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__nested_projects_weird-src__modules__ClientModule.luau.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__nested_projects_weird-src__modules__ServerModule.luau.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__project_init-src__init.luau.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__project_reserialize-attribute_mismatch.luau.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__project_reserialize-property_mismatch.project.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__project_reserialize-property_mismatch.project.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00
end_to_end__tests__syncback__ref_properties-src__pointer.model.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__ref_properties-src__pointer.model.json5.snap Add Luau-style ref paths migration plan and update related tests 2026-02-18 04:17:51 -06:00
end_to_end__tests__syncback__ref_properties-src__target.model.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__ref_properties-src__target.model.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00
end_to_end__tests__syncback__ref_properties_blank-src__pointer.model.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__ref_properties_blank-src__pointer.model.json5.snap Add Luau-style ref paths migration plan and update related tests 2026-02-18 04:17:51 -06:00
end_to_end__tests__syncback__ref_properties_blank-src__target.meta.json.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__ref_properties_blank-src__target.txt.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__ref_properties_conflict-src__Pointer_2.model.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__ref_properties_conflict-src__Pointer_2.model.json5.snap Add Luau-style ref paths migration plan and update related tests 2026-02-18 04:17:51 -06:00
end_to_end__tests__syncback__ref_properties_conflict-src__Target_2.model.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__ref_properties_conflict-src__Target_2.model.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00
end_to_end__tests__syncback__ref_properties_pruned-src__Pointer1.model.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__ref_properties_pruned-src__Pointer1.model.json5.snap Add Luau-style ref paths migration plan and update related tests 2026-02-18 04:17:51 -06:00
end_to_end__tests__syncback__ref_properties_pruned-src__Pointer2.model.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__ref_properties_pruned-src__Pointer2.model.json5.snap Add Luau-style ref paths migration plan and update related tests 2026-02-18 04:17:51 -06:00
end_to_end__tests__syncback__ref_properties_pruned-src__Pointer3.model.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__ref_properties_pruned-src__Pointer3.model.json5.snap Add Luau-style ref paths migration plan and update related tests 2026-02-18 04:17:51 -06:00
end_to_end__tests__syncback__respect_old_middleware-default.project.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__respect_old_middleware-default.project.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00
end_to_end__tests__syncback__respect_old_middleware-src__model_json.model.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00
end_to_end__tests__syncback__respect_old_middleware-src__rbxmx.rbxmx.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__schema_roundtrip-default.project.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__schema_roundtrip-default.project.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00
end_to_end__tests__syncback__schema_roundtrip-src__adjacent.meta.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__schema_roundtrip-src__adjacent.meta.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00
end_to_end__tests__syncback__schema_roundtrip-src__init__init.meta.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__schema_roundtrip-src__init__init.meta.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00
end_to_end__tests__syncback__schema_roundtrip-src__model.model.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__schema_roundtrip-src__model.model.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00
end_to_end__tests__syncback__string_value_project-default.project.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__string_value_project-default.project.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00
end_to_end__tests__syncback__sync_rules-src__module.modulescript.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__sync_rules-src__text.text.snap Implement Syncback to support converting Roblox files to a Rojo project (#937) 2025-11-19 09:21:33 -08:00
end_to_end__tests__syncback__unscriptable_properties-default.project.json.snap json5 2026-01-22 21:27:34 -06:00
end_to_end__tests__syncback__unscriptable_properties-default.project.json5.snap Implement incremental syncback mode to preserve existing file structure 2026-02-01 08:14:20 -06:00