vole
Clone
Read only, no credentials:
https://rodent.software/git/vole.git
Write over SSH with a registered key:
git clone ssh://git@0.0.0.0:2222/vole.git
A free and open-source forge that lives in your Git repo.
Show what a merged change request landed
2841d922c15ce32fb600d992f9f5dc2d22c48f90 · Keenan Nemetz · 13d ago · parent c765ae2e
Show what a merged change request landed Landing moves the base to include the head, so the three-dot diff the Files tab reviews an open request with becomes empty by definition: the merge base of the base and the head is the head itself. A merged request therefore looked like it had never changed anything. The landing mark now records `merged_base`, the tip the base pointed at before it moved, and the Files tab diffs that against what landed: the head for a fast-forward, the merge commit otherwise, so conflict resolution is part of the review too. The record is written in the same commit as the mark, and a retry that finds the head already landed keeps the base it has instead of naming the moved tip. `merged_base` is optional on read because landings made before the field existed have none. Such a record falls back to the merge commit's first parent when the landing was a merge, and claims nothing when it was a fast-forward and the starting point is gone. The request page shows the file count and the review link for a merged request as well, with the merge named beside it, instead of replacing them with "Already merged".
docs/change-requests.md +5
| @@ -85,6 +85,11 @@ Vole checks the last item with Git itself, without touching a working copy. It i | |||
| 85 | 85 | shown for information, not enforced. Vole leaves it out when it cannot answer — for | |
| 86 | 86 | example, if the base branch no longer exists. | |
| 87 | 87 | ||
| 88 | A merged request keeps showing the change it landed. The mark records | ||
| 89 | `merged_base`, the tip the base pointed at before it moved, because afterwards the | ||
| 90 | head is in the base and a diff of the two is empty. That is what the Files tab | ||
| 91 | diffs when the request is already merged. | ||
| 92 | |||
| 88 | 93 | ## Review comments | |
| 89 | 94 | ||
| 90 | 95 | ```sh | |