MS Project Merge
Smart merge tool for Microsoft Project files with WBS-based conflict resolution.

📥 Download
Download Latest Release
- macOS:
MsProjectMerge-v1.0.0.dmg
- Windows:
MsProjectMerge-v1.0.0.exe
Note: First-time installation requires a security override. See INSTALL.md for detailed instructions.
✨ Features
Smart Merge
- WBS-based matching: Uses Work Breakdown Structure codes as the primary key
- Automatic conflict resolution: Updates existing tasks or appends new ones
- Multi-file support: Merge multiple overlay files into a single base project
- MSPDI (XML): Full import/export support for Microsoft Project XML format
- Excel: Import and export task data via
.xlsx files
- Dependency preservation: Maintains task predecessors and link types
Modern UI
- 3-Step Wizard: Select → Review → Export
- Task Editing: Edit any task field directly in Step 2
- Dark Theme: Professional dark mode with modern aesthetics
- Status Badges: Color-coded task status indicators
🚀 Quick Start
- Download the installer for your platform
- Launch MS Project Merge
- Step 1: Add your Base Project and Overlay files
- Step 2: Review merged data, edit tasks as needed
- Step 3: Export to MSPDI (XML) or Excel
📖 How It Works
Merge Logic
The merger uses WBS codes to match tasks:
- Base Project: The first file you load becomes the base
- Overlay Files: Additional files are merged into the base
- Matching: Tasks with the same WBS code are updated
- Appending: Tasks with new WBS codes are added to the end
What Gets Updated
When a WBS match is found, these fields are updated from the overlay:
- Start/Finish Dates
- Duration
- % Complete
- Resource Names
- Notes/Description
Dependencies
Task dependencies (predecessors) are preserved during merge and export:
- Predecessor UID
- Link Type (Finish-to-Start, Start-to-Start, etc.)
- Link Lag
🛠️ Building from Source
Prerequisites
- Rust 1.70+ (Install Rust)
- For macOS builds: Xcode Command Line Tools
- For Windows builds (cross-compile): Docker
Build Commands
# Clone the repository
git clone git@github.com:pigeonflight/msproject-merge.git
cd msproject-merge
# Build and run
cargo run
# Build release
cargo build --release
# Build macOS DMG
./build_mac.sh
# Build Windows EXE (requires Docker)
./build_win_docker.sh
See BUILD.md for detailed build instructions.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🔗 Links
💡 Use Cases
- Project Updates: Merge schedule updates from different teams
- Baseline Comparison: Compare current project state with baseline
- Multi-source Integration: Combine tasks from multiple project files
- Data Consolidation: Merge Excel exports back into MS Project format
👤 Author
Built by David Bain
Follow @pigeonflight on X for updates and project management insights.
Made with ❤️ for project managers everywhere