This was the last failure. Unsure why this doesn't occur with other submodules.
https://github.com/DFHack/dfhack/runs/3307299302?check_suite_focus=true
```
+ git checkout dfhack
Previous HEAD position was 19b52ca 0.15.0 release
Switched to branch 'dfhack'
+ git pull --ff-only
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> dfhack
```
Shallow clones cause issues with `git push --recurse-submodules=check|on-demand`
such as in https://github.com/DFHack/dfhack/runs/3307192897?check_suite_focus=true:
```
The following submodule paths contain changes that can
not be found on any remote:
depends/luacov
Please try
git push --recurse-submodules=on-demand
or cd to the path and use
git push
to push them to a remote.
```
(in this case, the changes *are* on the remote, and on-demand doesn't help)
Our submodules also aren't currently very large on disk even with full clones -
libexpat is the largest:
616K .git/modules/depends/clsocket
744K .git/modules/depends/luacov
924K .git/modules/depends/xlsxio
1.8M .git/modules/depends/libzip
3.7M .git/modules/depends/jsoncpp
8.2M .git/modules/depends/libexpat
If a shallow clone of submodules is desired, `git clone --shallow-submodules` is
still an option.
this fixes the issue where the alt modstate was getting stuck on systems
that don't send standard keyup events after alt-tab. for example, in KDE
Plasma (on Gentoo, at least), the keyup event when alt is released after
alt-tab contains an incorrect keycode (NUMLOCK instead of L_ALT), which
was preventing us from correctly clearing the alt modstate.