Add interactive conflict resolution mode #8

Open
opened 2025-10-28 19:46:56 +00:00 by PhilflowIO · 0 comments
PhilflowIO commented 2025-10-28 19:46:56 +00:00 (Migrated from github.com)

When --interactive flag is used, ask user to resolve conflicts manually.

Requirements:

  • Detect conflicts (UID exists on both source and target with different LAST-MODIFIED)
  • Show diff view (source vs target)
  • Prompt user: Keep source, keep target, skip, or merge
  • Resume capability if user cancels mid-conflict

Technical Details:

  • Use inquirer for prompts
  • Use diff library to show changes
  • Store user's choice in state file (don't ask again on resume)

UI Example:

Conflict detected: Meeting with John (UID: abc123)

Source (Google):        Target (Baïkal):
Date: 2024-01-15       Date: 2024-01-16
Time: 10:00-11:00      Time: 14:00-15:00
Modified: 2024-01-10   Modified: 2024-01-12

Which version to keep?
❯ Keep source (Google)
  Keep target (Baïkal)
  Skip this event
  Show full details

Estimated Effort: Medium (3-4 days)

Related to: DAV Migration CLI - Phase 2

When `--interactive` flag is used, ask user to resolve conflicts manually. **Requirements:** - Detect conflicts (UID exists on both source and target with different LAST-MODIFIED) - Show diff view (source vs target) - Prompt user: Keep source, keep target, skip, or merge - Resume capability if user cancels mid-conflict **Technical Details:** - Use `inquirer` for prompts - Use `diff` library to show changes - Store user's choice in state file (don't ask again on resume) **UI Example:** ``` Conflict detected: Meeting with John (UID: abc123) Source (Google): Target (Baïkal): Date: 2024-01-15 Date: 2024-01-16 Time: 10:00-11:00 Time: 14:00-15:00 Modified: 2024-01-10 Modified: 2024-01-12 Which version to keep? ❯ Keep source (Google) Keep target (Baïkal) Skip this event Show full details ``` **Estimated Effort:** Medium (3-4 days) **Related to:** DAV Migration CLI - Phase 2
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Phil/tsdav#8
No description provided.