diff --git a/demos/demo_operation_log.sh b/demos/demo_operation_log.sh index 55bba4a12d..f169bcf65b 100755 --- a/demos/demo_operation_log.sh +++ b/demos/demo_operation_log.sh @@ -3,8 +3,12 @@ set -euo pipefail . "$(dirname "$0")"/helpers.sh new_tmp_dir -jj git clone https://github.com/octocat/Hello-World > /dev/null -cd Hello-World +{ + jj git clone https://github.com/octocat/Hello-World + cd Hello-World + jj abandon octocat-patch-1 + jj branch forget octocat-patch-1 +} > /dev/null comment "We are in the octocat/Hello-World repo. The \"operation log\" shows the operations diff --git a/demos/demo_resolve_conflicts.sh b/demos/demo_resolve_conflicts.sh index 76411eb332..1540fa3ac4 100755 --- a/demos/demo_resolve_conflicts.sh +++ b/demos/demo_resolve_conflicts.sh @@ -3,12 +3,16 @@ set -euo pipefail . "$(dirname "$0")"/helpers.sh new_tmp_dir -jj git clone https://github.com/octocat/Hello-World > /dev/null -cd Hello-World +{ + jj git clone https://github.com/octocat/Hello-World + cd Hello-World + jj abandon test + jj branch delete test +} > /dev/null comment "We are on the master branch of the octocat/Hello-World repo:" -run_command "jj log -r 'all()'" +run_command "jj log" comment "Let's make an edit that will conflict when we rebase it:" @@ -29,7 +33,7 @@ run_command "jj rebase -d b1" comment "That seemed to succeed but we are also told there is now a conflict. Let's take a look at the repo:" -run_command "jj log -r 'all()'" +run_command "jj log" run_command "jj status" comment "Indeed, the rebased commit has a conflict. The conflicted file diff --git a/demos/demo_working_copy.sh b/demos/demo_working_copy.sh index 9c244a7fb9..958c393bf2 100755 --- a/demos/demo_working_copy.sh +++ b/demos/demo_working_copy.sh @@ -3,8 +3,14 @@ set -euo pipefail . "$(dirname "$0")"/helpers.sh new_tmp_dir -jj git clone https://github.com/octocat/Hello-World > /dev/null -cd Hello-World +{ + jj git clone https://github.com/octocat/Hello-World + cd Hello-World + jj abandon test + jj branch forget test + jj abandon octocat-patch-1 + jj branch forget octocat-patch-1 +}> /dev/null comment "We are in the octocat/Hello-World repo. We have an empty working copy on top of master:" diff --git a/demos/git_compat.svg b/demos/git_compat.svg index 7e6184de56..e331405666 100644 --- a/demos/git_compat.svg +++ b/demos/git_compat.svg @@ -39,9 +39,9 @@ # Clone a Git repo: $ jj git clone https://github.com/octocat/Hello-World -Fetching into new repo in "/tmp/tmp.8MxGFBZpqj/Hello-World" -Working copy now at: oplronuy 0af35f48 (empty) (no description set) -Parent commit      : orrkosyo 7fd1a60b master | (empty) Merge pull request #6 fr +Fetching into new repo in "/tmp/tmp.C155mhhXK5/Hello-World" +Working copy now at: skzsvnwo 5359150b (empty) (no description set) +Parent commit      : orrkosyo 7fd1a60b master | (empty) Merge pull request #6 fr om Spaceghost/patch-1 Added 1 files, modified 0 files, removed 0 files $ cd Hello-World @@ -49,21 +49,21 @@ # Inspect it: $ jj log -r 'all()' -@  oplronuy jjfan@example.com 2023-10-03 17:52:06.000 -07:00 0af35f48 +@  skzsvnwo jjfan@example.com 2023-10-03 17:53:24.000 -07:00 5359150b │  (empty) (no description set) │ ◉  tpstlust support+octocat@github.com 2018-05-10 12:55:19.000 -05:00 ├─╯  octocat-patch-1 b1b3f972 │    sentence case │ ◉  kowxouwz octocat@nowhere.com 2014-06-10 15:22:26.000 -07:00 test b3cbd5bb ├─╯  Create CONTRIBUTING.md -◉    orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b +◉    orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b ├─╮  (empty) Merge pull request #6 from Spaceghost/patch-1 │ ◉  nznozkvv Johnneylee.rollins@gmail.com 2011-09-13 21:42:41.000 -07:00 ├─╯  76294131 │    New line at end of file. --Signed off by Spaceghost -◉  syktoqts cameron@github.com 2011-01-26 11:06:08.000 -08:00 553c2077 +◉  syktoqts cameron@github.com 2011-01-26 11:06:08.000 -08:00 553c2077 │  first commit -◉  zzzzzzzz root() 00000000 +◉  zzzzzzzz root() 00000000 $ jj diff -r b1 Modified regular file README: @@ -72,8 +72,8 @@ # The repo is backed by the actual Git repo: $ git --git-dir=.jj/repo/store/git log --graph --all --decorate --oneline -b79d37f  -0af35f4  +d232bdd  +5359150  | * b1b3f97 (origin/octocat-patch-1) sentence case |/   | * b3cbd5b (origin/test) Create CONTRIBUTING.md diff --git a/demos/juggle_conflicts.svg b/demos/juggle_conflicts.svg index dfa4944953..bea3e7b3b9 100644 --- a/demos/juggle_conflicts.svg +++ b/demos/juggle_conflicts.svg @@ -40,13 +40,13 @@ # editing the same line: $ jj log -@  rtrqxtor jjfan@example.com 2023-10-03 17:52:07.433 -07:00 d728789b +@  yunnnwvo jjfan@example.com 2023-10-03 17:53:25.563 -07:00 38d0479d │  (empty) (no description set) -◉  qsyokrkk jjfan@example.com 2023-10-03 17:52:07.433 -07:00 third 85066d2a +◉  nvktsnuz jjfan@example.com 2023-10-03 17:53:25.563 -07:00 third ee26fd86 │  third -◉  pmlzoorv jjfan@example.com 2023-10-03 17:52:07.372 -07:00 second 6a11efb9 +◉  oozovxnq jjfan@example.com 2023-10-03 17:53:25.502 -07:00 second 1242b1fd │  second -◉  mzssttms jjfan@example.com 2023-10-03 17:52:07.312 -07:00 first c2cb2cfa +◉  qvwkrmvo jjfan@example.com 2023-10-03 17:53:25.439 -07:00 first 513e2a6d │  first ◉  zzzzzzzz root() 00000000 $ jj diff -r first @@ -63,20 +63,20 @@ $ jj rebase -s third -d first Rebased 2 commits -Working copy now at: rtrqxtor b88d4fbd (conflict) (empty) (no description set) -Parent commit      : qsyokrkk ab068262 third | (conflict) third +Working copy now at: yunnnwvo 3f07a2de (conflict) (empty) (no description set) +Parent commit      : nvktsnuz 9be78b4c third | (conflict) third Added 0 files, modified 1 files, removed 0 files $ jj rebase -s second -d third Rebased 1 commits $ jj log -◉  pmlzoorv jjfan@example.com 2023-10-03 17:52:07.615 -07:00 second 60ef6ed1 +◉  oozovxnq jjfan@example.com 2023-10-03 17:53:25.742 -07:00 second db5b5e19 │  second -│ @  rtrqxtor jjfan@example.com 2023-10-03 17:52:07.583 -07:00 b88d4fbd conflict +│ @  yunnnwvo jjfan@example.com 2023-10-03 17:53:25.712 -07:00 3f07a2de conflict ├─╯  (empty) (no description set) -◉  qsyokrkk jjfan@example.com 2023-10-03 17:52:07.583 -07:00 third ab068262 +◉  nvktsnuz jjfan@example.com 2023-10-03 17:53:25.712 -07:00 third 9be78b4c │  conflict │  third -◉  mzssttms jjfan@example.com 2023-10-03 17:52:07.312 -07:00 first c2cb2cfa +◉  qvwkrmvo jjfan@example.com 2023-10-03 17:53:25.439 -07:00 first 513e2a6d │  first ◉  zzzzzzzz root() 00000000 @@ -87,8 +87,8 @@ # Let's verify that by looking at its contents: $ jj co second -Working copy now at: pntkxysq d04ba185 (empty) (no description set) -Parent commit      : pmlzoorv 60ef6ed1 second | second +Working copy now at: ppxyrxtk a9b71825 (empty) (no description set) +Parent commit      : oozovxnq db5b5e19 second | second Added 0 files, modified 1 files, removed 0 files $ cat file third @@ -98,23 +98,23 @@ $ jj rebase -s second -d first Rebased 2 commits -Working copy now at: pntkxysq 8e1a878a (empty) (no description set) -Parent commit      : pmlzoorv a4f3850e second | second +Working copy now at: ppxyrxtk 46d0cfc1 (empty) (no description set) +Parent commit      : oozovxnq 7507959f second | second Added 0 files, modified 1 files, removed 0 files $ jj merge second third -m merged -Working copy now at: trtwrukv 1b5ba1cc (empty) merged -Parent commit      : pmlzoorv a4f3850e second | second -Parent commit      : qsyokrkk ab068262 third | (conflict) third +Working copy now at: tumuouyq cf68a830 (empty) merged +Parent commit      : oozovxnq 7507959f second | second +Parent commit      : nvktsnuz 9be78b4c third | (conflict) third Added 0 files, modified 1 files, removed 0 files $ jj log -@    trtwrukv jjfan@example.com 2023-10-03 17:52:07.739 -07:00 1b5ba1cc +@    tumuouyq jjfan@example.com 2023-10-03 17:53:25.868 -07:00 cf68a830 ├─╮  (empty) merged -│ ◉  qsyokrkk jjfan@example.com 2023-10-03 17:52:07.583 -07:00 third ab068262 +│ ◉  nvktsnuz jjfan@example.com 2023-10-03 17:53:25.712 -07:00 third 9be78b4c │ │  conflict │ │  third -◉ │  pmlzoorv jjfan@example.com 2023-10-03 17:52:07.708 -07:00 second a4f3850e +◉ │  oozovxnq jjfan@example.com 2023-10-03 17:53:25.838 -07:00 second 7507959f ├─╯  second -◉  mzssttms jjfan@example.com 2023-10-03 17:52:07.312 -07:00 first c2cb2cfa +◉  qvwkrmvo jjfan@example.com 2023-10-03 17:53:25.439 -07:00 first 513e2a6d │  first ◉  zzzzzzzz root() 00000000 diff --git a/demos/operation_log.svg b/demos/operation_log.svg index 3d6423bb16..aacda3d4aa 100644 --- a/demos/operation_log.svg +++ b/demos/operation_log.svg @@ -1,5 +1,5 @@ - + - + # We are in the octocat/Hello-World repo. @@ -41,93 +41,93 @@ # so far: $ jj op log -@  845481e61aaa jjfan@jujube now, lasted 1 millisecond -│  check out git remote's default branch -│  args: jj git clone https://github.com/octocat/Hello-World -◉  f8c5a185ca4c jjfan@jujube now, lasted 392 milliseconds -│  fetch from git remote into empty repo -│  args: jj git clone https://github.com/octocat/Hello-World -◉  5c7d32912b0b jjfan@jujube now, lasted 1 millisecond -│  add workspace 'default' -◉  0fdc6a086c35 jjfan@jujube now, lasted less than a microsecond -   initialize repo - -# We are going to make some changes to show -# how the operation log works. Let's add a file, set -# a description, and rebase onto the "test" branch: - -$ echo stuff > new-file -$ jj describe -m stuff -Working copy now at: stlkvnrx ab94989a stuff -Parent commit      : orrkosyo 7fd1a60b master | (empty) Merge pull request #6 fr -om Spaceghost/patch-1 -$ jj rebase -d test -Rebased 1 commits -Working copy now at: stlkvnrx 47f07ef4 stuff -Parent commit      : kowxouwz b3cbd5bb test | Create CONTRIBUTING.md -Added 1 files, modified 0 files, removed 0 files - -# We are now going to make another change off of -# master: - -$ jj co master -Working copy now at: yuknqtsx f18fb500 (empty) (no description set) -Parent commit      : orrkosyo 7fd1a60b master | (empty) Merge pull request #6 fr -om Spaceghost/patch-1 -Added 0 files, modified 0 files, removed 2 files -$ jj describe -m "other stuff" -Working copy now at: yuknqtsx 12e96f12 (empty) other stuff -Parent commit      : orrkosyo 7fd1a60b master | (empty) Merge pull request #6 fr -om Spaceghost/patch-1 - -# The repo now looks like this: - -$ jj log -@  yuknqtsx jjfan@example.com 2023-10-03 17:52:08.000 -07:00 12e96f12 -│  (empty) other stuff -│ ◉  tpstlust support+octocat@github.com 2018-05-10 12:55:19.000 -05:00 -├─╯  octocat-patch-1 b1b3f972 -│    sentence case -│ ◉  stlkvnrx jjfan@example.com 2023-10-03 17:52:08.000 -07:00 47f07ef4 -│ │  stuff -│ ◉  kowxouwz octocat@nowhere.com 2014-06-10 15:22:26.000 -07:00 test b3cbd5bb -├─╯  Create CONTRIBUTING.md -◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b -│  (empty) Merge pull request #6 from Spaceghost/patch-1 -~ - -# The most recent portion of the operation log -# is: +@  185753f764bf jjfan@jujube now, lasted less than a microsecond +│  forget branch octocat-patch-1 +│  args: jj branch forget octocat-patch-1 +◉  110d41221fe6 jjfan@jujube now, lasted less than a microsecond +│  abandon commit b1b3f9723831141a31a1a7252a213e216ea76e56 +│  args: jj abandon octocat-patch-1 +◉  107b52b37627 jjfan@jujube now, lasted less than a microsecond +│  check out git remote's default branch +│  args: jj git clone https://github.com/octocat/Hello-World +◉  abea1aadaeee jjfan@jujube now, lasted 410 milliseconds +│  fetch from git remote into empty repo +│  args: jj git clone https://github.com/octocat/Hello-World +◉  e5b679e5ed3d jjfan@jujube now, lasted 1 millisecond +│  add workspace 'default' +◉  e65fdcb23853 jjfan@jujube now, lasted less than a microsecond +   initialize repo + +# We are going to make some changes to show +# how the operation log works. Let's add a file, set +# a description, and rebase onto the "test" branch: + +$ echo stuff > new-file +$ jj describe -m stuff +Working copy now at: vwzqnovr b7d38236 stuff +Parent commit      : orrkosyo 7fd1a60b master | (empty) Merge pull request #6 fr +om Spaceghost/patch-1 +$ jj rebase -d test +Rebased 1 commits +Working copy now at: vwzqnovr eba2142d stuff +Parent commit      : kowxouwz b3cbd5bb test | Create CONTRIBUTING.md +Added 1 files, modified 0 files, removed 0 files + +# We are now going to make another change off of +# master: + +$ jj co master +Working copy now at: pnlnlkqn 47b7ab30 (empty) (no description set) +Parent commit      : orrkosyo 7fd1a60b master | (empty) Merge pull request #6 fr +om Spaceghost/patch-1 +Added 0 files, modified 0 files, removed 2 files +$ jj describe -m "other stuff" +Working copy now at: pnlnlkqn c6c396f6 (empty) other stuff +Parent commit      : orrkosyo 7fd1a60b master | (empty) Merge pull request #6 fr +om Spaceghost/patch-1 + +# The repo now looks like this: + +$ jj log +@  pnlnlkqn jjfan@example.com 2023-10-03 17:53:27.000 -07:00 c6c396f6 +│  (empty) other stuff +│ ◉  vwzqnovr jjfan@example.com 2023-10-03 17:53:27.000 -07:00 eba2142d +│ │  stuff +│ ◉  kowxouwz octocat@nowhere.com 2014-06-10 15:22:26.000 -07:00 test b3cbd5bb +├─╯  Create CONTRIBUTING.md +◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b +│  (empty) Merge pull request #6 from Spaceghost/patch-1 +~ -$ jj op log --limit 4 -@  0fac552f4f72 jjfan@jujube now, lasted 1 millisecond -│  describe commit f18fb50012d764655037a7bb4cee0172691e5681 -│  args: jj describe -m 'other stuff' -◉  dc729a65a24b jjfan@jujube now, lasted 1 millisecond -│  check out commit 7fd1a60b01f91b314f59955a4e4d4e80d8edf11d -│  args: jj co master -◉  99af13f4bea1 jjfan@jujube now, lasted 1 millisecond -│  rebase commit ab94989ab0b20e569b934dcffba33e68ad780d2a and descendants -│  args: jj rebase -d test -◉  9cc7474d42a1 jjfan@jujube now, lasted 1 millisecond -│  describe commit 47b41c1661fc8428b0f03641cab2b7a08c439e6c -│  args: jj describe -m stuff - -# Let's undo that rebase operation: - -$ jj undo 99af1 - -# Note that only the rebase was undone, and the -# subsequent "other stuff" change was not undone: +# The most recent portion of the operation log +# is: + +$ jj op log --limit 4 +@  d395e87c7fc6 jjfan@jujube now, lasted 1 millisecond +│  describe commit 47b7ab301cbbb3273d5acd42db579594bc9f58b4 +│  args: jj describe -m 'other stuff' +◉  4ec113b4994a jjfan@jujube now, lasted 1 millisecond +│  check out commit 7fd1a60b01f91b314f59955a4e4d4e80d8edf11d +│  args: jj co master +◉  781069b8c73d jjfan@jujube now, lasted 1 millisecond +│  rebase commit b7d38236713284f1a64c2f74ebe5e5e1655ff1b9 and descendants +│  args: jj rebase -d test +◉  4f6b60f68269 jjfan@jujube now, lasted less than a microsecond +│  describe commit e2b262f6ab3a977fcedb58835cf8f87b3b4277cb +│  args: jj describe -m stuff + +# Let's undo that rebase operation: + +$ jj undo 78106 -$ jj log -@  yuknqtsx jjfan@example.com 2023-10-03 17:52:08.000 -07:00 12e96f12 -│  (empty) other stuff -│ ◉  stlkvnrx jjfan@example.com 2023-10-03 17:52:08.000 -07:00 ab94989a -├─╯  stuff -│ ◉  tpstlust support+octocat@github.com 2018-05-10 12:55:19.000 -05:00 -├─╯  octocat-patch-1 b1b3f972 -│    sentence case +# Note that only the rebase was undone, and the +# subsequent "other stuff" change was not undone: + +$ jj log +@  pnlnlkqn jjfan@example.com 2023-10-03 17:53:27.000 -07:00 c6c396f6 +│  (empty) other stuff +│ ◉  vwzqnovr jjfan@example.com 2023-10-03 17:53:27.000 -07:00 b7d38236 +├─╯  stuff │ ◉  kowxouwz octocat@nowhere.com 2014-06-10 15:22:26.000 -07:00 test b3cbd5bb ├─╯  Create CONTRIBUTING.md ◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b @@ -137,40 +137,34 @@ # We can also see what the repo looked like # after the rebase operation: -$ jj --at-op 99af1 log -@  stlkvnrx jjfan@example.com 2023-10-03 17:52:08.000 -07:00 47f07ef4 +$ jj --at-op 78106 log +@  vwzqnovr jjfan@example.com 2023-10-03 17:53:27.000 -07:00 eba2142d │  stuff -◉  kowxouwz octocat@nowhere.com 2014-06-10 15:22:26.000 -07:00 test b3cbd5bb +◉  kowxouwz octocat@nowhere.com 2014-06-10 15:22:26.000 -07:00 test b3cbd5bb │  Create CONTRIBUTING.md -│ ◉  tpstlust support+octocat@github.com 2018-05-10 12:55:19.000 -05:00 -├─╯  octocat-patch-1 b1b3f972 -│    sentence case -◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b -│  (empty) Merge pull request #6 from Spaceghost/patch-1 -~ +◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b +│  (empty) Merge pull request #6 from Spaceghost/patch-1 +~ + +# Let's say we instead want to go back to the +# state of the repo right after the rebase: -# Let's say we instead want to go back to the -# state of the repo right after the rebase: - -$ jj op restore 99af1 -Working copy now at: stlkvnrx 47f07ef4 stuff -Parent commit      : kowxouwz b3cbd5bb test | Create CONTRIBUTING.md -Added 2 files, modified 0 files, removed 0 files +$ jj op restore 78106 +Working copy now at: vwzqnovr eba2142d stuff +Parent commit      : kowxouwz b3cbd5bb test | Create CONTRIBUTING.md +Added 2 files, modified 0 files, removed 0 files + +# We're now back to before the "other stuff" +# change existed: -# We're now back to before the "other stuff" -# change existed: - -$ jj log -@  stlkvnrx jjfan@example.com 2023-10-03 17:52:08.000 -07:00 47f07ef4 -│  stuff -◉  kowxouwz octocat@nowhere.com 2014-06-10 15:22:26.000 -07:00 test b3cbd5bb -│  Create CONTRIBUTING.md -│ ◉  tpstlust support+octocat@github.com 2018-05-10 12:55:19.000 -05:00 -├─╯  octocat-patch-1 b1b3f972 -│    sentence case -◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b -│  (empty) Merge pull request #6 from Spaceghost/patch-1 -~ +$ jj log +@  vwzqnovr jjfan@example.com 2023-10-03 17:53:27.000 -07:00 eba2142d +│  stuff +◉  kowxouwz octocat@nowhere.com 2014-06-10 15:22:26.000 -07:00 test b3cbd5bb +│  Create CONTRIBUTING.md +◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b +│  (empty) Merge pull request #6 from Spaceghost/patch-1 +~ diff --git a/demos/resolve_conflicts.svg b/demos/resolve_conflicts.svg index e1203e096e..b5b2788cea 100644 --- a/demos/resolve_conflicts.svg +++ b/demos/resolve_conflicts.svg @@ -1,5 +1,5 @@ - + - + # We are on the master branch of the # octocat/Hello-World repo: -$ jj log -r 'all()' -@  nrtkvytr jjfan@example.com 2023-10-03 17:52:10.000 -07:00 5863a062 +$ jj log +@  ynwsmqnv jjfan@example.com 2023-10-03 17:53:28.000 -07:00 7d1bd6e5 │  (empty) (no description set) │ ◉  tpstlust support+octocat@github.com 2018-05-10 12:55:19.000 -05:00 -├─╯  octocat-patch-1 b1b3f972 +├─╯  octocat-patch-1 b1b3f972 │    sentence case -│ ◉  kowxouwz octocat@nowhere.com 2014-06-10 15:22:26.000 -07:00 test b3cbd5bb -├─╯  Create CONTRIBUTING.md -◉    orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b -├─╮  (empty) Merge pull request #6 from Spaceghost/patch-1 -│ ◉  nznozkvv Johnneylee.rollins@gmail.com 2011-09-13 21:42:41.000 -07:00 -├─╯  76294131 -│    New line at end of file. --Signed off by Spaceghost -◉  syktoqts cameron@github.com 2011-01-26 11:06:08.000 -08:00 553c2077 -│  first commit -◉  zzzzzzzz root() 00000000 - -# Let's make an edit that will conflict -# when we rebase it: - -$ jj describe -m "README: say which world" -Working copy now at: nrtkvytr 9c88f5a5 (empty) README: say which world -Parent commit      : orrkosyo 7fd1a60b master | (empty) Merge pull request #6 fr -om Spaceghost/patch-1 -$ echo "Hello Earth!" > README -$ jj diff +◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b +│  (empty) Merge pull request #6 from Spaceghost/patch-1 +~ + +# Let's make an edit that will conflict +# when we rebase it: + +$ jj describe -m "README: say which world" +Working copy now at: ynwsmqnv bf5b4633 (empty) README: say which world +Parent commit      : orrkosyo 7fd1a60b master | (empty) Merge pull request #6 fr +om Spaceghost/patch-1 +$ echo "Hello Earth!" > README +$ jj diff +Modified regular file README: +   1    1: Hello WorldEarth! + +# We're going to rebase it onto commit b1. +# That commit looks like this: + +$ jj diff -r b1 Modified regular file README: -   1    1: Hello WorldEarth! +   1    1: Hello Worldworld! -# We're going to rebase it onto commit b1. -# That commit looks like this: - -$ jj diff -r b1 -Modified regular file README: -   1    1: Hello Worldworld! - -# Now rebase: - -$ jj rebase -d b1 -Rebased 1 commits -Working copy now at: nrtkvytr 9333ce62 (conflict) README: say which world -Parent commit      : tpstlust b1b3f972 octocat-patch-1 | sentence case -Added 0 files, modified 1 files, removed 0 files - -# That seemed to succeed but we are also told there is now a conflict. -# Let's take a look at the repo: - -$ jj log -r 'all()' -@  nrtkvytr jjfan@example.com 2023-10-03 17:52:10.000 -07:00 9333ce62 conflict -│  README: say which world -◉  tpstlust support+octocat@github.com 2018-05-10 12:55:19.000 -05:00 -│  octocat-patch-1 b1b3f972 -│  sentence case -│ ◉  kowxouwz octocat@nowhere.com 2014-06-10 15:22:26.000 -07:00 test b3cbd5bb -├─╯  Create CONTRIBUTING.md -◉    orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b -├─╮  (empty) Merge pull request #6 from Spaceghost/patch-1 -│ ◉  nznozkvv Johnneylee.rollins@gmail.com 2011-09-13 21:42:41.000 -07:00 -├─╯  76294131 -│    New line at end of file. --Signed off by Spaceghost -◉  syktoqts cameron@github.com 2011-01-26 11:06:08.000 -08:00 553c2077 -│  first commit -◉  zzzzzzzz root() 00000000 -$ jj status -Working copy changes: -M README -There are unresolved conflicts at these paths: -README    2-sided conflict -Working copy : nrtkvytr 9333ce62 (conflict) README: say which world -Parent commit: tpstlust b1b3f972 octocat-patch-1 | sentence case +# Now rebase: + +$ jj rebase -d b1 +Rebased 1 commits +Working copy now at: ynwsmqnv 73754cb4 (conflict) README: say which world +Parent commit      : tpstlust b1b3f972 octocat-patch-1 | sentence case +Added 0 files, modified 1 files, removed 0 files + +# That seemed to succeed but we are also told there is now a conflict. +# Let's take a look at the repo: + +$ jj log +@  ynwsmqnv jjfan@example.com 2023-10-03 17:53:28.000 -07:00 73754cb4 conflict +│  README: say which world +◉  tpstlust support+octocat@github.com 2018-05-10 12:55:19.000 -05:00 +│  octocat-patch-1 b1b3f972 +│  sentence case +◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b +│  (empty) Merge pull request #6 from Spaceghost/patch-1 +~ +$ jj status +Working copy changes: +M README +There are unresolved conflicts at these paths: +README    2-sided conflict +Working copy : ynwsmqnv 73754cb4 (conflict) README: say which world +Parent commit: tpstlust b1b3f972 octocat-patch-1 | sentence case + +# Indeed, the rebased commit has a conflict. The conflicted file +# in the working copy looks like this: + +$ cat README +<<<<<<< +%%%%%%% +-Hello World! ++Hello world! ++++++++ +Hello Earth! +>>>>>>> + +# Now we will resolve the conflict: -# Indeed, the rebased commit has a conflict. The conflicted file -# in the working copy looks like this: - -$ cat README -<<<<<<< -%%%%%%% --Hello World! -+Hello world! -+++++++ -Hello Earth! ->>>>>>> - -# Now we will resolve the conflict: - -$ echo "Hello earth!" > README - -# The status command no longer reports it: - -$ jj status -Working copy changes: -M README -Working copy : nrtkvytr db55fbbe README: say which world -Parent commit: tpstlust b1b3f972 octocat-patch-1 | sentence case +$ echo "Hello earth!" > README + +# The status command no longer reports it: + +$ jj status +Working copy changes: +M README +Working copy : ynwsmqnv fd4a85d0 README: say which world +Parent commit: tpstlust b1b3f972 octocat-patch-1 | sentence case diff --git a/demos/working_copy.svg b/demos/working_copy.svg index dd59834750..2289b7af6a 100644 --- a/demos/working_copy.svg +++ b/demos/working_copy.svg @@ -1,5 +1,5 @@ - + - + # We are in the octocat/Hello-World repo. # We have an empty working copy on top of master: $ jj log -@  vqulumvq jjfan@example.com 2023-10-03 17:52:11.000 -07:00 58432c48 +@  lqwsnlyv jjfan@example.com 2023-10-03 17:53:29.000 -07:00 9fe8faea │  (empty) (no description set) -│ ◉  tpstlust support+octocat@github.com 2018-05-10 12:55:19.000 -05:00 -├─╯  octocat-patch-1 b1b3f972 -│    sentence case -│ ◉  kowxouwz octocat@nowhere.com 2014-06-10 15:22:26.000 -07:00 test b3cbd5bb -├─╯  Create CONTRIBUTING.md -◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b -│  (empty) Merge pull request #6 from Spaceghost/patch-1 -~ -$ jj status -The working copy is clean -Working copy : vqulumvq 58432c48 (empty) (no description set) -Parent commit: orrkosyo 7fd1a60b master | (empty) Merge pull request #6 from Spa -ceghost/patch-1 +◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b +│  (empty) Merge pull request #6 from Spaceghost/patch-1 +~ +$ jj status +The working copy is clean +Working copy : lqwsnlyv 9fe8faea (empty) (no description set) +Parent commit: orrkosyo 7fd1a60b master | (empty) Merge pull request #6 from Spa +ceghost/patch-1 + +# Now make some changes in the working copy: + +$ echo "Goodbye World!" > README +$ echo stuff > new-file -# Now make some changes in the working copy: - -$ echo "Goodbye World!" > README -$ echo stuff > new-file - -# Because of these changes, our working copy is no longer marked as "(empty)". -# Also, its commit ID (starting with a blue character) changed: - -$ jj status -Working copy changes: -M README -A new-file -Working copy : vqulumvq 25610674 (no description set) -Parent commit: orrkosyo 7fd1a60b master | (empty) Merge pull request #6 from Spa -ceghost/patch-1 - -# Add a branch so we can easily refer to this -# commit: - -$ jj branch create goodbye -$ jj log -@  vqulumvq jjfan@example.com 2023-10-03 17:52:11.000 -07:00 goodbye 25610674 -│  (no description set) -│ ◉  tpstlust support+octocat@github.com 2018-05-10 12:55:19.000 -05:00 -├─╯  octocat-patch-1 b1b3f972 -│    sentence case -│ ◉  kowxouwz octocat@nowhere.com 2014-06-10 15:22:26.000 -07:00 test b3cbd5bb -├─╯  Create CONTRIBUTING.md -◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b -│  (empty) Merge pull request #6 from Spaceghost/patch-1 -~ - -# Start working on a new change off of master: - -$ jj co master -Working copy now at: tqwqmnqp e5047385 (empty) (no description set) -Parent commit      : orrkosyo 7fd1a60b master | (empty) Merge pull request #6 fr -om Spaceghost/patch-1 -Added 0 files, modified 1 files, removed 1 files - -# Note that we were told the working copy is now empty (AKA clean). The -# "goodbye" change stayed in its own commit: - -$ jj log -@  tqwqmnqp jjfan@example.com 2023-10-03 17:52:10.000 -07:00 e5047385 -│  (empty) (no description set) -│ ◉  vqulumvq jjfan@example.com 2023-10-03 17:52:11.000 -07:00 goodbye 25610674 -├─╯  (no description set) -│ ◉  tpstlust support+octocat@github.com 2018-05-10 12:55:19.000 -05:00 -├─╯  octocat-patch-1 b1b3f972 -│    sentence case -│ ◉  kowxouwz octocat@nowhere.com 2014-06-10 15:22:26.000 -07:00 test b3cbd5bb -├─╯  Create CONTRIBUTING.md -◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b -│  (empty) Merge pull request #6 from Spaceghost/patch-1 -~ - -# Let's do a sanity check: 'jj status' should tell us that -# the working copy is clean. - -$ jj status -The working copy is clean -Working copy : tqwqmnqp e5047385 (empty) (no description set) -Parent commit: orrkosyo 7fd1a60b master | (empty) Merge pull request #6 from Spa -ceghost/patch-1 - -# Modify a file in this new change: +# Because of these changes, our working copy is no longer marked as "(empty)". +# Also, its commit ID (starting with a blue character) changed: + +$ jj status +Working copy changes: +M README +A new-file +Working copy : lqwsnlyv c3038a2f (no description set) +Parent commit: orrkosyo 7fd1a60b master | (empty) Merge pull request #6 from Spa +ceghost/patch-1 + +# Add a branch so we can easily refer to this +# commit: + +$ jj branch create goodbye +$ jj log +@  lqwsnlyv jjfan@example.com 2023-10-03 17:53:30.000 -07:00 goodbye c3038a2f +│  (no description set) +◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b +│  (empty) Merge pull request #6 from Spaceghost/patch-1 +~ + +# Start working on a new change off of master: + +$ jj co master +Working copy now at: ppvvsuyx cb71a202 (empty) (no description set) +Parent commit      : orrkosyo 7fd1a60b master | (empty) Merge pull request #6 fr +om Spaceghost/patch-1 +Added 0 files, modified 1 files, removed 1 files + +# Note that we were told the working copy is now empty (AKA clean). The +# "goodbye" change stayed in its own commit: + +$ jj log +@  ppvvsuyx jjfan@example.com 2023-10-03 17:53:30.000 -07:00 cb71a202 +│  (empty) (no description set) +│ ◉  lqwsnlyv jjfan@example.com 2023-10-03 17:53:30.000 -07:00 goodbye c3038a2f +├─╯  (no description set) +◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b +│  (empty) Merge pull request #6 from Spaceghost/patch-1 +~ + +# Let's do a sanity check: 'jj status' should tell us that +# the working copy is clean. + +$ jj status +The working copy is clean +Working copy : ppvvsuyx cb71a202 (empty) (no description set) +Parent commit: orrkosyo 7fd1a60b master | (empty) Merge pull request #6 from Spa +ceghost/patch-1 + +# Modify a file in this new change: + +$ echo "Hello everyone!" > README +$ jj status +Working copy changes: +M README +Working copy : ppvvsuyx 404f6fd1 (no description set) +Parent commit: orrkosyo 7fd1a60b master | (empty) Merge pull request #6 from Spa +ceghost/patch-1 + +# The working copy is not special; we can, for +# example, set the description of any commit. +# First, set it on the working copy: + +$ jj describe -m everyone +... (output redacted) ... -$ echo "Hello everyone!" > README -$ jj status -Working copy changes: -M README -Working copy : tqwqmnqp e2f75adb (no description set) -Parent commit: orrkosyo 7fd1a60b master | (empty) Merge pull request #6 from Spa -ceghost/patch-1 - -# The working copy is not special; we can, for -# example, set the description of any commit. -# First, set it on the working copy: - -$ jj describe -m everyone -... (output redacted) ... - -# Now set it on the change we worked on before: - -$ jj describe goodbye -m goodbye - -# Inspect the result: - -$ jj log -◉  vqulumvq jjfan@example.com 2023-10-03 17:52:11.000 -07:00 goodbye acfe0ad3 -│  goodbye -│ @  tqwqmnqp jjfan@example.com 2023-10-03 17:52:11.000 -07:00 7d1af3d0 -├─╯  everyone -│ ◉  tpstlust support+octocat@github.com 2018-05-10 12:55:19.000 -05:00 -├─╯  octocat-patch-1 b1b3f972 -│    sentence case -│ ◉  kowxouwz octocat@nowhere.com 2014-06-10 15:22:26.000 -07:00 test b3cbd5bb -├─╯  Create CONTRIBUTING.md -◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b -│  (empty) Merge pull request #6 from Spaceghost/patch-1 -~ +# Now set it on the change we worked on before: + +$ jj describe goodbye -m goodbye + +# Inspect the result: + +$ jj log +◉  lqwsnlyv jjfan@example.com 2023-10-03 17:53:30.000 -07:00 goodbye d173a31f +│  goodbye +│ @  ppvvsuyx jjfan@example.com 2023-10-03 17:53:30.000 -07:00 0bfedc93 +├─╯  everyone +◉  orrkosyo octocat@nowhere.com 2012-03-06 15:06:50.000 -08:00 master 7fd1a60b +│  (empty) Merge pull request #6 from Spaceghost/patch-1 +~