1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
The management and use of branches is an important part of working
with a [term {Distributed Version Control System}] ([term DVCS]) like
[uri https://www.fossil-scm.org/ fossil].
[para] For Tcllib the main branch of the collection is
[term trunk]. In [term git] this branch would be called
[term master], and this is exactly the case in the
[uri https://github.com/tcltk/tcllib/ {github mirror}] of
Tcllib.
[para] To properly support debugging [emph {each commit}] on this
branch [emph {has to pass the entire testsuite}] of the
collection. Using bisection to determine when an issue appeared
is an example of an action made easier by this constraint.
[para] This is part of our collective responsibility for the usability
of Tcllib in toto to the outside world.
As [term fossil] has no mechanism to enforce this condition
this is handled on the honor system for developers and maintainers.
[para] To make the task easier Tcllib comes with a tool
([file sak.tcl]) providing a number of commands in
support. These commands are explained in the following sections
of this guide.
[para] While it is possible and allowed to commit directly to trunk
remember the above constraint regarding the testsuite, and the
coming notes about other possible issues with a commit.
|