Reminder
TopGit 0.19.4 (2017-02-14) introduced support for a new top-bases location
under heads. This new location will become the default as of the TopGit
0.20.0 release. The current location under refs will continue to be
supported in the future. Seetg help migrate-bases
for more details.
Basics
This is a maintenance release.
Git 2.45.0 changed the way ref logs work (again). Git 2.46.0 broke
updating MERGE_HEAD
which broke tg update
whenever a manual
merge resolution is required.
- Git versions 2.46.0 and newer are now supported
- Running
make test
works more robustly - contrib/tg-completion.bash now lists all tg subcommands again
As always, there are some documentation updates to correct various
typos and so forth.
Details
The ref log changes in Git 2.45.0 caused some test failures even
though TopGit itself continued to work properly. The test has been
updated to accomodate Git versions 2.45.0 and newer.
Starting with Git 2.46.0, it's no longer possible to use a "git"
command to update MERGE_HEAD
(nor FETCH_HEAD
, but others such
as CHERRY_PICK_HEAD
continue to work just fine). This impacted
tg update
whenever a manual merge resolution was required. The
MERGE_HEAD
file is now modified directly to bypass this problem.
When running the TopGit test suite (via make test
), if there is
a pre-existing exported environment variable "T", it will no longer
interfere with running the test suite. (As always, the tests to
be run can be limited by using make T=<tests_to_run> test
.)
Furthermore, there was a peculiar interaction with some shells on
some platforms when running the tests in parallel (a "jobs" value
greater than 1) that could result in the make test
process ending
up suspended as a result of a SIGTTIN
signal right after the last
test in the test suite was run.
All users of TopGit running Git version 2.46.0 or newer need this
update in order for tg update
to work correctly.
Corrections
- tg-completion.bash: update tg command list extraction
- t6100: adjust for Git v2.45.0+ sane reflog behavior reaffirmation
- tg--merging.sh: use update_dotgit_ref wrapper to update MERGE_HEAD
- t/Makefile.mak:
wait
afterset -m
for parallel tests - t/aggregate-results.sh: exit with non-zero status if failed tests
- Makefile: avoid accidents with environment variable "T"
Kyle J. McKay (27):
Makefiles: minor clean ups and avoid environment contamination
t1020: use version >= 0.20 for top-bases default change
t4502: add tg contains test with unexpected environment
tg-contains.sh: initialize mindepth to empty
tg-completion.bash: update tg command list extraction
various: correct several nits and typographical errors
t8000: expect success for last two tests with Git v2.38.2+
t6100: adjust for Git v2.45.0+ sane reflog behavior reaffirmation
tg.sh: provide utility function update_dotgit_ref
tg--merging.sh: use update_dotgit_ref wrapper to update MERGE_HEAD
check-non-portable-shell.pl: update from Git
t/Makefile.mak: `wait` after `set -m` for parallel tests
t/aggregate-results.sh: exit with non-zero status if failed tests
Makefile: avoid accidents with environment variable "T"
t/Makefile.sh: make sure T is expanded early
t/Makefile.mak: aggregate all .counts results
README_DOCS.rst: add tg update --continue/--abort/--skip/--stop docs
README_DOCS.rst: correct a few typographical errors
README_DOCS.rst: prefixes are prepended not appended
README_DOCS.rst: clarify automatic linearized patch series req's
README_DOCS.rst: update rest of tg prev and tg next docs
README_DOCS.rst: update `tg checkout goto <pattern>` docs
docs: tidy up build of topgit.html
docs: fuss with typography
COPYING: replace "git-commit" with "git commit"
README_DOCS.rst: fine tune -i/-w description for next/prev
topgit: version 0.19.14