installer: refine git pull behavior text to prevent misconfiguration#682
Conversation
|
Reopened: head repository restored after accidental deletion. |
|
Hmm. I'm not sure that that wording is any clearer. Maybe a better idea would be to add a page on gitforwindows.org and then to add a footer to this installer page that links to that documentation? That way, there is a lot more space to work with. |
|
Makes sense. I'll write a doc page for
|
I like this option a lot! |
This commit adds a footernote to the `GitPullBehaviorPage` directing users to the guide on the Git for Windows website regarding the default behavior of `git pull`. Signed-off-by: Jason Zbakh <jzbakh@gmail.com>
f0da980 to
2318f57
Compare
|
@dscho I'm currently working on the documentation page we discussed, and it got me thinking about the installer screen again. I completely agree with your previous feedback: my first version with the diagrams and the note on conflicts was too dense and unclear. However, I feel there are still a few issues with the current installer text:
Currently, the top of the screen displays two lines:
This is exactly what initially prompted me to propose an improvement. If we replace that second line with: "A pull always attempts a fast-forward first.", the context would become clearer, avoiding the need to explain fast-forwarding for each option. We could then align the option titles with the internal variables (
I just wanted to see if you agree with this approach. If so, I can use these exact headings and descriptions while writing the documentation page. What do you think? |
|
@jzbakh sure, that sounds reasonable to me! |
Update the labels and descriptions in the "Choose the default behavior of `git pull`" setup dialog to improve clarity and user comprehension. Changes include: - Replaced the subtitle question with a clear statement that pulling always attempts a fast-forward first. - Renamed "Fast-forward or merge" to "Merge", emphasizing that it preserves the history of parallel work. - Simplified the "Rebase" description to clearly highlight the creation of a "single linear timeline". - Renamed "Only ever fast-forward" to "Fast-forward only" and clarified that it safely aborts if a fast-forward is not possible. These wording refinements reduce cognitive load and make the choices more intuitive, especially for users less familiar with Git's mechanics. Signed-off-by: Jason Zbakh <jzbakh@gmail.com>
|
@dscho I've updated the PR and organized the changes into two distinct commits to keep the history clean and logical:
In parallel, the corresponding documentation page is now drafted and ready for review here: Let me know if this implementation aligns with what you had in mind : Visual regression testing
|
| #ifdef HAVE_EXPERIMENTAL_OPTIONS | ||
| if (PageIDBeforeInstall=ExperimentalOptionsPage.ID) and IsHiddenExperimentalOptionsPageEmpty then | ||
| PageIDBeforeInstall:=PageIDBeforeInstall-1; | ||
| #endif |
There was a problem hiding this comment.
I am a big fan of the principle to separate concerns into separate commits. In this instance, the change to allow for no experimental options is separate from the change to describe the git pull options better.
However, I don't want this split to be a blocker for this PR, so I'll merge it as-is.
|
Sorry for missing -rc1 with this, but it'll be in -rc2! |
|
@dscho Thanks for the merge and for getting this into Regarding the |
Thank you for the contribution!
No worries, I could easily have fixed it if it had been important. |


Description
The previous phrasing of the
git pullbehavior defaults could lead to unintended configurations of thepull.rebasevspull.ffparameters in the global.gitconfig. This PR refactors the text to introduce strict mechanical representations of the git state machine. The goal is to reduce ambiguity concerning commit graph resolution and align the UI text with current upstream defaults.Technical Scope
CreatePageandCreateRadioButtonfunctions for theGP_GitPullMerge,GP_GitPullRebase, andGP_GitPullFFOnlyoptions.TLabel(LblInfo) was added at the bottom of the page to clarify how Git handles file conflicts.ReplayChoice), or silent install vectors were altered. The internal component IDs remain untouched.Visual Regression Testing
Signed-off-by: Jason Zbakh jzbakh@gmail.com