#git #utility #workflow


Logic for managing a topic stage on top of a base branch in git

7 stable releases (3 major)

new 4.1.1 May 30, 2023
4.1.0 Nov 27, 2021
4.0.0 Oct 15, 2019
3.0.0 Jul 6, 2017
1.0.0 Jan 13, 2017

#177 in Math

Download history 24/week @ 2023-02-07 32/week @ 2023-02-14 21/week @ 2023-02-21 28/week @ 2023-02-28 22/week @ 2023-03-07 16/week @ 2023-03-14 15/week @ 2023-03-21 26/week @ 2023-03-28 15/week @ 2023-04-04 32/week @ 2023-04-11 27/week @ 2023-04-18 26/week @ 2023-04-25 17/week @ 2023-05-02 28/week @ 2023-05-09 14/week @ 2023-05-16 27/week @ 2023-05-23

88 downloads per month


1.5K SLoC


This crates implements a staging branch workflow where a base branch may have multiple proposed topics ready for testing at once so that the combination may be tested together when testing resources are not available for testing every proposed change individually.

The setup is that branches are added to the set of topics which will be prepared onto an integration branch. When any branch in the set changes, the integration branch is rewritten. Any topic which fails to merge cleanly is removed from the set of candidate topics. Once a new integration branch is ready, the set of topics merged and rejected are returned for processing.


Git Topic Stage

This library implements a staging workflow to queue candidate topic branches into a single integration branch. Candidate topics are merged together into an integration branch. Topics which have been merged previously and recieve a new update are removed from the set and placed back at the end of the list of topics to be merged. This way a single topic branch cannot cause starvation in the rest of the topics.


~575K SLoC