Actual included branches:
- This is tracked explicitly in .topgit/included, one branch per
+ This is tracked explicitly in .topbloke/included, one branch per
line. For compatibility with older versions, every time we think
about a base, branch or source above, we check whether
- .topgit/included is present.
+ .topbloke/included is present.
If it isn't then we calculate a child commit which has a
- .topgit/included. In the case of a remote branch or base, we
+ .topbloke/included. In the case of a remote branch or base, we
substitute this child commit for the relevant remote ref but do
not record it in the remote ref; in the case of a local branch or
base, we advance the local branch or base accordingly.
- When .topgit/included is calculated in this way, it always gets
- the list of desired included branches. (Older versions of topgit,
- which do not support dependency deletion, always have exactly the
+ When .topbloke/included is calculated in this way, it always gets
+ the list of desired included branches. (topgit,
+ which does not support dependency deletion, always has exactly the
desired branches actually included.)
+ Non-topbloke-controlled branches are never recorded in included.
+
Branch removal:
undeleting
- just unmark the branch as deleted
+
+Foreign branches:
+ When merging from a foreign dependency, check that it
+ does not have .topbloke/included or .topbloke/flags; if it
+ does, could produce a new commit which has .topbloke removed
+ and merge from that
+
Branch naming:
needs to be globally unique
so put email address in it