MerginMaps / MerginMaps/qgis-plugin
"blame" command to see history
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 44
- Forks
- 20
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 5
Description
It would be very useful to have a way how to find out for a vector layer who and when did last modify any feature. Something like "git blame" where you get every line of code annotated with commit version, author and time. But here it would be per feature.
The idea is that in QGIS layer tree, user would right click a layer to get popup menu and pick the option to get this information. What we could do is that we would make a temporary copy of the layer and add the few extra columns for each feature, specifying in which version of Mergin project this was modified, username of the editor and date/time of that last change.
In the implementation, we would need to download a bunch of diffs in order to have all the information we need for every feature. It's worth discussing if there could be a way how to get aggregate diffs - for projects with longer history, this may currently require lots of individual downloads of diffs if they are not locally cached already.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the QGIS layer-tree context-menu entry point and the code that downloads Mergin project diffs; investigate whether aggregate diffs or local caching can provide per-feature history. Done means a layer can expose each feature's last modifying project version, editor, and timestamp without excessive individual downloads.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100