On 5/1/2018 8:08 PM, Elijah Newren wrote:
On Tue, May 1, 2018 at 4:11 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote:
Elijah Newren <newren@xxxxxxxxx> writes:
I also just realized that in addition to status being inconsistent
with diff/log/show, it was also inconsistent with itself -- it handles
staged and unstaged changes differently.
(wt_status_collect_changes_worktree() had different settings for break
detection than wt_status_collect_changes_index().)
Eckhard, can you add some comments to your commit message mentioning
the email pointed to by Junio about break detection and rename
detection being unsafe to use together, as well as the inconsistencies
in break detection between different commands? That may help future
readers understand why break detection was turned off for
wt_status_collect_changes_index().
Wow, lots of inconsistent behaviors here with diff/merge/status and the
various options being used. Let me add another one:
I've been sitting on another patch that we've been using internally for
some time that enables us to turn off rename and break detection for
status via config settings and new command-line options.
The issue that triggered the creation of the patch was that if someone
ran status while in a merge conflict state, the status would take a very
long time. Turning off rename and break detection "fixed" the problem.
I was waiting for some of these inflight changes to settle down and get
accepted before I started another patch series but I thought I should at
least let everyone know about this additional issue that will need to be
addressed.