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
Browse Diff Reset: Multiple parents are not handled #4387
Comments
I like the current presentation. |
How to handle multi selections, "multiple" or something? How to handle Difftool? Do you want to keep the changing tab title? |
thanks for the feedback If tab title is changed, there is no explanation of A and B For difftool, the version is named as A and B as below, there we do not want the full description for every A and B (and A is not static as for reset). The difftool could be presented as follows, where A presented as for Reset |
Will open a separate issues for:
Reset will always have Selected and Parent (First and second does not make sense with multiselection) I will probably submit only one PR for all changes, as they are related. The PR will be separated in several commits tough. (More code is removed than was what added.) Proposal of how this will look like in a few scenarios. |
Refresh of the FileStatusList used in various forms to more consistently use Revision and ParentGuid Allow diff to many in diff Tab Allow multiselect operations for Submodule operations Fixes gitextensions#4485, fixes gitextensions#4484, fixes gitextensions#4396, fixes gitextensions#4387 TBD issue to multiselect revisions and see diffCommitSubmoduleChanges Not implemented: "Switch selected revisions" Not implemented: Replace assigning of FileStatusList.GitItemStatus with SetDiffs() for other modules (so Revision and Parent is consistently set) Tests are are lame, they are just adding maintenance as they are not testing the capabilities of the actions. WIP, may split this up slightly.
Resolves gitextensions#4561 Refactoring to consistently use Revision and Parents in FileStatusList FileStatusList forms should use that instead of assuming parents from RevisionGrid.GetSelectedRevisions(). The changes will remove code too. Note: This commits enables correctrions for gitextensions#4387 and gitextensions#4396 etc too.
Resolves gitextensions#4561 Refactoring to consistently use Revision and Parents in FileStatusList FileStatusList forms should use that instead of assuming parents from RevisionGrid.GetSelectedRevisions(). The changes will remove code too. Note: This commits enables correctrions for gitextensions#4387 and gitextensions#4396 etc too.
Fixes gitextensions#4564 Fixes gitextensions#4387 Fixes gitextensions#4396 Depends on gitextensions#4562 gitextensions#4663 gitextensions#4365 gitextensions#4366 gitextensions#4367 gitextensions#4368 Submitted to allow review of the outcome to gitextensions#4564 Note: Due to the structure of tests in a separate class, it is very difficult to split this issue in several commits Rewrote RevisionDiffController to make it possible to have some kind of tests. The tests are retrofitted to the current functionality as they are just testing the menu items and not the actions themselves. (The tests adds may more maintenance than they give benefits but the formal test coverage increases.) Browse Diff: Submodules actions available for multi select (gitextensions#4568) Presents the Reset options for the correct parent in multi select situations No longer differ between parent-child and first-second for Reset Difftool: Describes A and B revisions in the menu Difftool arguments depends on parent availability Better detection of parents to A/B for diffs Commit: Limit DiffTool and FileHistory to tracked FormDiff: Limit FileHistory to Tracked Use RevisionDiffController to align to Browse-Diff
Resolves gitextensions#4561 Refactoring to consistently use Revision and Parents in FileStatusList FileStatusList forms should use that instead of assuming parents from RevisionGrid.GetSelectedRevisions(). The changes will remove code too. Note: This commits enables corrections for gitextensions#4387 and gitextensions#4396 etc too. Review comments: typecasting for GitRevision, consistently use GitItemsWithParents
Fixes gitextensions#4564 Fixes gitextensions#4387 Fixes gitextensions#4396 Depends on gitextensions#4562 gitextensions#4663 gitextensions#4365 gitextensions#4366 gitextensions#4367 gitextensions#4368 Submitted to allow review of the outcome to gitextensions#4564 Note: Due to the structure of tests in a separate class, it is very difficult to split this issue in several commits Rewrote RevisionDiffController to make it possible to have some kind of tests. The tests are retrofitted to the current functionality as they are just testing the menu items and not the actions themselves. (The tests adds may more maintenance than they give benefits but the formal test coverage increases.) Browse Diff: Submodules actions available for multi select (gitextensions#4568) Presents the Reset options for the correct parent in multi select situations No longer differ between parent-child and first-second for Reset Difftool: Describes A and B revisions in the menu Difftool arguments depends on parent availability Better detection of parents to A/B for diffs Commit: Limit DiffTool and FileHistory to tracked FormDiff: Limit FileHistory to Tracked Use RevisionDiffController to align to Browse-Diff
Fixes gitextensions#4564 Fixes gitextensions#4387 Fixes gitextensions#4396 Depends on gitextensions#4562 gitextensions#4663 gitextensions#4365 gitextensions#4366 gitextensions#4367 gitextensions#4368 Submitted to allow review of the outcome to gitextensions#4564 Note: Due to the structure of tests in a separate class, it is very difficult to split this issue in several commits Rewrote RevisionDiffController to make it possible to have some kind of tests. The tests are retrofitted to the current functionality as they are just testing the menu items and not the actions themselves. (The tests adds may more maintenance than they give benefits but the formal test coverage increases.) Browse Diff: Submodules actions available for multi select (gitextensions#4568) Presents the Reset options for the correct parent in multi select situations No longer differ between parent-child and first-second for Reset Difftool: Describes A and B revisions in the menu Difftool arguments depends on parent availability Better detection of parents to A/B for diffs Commit: Limit DiffTool and FileHistory to tracked FormDiff: Limit FileHistory to Tracked Use RevisionDiffController to align to Browse-Diff
Fixes gitextensions#4564 Fixes gitextensions#4387 Fixes gitextensions#4396 Depends on gitextensions#4562 gitextensions#4663 gitextensions#4365 gitextensions#4366 gitextensions#4367 gitextensions#4368 Submitted to allow review of the outcome to gitextensions#4564 Note: Due to the structure of tests in a separate class, it is very difficult to split this issue in several commits Rewrote RevisionDiffController to make it possible to have some kind of tests. The tests are retrofitted to the current functionality as they are just testing the menu items and not the actions themselves. (The tests adds may more maintenance than they give benefits but the formal test coverage increases.) Browse Diff: Submodules actions available for multi select (gitextensions#4568) Presents the Reset options for the correct parent in multi select situations No longer differ between parent-child and first-second for Reset Difftool: Describes A and B revisions in the menu Difftool arguments depends on parent availability Better detection of parents to A/B for diffs Commit: Limit DiffTool and FileHistory to tracked FormDiff: Limit FileHistory to Tracked Use RevisionDiffController to align to Browse-Diff
Fixes gitextensions#4564 Fixes gitextensions#4387 Fixes gitextensions#4396 Depends on gitextensions#4562 gitextensions#4663 gitextensions#4365 gitextensions#4366 gitextensions#4367 gitextensions#4368 Submitted to allow review of the outcome to gitextensions#4564 Note: Due to the structure of tests in a separate class, it is very difficult to split this issue in several commits Rewrote RevisionDiffController to make it possible to have some kind of tests. The tests are retrofitted to the current functionality as they are just testing the menu items and not the actions themselves. (The tests adds may more maintenance than they give benefits but the formal test coverage increases.) Browse Diff: Submodules actions available for multi select (gitextensions#4568) Presents the Reset options for the correct parent in multi select situations No longer differ between parent-child and first-second for Reset Difftool: Describes A and B revisions in the menu Difftool arguments depends on parent availability Better detection of parents to A/B for diffs Commit: Limit DiffTool and FileHistory to tracked FormDiff: Limit FileHistory to Tracked Use RevisionDiffController to align to Browse-Diff
Fixes gitextensions#4564 Fixes gitextensions#4387 Fixes gitextensions#4396 Depends on gitextensions#4562 gitextensions#4663 gitextensions#4365 gitextensions#4366 gitextensions#4367 gitextensions#4368 Submitted to allow review of the outcome to gitextensions#4564 Note: Due to the structure of tests in a separate class, it is very difficult to split this issue in several commits Rewrote RevisionDiffController to make it possible to have some kind of tests. The tests are retrofitted to the current functionality as they are just testing the menu items and not the actions themselves. (The tests adds may more maintenance than they give benefits but the formal test coverage increases.) Browse Diff: Submodules actions available for multi select (gitextensions#4568) Presents the Reset options for the correct parent in multi select situations No longer differ between parent-child and first-second for Reset Difftool: Describes A and B revisions in the menu Difftool arguments depends on parent availability Better detection of parents to A/B for diffs Commit: Limit DiffTool and FileHistory to tracked FormDiff: Limit FileHistory to Tracked Use RevisionDiffController to align to Browse-Diff
Fixes gitextensions#4564 Fixes gitextensions#4387 Fixes gitextensions#4396 Depends on gitextensions#4562 gitextensions#4663 gitextensions#4365 gitextensions#4366 gitextensions#4367 gitextensions#4368 Submitted to allow review of the outcome to gitextensions#4564 Note: Due to the structure of tests in a separate class, it is very difficult to split this issue in several commits Rewrote RevisionDiffController to make it possible to have some kind of tests. The tests are retrofitted to the current functionality as they are just testing the menu items and not the actions themselves. (The tests adds may more maintenance than they give benefits but the formal test coverage increases.) Browse Diff: Submodules actions available for multi select (gitextensions#4568) Presents the Reset options for the correct parent in multi select situations No longer differ between parent-child and first-second for Reset Difftool: Describes A and B revisions in the menu Difftool arguments depends on parent availability Better detection of parents to A/B for diffs Commit: Limit DiffTool and FileHistory to tracked FormDiff: Limit FileHistory to Tracked Use RevisionDiffController to align to Browse-Diff
* Browse Diff: Show differences for several selections * Browse Diff tab menu alternatives and presentation Fixes #4564 Fixes #4387 Fixes #4396 Depends on #4562 #4663 #4365 #4366 #4367 #4368 Rewrote RevisionDiffController to make it possible to have some kind of tests. The tests are retrofitted to the current functionality as they are just testing the menu items and not the actions themselves. (The tests adds may more maintenance than they give benefits but the formal test coverage increases.) Browse Diff: Submodules actions available for multi select (#4568) Presents the Reset options for the correct parent in multi select situations No longer differ between parent-child and first-second for Reset Difftool: Describes Selected (B) and First (A) revisions in the menu Difftool arguments depends on parent availability Better detection of parents to A/B for diffs Commit: Limit DiffTool and FileHistory to tracked FormDiff: Limit FileHistory to Tracked Use RevisionDiffController to align to Browse-Diff * Extract common revision diff context menu logic into IRevisionDiffContextMenuController
Do you want to request a feature or report a bug?
bug
What is the current behavior?
Browse Menu reset has incorrect handling for multiple parents (merge commits, as multi selection of more than 2 is ignored). The first parent is always used.
The label in the drop down menu is always describing the first parent too.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
What is the expected behavior?
The selected parent is used, not the first parent
Environment you encounter the issue:
Did this work in previous version of GitExtensions (which)?
no
The text was updated successfully, but these errors were encountered: