mirror of
https://github.com/martinvonz/jj.git
synced 2024-09-11 13:56:29 +03:00
demos: add demo of basic conflict resolution
This commit is contained in:
parent
78050b3d42
commit
c661181e08
@ -82,6 +82,13 @@ Features:
|
||||
This design also lets Jujutsu rebase merge commits correctly (unlike both Git
|
||||
and Mercurial).
|
||||
|
||||
<details>
|
||||
<summary>Demo</summary>
|
||||
<a href="https://asciinema.org/a/AIZkWG7VFCklZZTfFw3jSqH7f" target="_blank">
|
||||
<img src="https://asciinema.org/a/AIZkWG7VFCklZZTfFw3jSqH7f.svg" />
|
||||
</a>
|
||||
</details>
|
||||
|
||||
* **Automatic rebase**
|
||||
|
||||
Whenever you modify a commit, any descendants of the old commit will be
|
||||
|
45
demos/demo_resolve_conflict.sh
Executable file
45
demos/demo_resolve_conflict.sh
Executable file
@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
. "$(dirname "$0")"/demo_helpers.sh
|
||||
parse_args "$@"
|
||||
|
||||
new_tmp_dir
|
||||
jj git clone https://github.com/octocat/Hello-World
|
||||
cd Hello-World
|
||||
|
||||
run_demo 'Basic conflict resolution flow' '
|
||||
run_command "# We are on the master branch of the octocat/Hello-World repo:"
|
||||
run_command "jj log"
|
||||
pause 7
|
||||
run_command "# Let'\''s make an edit that will conflict when we rebase it:"
|
||||
run_command "jj describe -m \"README: be specific about which world\""
|
||||
run_command "echo \"Hello Earth!\" > README"
|
||||
run_command "jj diff"
|
||||
pause 2
|
||||
run_command "# We'\''re going to rebase it onto commit b1. That commit looks like this:"
|
||||
run_command "jj diff -r b1"
|
||||
pause 2
|
||||
run_command "# Now rebase:"
|
||||
run_command "jj rebase -d b1"
|
||||
run_command "# Huh, that seemed to succeed. Let'\''s take a look at the repo:"
|
||||
pause 3
|
||||
run_command "jj log"
|
||||
pause 5
|
||||
run_command "# As you can see, the rebased commit has a conflict. The working copy is on top of the conflict."
|
||||
run_command "# The file in the working copy looks like this:"
|
||||
run_command "cat README"
|
||||
pause 5
|
||||
run_command "# Now we will resolve the conflict:"
|
||||
run_command "echo \"Hello earth!\" > README"
|
||||
pause 2
|
||||
run_command "# The diff of the conflict resolution looks like this:"
|
||||
run_command "jj diff"
|
||||
pause 5
|
||||
run_command "# We now squash the conflict resolution into the conflicted parent change:"
|
||||
run_command "jj squash"
|
||||
pause 2
|
||||
run_command "# Looks good now:"
|
||||
run_command "jj log"
|
||||
pause 3
|
||||
run_command "jj diff"
|
||||
'
|
Loading…
Reference in New Issue
Block a user