4.4 Exercise 4 - a git conflict
From git’s repo, checkout d9d65e9f6a and merge b57e8119e6.
.
CB in contrib/completion/git-completion.bash
Listing 4.9:Exercise 4 - CB in contrib/completion/git-completion.bash2614<<<<<<< HEAD 2615 local subcommands="add status init deinit update summary foreach sync absorbgitdirs" 2616||||||| d62dad7a7d 2617 local subcommands="add status init deinit update summary foreach sync" 2618======= 2619 local subcommands="add status init deinit update set-branch summary foreach sync" 2620>>>>>>> b57e8119e6
Working from UB (keeping markers for clarity)
Listing 4.10:Exercise 4 - UB in contrib/completion/git-completion.bash2614<<<<<<< HEAD 2615 local subcommands="add status init deinit update summary foreach sync absorbgitdirs" 2616||||||| d62dad7a7d
Get dML
Listing 4.11:Exercise 4 - MB and LB in contrib/completion/git-completion.bash2616||||||| d62dad7a7d 2617 local subcommands="add status init deinit update summary foreach sync" 2618======= 2619 local subcommands="add status init deinit update set-branch summary foreach sync" 2620>>>>>>> b57e8119e6
dML: set-branch is added between update and summary as a subcommand.
Apply dML on UB
Listing 4.12:Exercise 4 - UB in contrib/completion/git-completion.bash2614<<<<<<< HEAD 2615 local subcommands="add status init deinit update set-branch summary foreach sync absorbgitdirs" 2616||||||| d62dad7a7d
Result
Listing 4.13:Exercise 4 - Conflict Resolution2610_git_submodule () 2611{ 2612 __git_has_doubledash && return 2613 2614 local subcommands="add status init deinit update set-branch summary foreach sync absorbgitdirs" 2615 local subcommand="$(__git_find_on_cmdline "$subcommands")"