update-all-config: squelch logallrefupdates warning for worktrees
commit05aa5823a0a06a2b3895156f8cc2d1d530e9d9aa
authorKyle J. McKay <mackyle@gmail.com>
Tue, 20 Feb 2018 00:36:43 +0000 (19 16:36 -0800)
committerKyle J. McKay <mackyle@gmail.com>
Tue, 20 Feb 2018 00:36:43 +0000 (19 16:36 -0800)
treebc6ccfa1ed5d1da3731edcd45ede2213ac5ffba3
parent65bd1958a1df3a980e97106faef6a4640c21508d
update-all-config: squelch logallrefupdates warning for worktrees

If the worktrees subdirectory exists, linked working trees are most
likely in use.  In that case, core.logAllRefUpdates will likely be
set to true.

The original reason for the warning was due to the fact that Girocco's
gc.sh script would not retain objects referenced only by a ref log
entry.  With the advent of 0df1370df327fbc3 (gc.sh: the new order,
2017-12-16), ref logs are no longer ignored by gc.sh.

Nevertheless, having core.logAllRefUpdates=true in a bare repository
only serves to create needless overhead thus the warning still applies.

Unless there are linked working trees in use.  If linked working trees
are in use it's quite possible that core.logAllRefUpdates has been
changed to true.  And when used by linked working trees, the ref logs
are no longer pointless overhead as the linked working trees can
actually use them.

Therefore quietly squelch the warning if core.logAllRefUpdates is
found to be true AND the "worktrees" subdirectory exists (which is
a sign that linked working trees have been and possibly still are
being used).

Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
toolbox/update-all-config.pl