Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Reduce merge conflicts for auto-generated TODO.md file
# The 'union' merge strategy combines lines from both versions without creating conflicts
# Since TODO.md is regenerated by the pre-commit hook after each commit,
# this prevents unnecessary merge conflicts during rebases
TODO.md merge=union
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -263,11 +263,23 @@ Prebuilt wheels are published for:

## 🛠 Troubleshooting

### Build Issues

- If no wheel is available for your platform, `pip` will try to build from source — which **requires a Rust toolchain**.
- If you encounter build errors, please:
1. Check the [latest releases](https://github.com/simone-viozzi/rusty-todo-md/releases) to confirm wheel availability.
2. Open an [issue](https://github.com/simone-viozzi/rusty-todo-md/issues) with your OS/arch details.

### Reducing Merge Conflicts

When rebasing branches, the `TODO.md` file can create merge conflicts for each commit because line numbers change as code moves. To minimize these conflicts, add a `.gitattributes` file to your repository with the following content:

```gitattributes
TODO.md merge=union
```

This tells Git to use the "union" merge strategy for `TODO.md`, which combines lines from both versions instead of creating conflicts. Since `TODO.md` is regenerated by the pre-commit hook after each commit, this approach safely prevents unnecessary merge conflicts during rebases.

---

## 👩‍💻 Development
Expand Down