Skip to content

TopGit-0.19.14 - Typically Tawdry

Latest
Compare
Choose a tag to compare
@mackyle mackyle released this 07 Feb 11:13
topgit-0.19.14

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. See tg 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.

  1. Git versions 2.46.0 and newer are now supported
  2. Running make test works more robustly
  3. 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 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"
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