This repository contains a number of rebase test cases, tailored to ensure GitHub Desktop handles them appropriately as part of the upcoming rebase workflows.
In all scenarios where a conflict is encountered, the user should be able to abort the rebase which returns them to the target branch.
- simple rebase without conflicts
- changes in the target branch do not overlap with the base branch
- Desktop should display the rebase progress (even for a simple rebase), and then indicate the rebase completed without encountering conflicts
- simple rebase with simple conflict
- changes in the target branch overlap with work in the base branch
- Desktop should display the rebase progress, ask the user to resolve a conflict, then indicate the rebase has completed
- simple rebase with multiple conflicts
- changes in the target branch overlap with work in the base branch and need significant work to resolve
- Desktop should display the rebase progress, ask the user to resolve a conflict whenever the rebase stops, then indicate the rebase has completed
- base branch deleted file, target branch modifies it
- conflict detected, but no text-base resolution available
- Desktop should ask user which version of the file to use
- application sets the right version and continues the rebase
- gitignore change on base branch
gitignore
rules on base branch which clashes with target branch commits- tracked file matching pattern is included
- untracked file matching pattern is hidden
- complex rebase without conflicts
- changes in the target branch do not overlap with the base branch
- Desktop should display the rebase progress, and then indicate it has completed
- complex rebase with simple conflict
- changes in the target branch overlap with work in the base branch
- Desktop should display the rebase progress, ask the user to resolve a conflict, then indicate the rebase has completed
- complex rebase with multiple conflicts
- changes in the target branch overlap with work in the base branch and need significant work to resolve
- Desktop should display the rebase progress, ask the user to resolve a conflict whenever the rebase stops, then indicate
- both branches modify the same image
- conflict detected
- application asks user to choose which version of the file to use
- application sets the right version and continues the rebase