New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change ShowMergeCommits to HideMergeCommits #11069
Change ShowMergeCommits to HideMergeCommits #11069
Conversation
5d5e5ce
to
6f8f6f7
Compare
This better reflects the Git defaults and changes the only limiting filter ticked by default. Deselecting all options then is as Git defaults. Change default for --simplify-merges to false to match defaults. Anyway, the value is not used by default as --full-history is false and --simplify-merges depends on --full-history.
6f8f6f7
to
00f497f
Compare
-1 from me. I'm seeing this change as a value-remove not a value-add. The "negative" wording has higher cognitive load, e.g., you can't imaging an absence of something while you can imagine an existence of that. If you may remember the "Configuration" settings page featured negative wording which we inverted in #9372. All other settings on this dialog use the "positive" wording: . . . As an OT, though related, perhaps we should align wording for some of the settings:
|
The Git default and normally expected is reversed, so a negated interface here should be considered. No checkbox - no filter. The drop-down menu for filter button already have a reset filter action. |
I think the confusion in #11065 was partly caused by the lack of visible information that the filter is set - a button to reset could help with awareness...
No strong opinion (especially given that we lack in graphic design department).
I can see that side of the argument too. I'm torn... |
Since all settings are off by default, the need for an reset button is not big. I do not expect users to add many filters, so the main benefit is to indicate that a filter is active. The button is also an indicator, so OK for me. The reset button does not work right now, no action. Note: The video must be viewed fullscreen, as the controls hides the button now. |
My change is a dud for demonstration purposes only. The reset needs to be
wired.
A notable fix - FilterInfo.HasFilter is currently inaccurate.
|
HasFilter works. It controls the filter button image. Reflog is not a filter and full history and simlifymerges are really settings, but View menu is already full. Number of commits is a preference. (All i recall from top of my head, more settings.) |
I would like to revert this commit. For instance, the changed Suggested to be moved to future PRs:
|
Sounds good
|
This reverts commit 7c8bc17.
Reverted latest commit, kept RussKie reset button in https://github.com/gerhardol/gitextensions/tree/tmp/i11065-no-merge-commits |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have no strong opinion on having everything as positive "Show xxx" or not - for filters.
"Everything unticked" as default gives a clear UX though.
The negation can be camouflaged by "Hide merge commits" - which I prefer over "No merge commits".
I like "Show only first parent" & "Show merge commits".
Change that
Changed to
Not changing, this is specific to filtered paths (rewritten history), the option should be somewhere else. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, have not run
Technically reflog may not be a filter, but from a user perspective it affects the list of displayed revisions, thus can be viewed as a "filter"-like setting. The same applies to other "Show Xyz" settings - those are filter-like too from the user perspective. When I added the "reset" button (and changed the |
But "Only current branch" is Git default and I do not want a notification when viewing all branches. Reset filters and reset-to-default are separate actions. |
Follow up to #11065
Proposed changes
This better reflects the Git defaults and changes the only option ticked by default, that adds filter by selection.
Supposedly, this was a confusion in #11065
Change default for --simplify-merges to false to match defaults. Anyway, the value is not used by default as --full-history is false and --simplify-merges depends on --full-history.
--
This handles a setting with negation in the name, which can be confusing. The cange could be done in the user facing part only.
However, it is normally easier if the code and UI matches. This also remove the special handlig for the setting, negating by default.
Screenshots
Before
After
Test methodology
Tests updated
Merge strategy
I agree that the maintainer squash merge this PR (if the commit message is clear).
✒️ I contribute this code under The Developer Certificate of Origin.