Directory Structure Merging
Kinds of changes:
File Modified
File Added
File Deleted
Directory Added
Directory Deleted
Directory Modified (we only need this in some obscure cases)
File Replaces Directory (i.e. name "X" used to be a file but is now a directory)
Directory Replaces File (i.e. name "X" used to be a directory but is now a file)
Decision table:
Working Copy |
Version to be Merged in |
Action |
Conflict |
File Modified |
(no change) |
(no action) |
No |
File Modified |
File Modified |
File Merge |
If file merger says so |
(no change) |
File Modified |
Copy |
No |
File Modified |
Directory Replaces File |
Copy directory with new name |
Yes |
File Added |
(no change) |
(no action) |
No |
File Added |
File Added |
File Merge |
If file merger says so |
(no change) |
File Added |
Copy |
No |
File Added |
Directory Added |
Copy directory with new name |
Yes |
File Deleted |
(no change) |
(no action) |
No |
File Deleted |
File Modified |
Copy modified with new name |
Yes |
File Deleted |
File Deleted |
(no action) |
No |
(no change) |
File Deleted |
Delete |
No |
File Deleted |
Directory Replaces File |
Copy directory with new name |
Yes |
File Modified |
File Deleted |
File Merge |
Yes |
Directory Added |
(no change) |
(no action) |
No |
(no change) |
Directory Added |
Copy |
No |
Directory Added |
Directory Added |
Recurse (no special action) |
No |
Directory Added |
File Added |
Copy file with new name |
Yes |
Directory Deleted |
(no change) |
(no action) |
No |
Directory Deleted |
Directory Deleted |
(no action) |
No |
(no change) |
Directory Deleted |
Delete |
No |
Directory Deleted |
File Replaces Directory |
Copy |
No |
Directory Replaces File |
File Deleted |
(no action) |
No |
Directory Replaces File |
File Modified |
Copy file with new name |
Yes |
File Replaces Directory |
Directory Deleted |
(no action) |
No |
File Replaces Directory |
(no change) |
(no action) |
No |