8000 Weird, sporadic workspace/scope/new bug · Issue #6676 · jj-vcs/jj · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Weird, sporadic workspace/scope/new bug #6676
Open
@KingMob

Description

@KingMob

Description

I've seen this bug a few times recently, but I'm not sure what triggers it. Based on the effect, I wonder if it has to do with enabling conditional setting of the user email.

Sometimes I see weird behavior first, but it always results in an ordinary jj new operation creating two commits, one that's expected, and another that contains the stack of changes with NO email set.

Here's the jj log from right afterwards. NB: I'd been using my personal email (matthew@modulolotus.net), but I turned back on conditional emails for the parent directory that has all my work repos (using matthew@swarmify.com).

@  qlxykstw matthew@swarmify.com 2025-06-03 16:22:31 cb4e31bf
│  (empty) (no description set)
│ ○  rlmplypq (no email set) 2025-06-03 16:22:32 f437322a
├─╯  (no description set)
│ ○  qsvlzvll matthew@modulolotus.net 2025-05-28 13:23:21 f72db0cd
│ │  Added page builder summary
│ ○  klvtpnmm matthew@modulolotus.net 2025-05-28 13:23:21 1aad4cca
│ │  Add WPBakery block
│ ○  ryruumvp matthew@modulolotus.net 2025-05-28 13:23:21 d647cb7b
├─╯  Add Spectra block
○  wumrlxuu matthew@modulolotus.net 2025-05-28 13:23:21 v2.1.2 git_head() ad8a83de
│  Bumped up to v2.1.2

Possibly related to my index.lock error. Not sure, but they showed up around the same time.

Steps to Reproduce the Problem

  1. (Optional?) See a "failed checkout" error?
  2. (Optional?) See a workspace stale warning?
  3. (Optional?) Attempt to update-stale it
  4. Run jj new
  5. Get split behavior

Expected Behavior

No warnings, ordinary new behavior

Actual Behavior

Here's the complete shell output of the day, if it helps. I've added the behaving commands beforehand. You can see it starts to go awry when it gives me a failed checkout error when I call new. (I have the default jj command mapped to log, btw.)

Shell history

~/Code/Swarmify ❯ cd smartvideo-wordpress-plugin/

Code/Swarmify/smartvideo-wordpress-plugin [ v22.15.1][🐘 v8.3.20]❯ jj st
Working copy changes:
A includes/page-builders/builder-summary.txt
Working copy  (@) : qsvlzvll f72db0cd Added page builder summary
Parent commit (@-): klvtpnmm 1aad4cca Add WPBakery block
Code/Swarmify/smartvideo-wordpress-plugin [ v22.15.1][🐘 v8.3.20]❯ jj
@  qsvlzvll matthew@modulolotus.net 2025-05-28 13:23:21 f72db0cd
│  Added page builder summary
○  klvtpnmm matthew@modulolotus.net 2025-05-28 13:23:21 git_head() 1aad4cca
│  Add WPBakery block
○  ryruumvp matthew@modulolotus.net 2025-05-28 13:23:21 d647cb7b
│  Add Spectra block
○  wumrlxuu matthew@modulolotus.net 2025-05-28 13:23:21 v2.1.2 ad8a83de
│  Bumped up to v2.1.2
~

Code/Swarmify/smartvideo-wordpress-plugin [ v22.15.1][🐘 v8.3.20]❯ jj new wu
Internal error: Failed to check out commit cb4e31bf73b2072bcafcce7c8437989dce514c3c
Caused by: Concurrent checkout

Code/Swarmify/smartvideo-wordpress-plugin [ v22.15.1][🐘 v8.3.20]❯ jj
Concurrent modification detected, resolving automatically.
Error: The working copy is stale (not updated since operation ae6b42a1f7eb).
Hint: Run `jj workspace update-stale` to update it.
See https://jj-vcs.github.io/jj/latest/working-copy/#stale-working-copy for more information.

Code/Swarmify/smartvideo-wordpress-plugin [ v22.15.1][🐘 v8.3.20]❯ jj workspace update-stale
Attempted recovery, but the working copy is not stale

Code/Swarmify/smartvideo-wordpress-plugin [ v22.15.1][🐘 v8.3.20]❯ jj
@  qlxykstw matthew@swarmify.com 2025-06-03 16:22:31 cb4e31bf
│  (empty) (no description set)
│ ○  rlmplypq (no email set) 2025-06-03 16:22:32 f437322a
├─╯  (no description set)
│ ○  qsvlzvll matthew@modulolotus.net 2025-05-28 13:23:21 f72db0cd
│ │  Added page builder summary
│ ○  klvtpnmm matthew@modulolotus.net 2025-05-28 13:23:21 1aad4cca
│ │  Add WPBakery block
│ ○  ryruumvp matthew@modulolotus.net 2025-05-28 13:23:21 d647cb7b
├─╯  Add Spectra block
○  wumrlxuu matthew@modulolotus.net 2025-05-28 13:23:2
64B8
1 v2.1.2 git_head() ad8a83de
│  Bumped up to v2.1.2


Code/Swarmify/smartvideo-wordpress-plugin [ v22.15.1][🐘 v8.3.20]❯ jj diff -s -f rl -t qsv

Code/Swarmify/smartvideo-wordpress-plugin [ v22.15.1][🐘 v8.3.20]❯ jj abandon rl
Abandoned 1 commits:
  rlmplypq f437322a (no description set)

Code/Swarmify/smartvideo-wordpress-plugin [ v22.15.1][🐘 v8.3.20]❯ jj
@  qlxykstw matthew@swarmify.com 2025-06-03 16:22:31 cb4e31bf
│  (empty) (no description set)
│ ○  qsvlzvll matthew@modulolotus.net 2025-05-28 13:23:21 f72db0cd
│ │  Added page builder summary
│ ○  klvtpnmm matthew@modulolotus.net 2025-05-28 13:23:21 1aad4cca
│ │  Add WPBakery block
│ ○  ryruumvp matthew@modulolotus.net 2025-05-28 13:23:21 d647cb7b
├─╯  Add Spectra block
○  wumrlxuu matthew@modulolotus.net 2025-05-28 13:23:21 v2.1.2 git_head() ad8a83de
│  Bumped up to v2.1.2

Note that when I ran jj diff -s -f rl -t qsv, the result is empty, meaning that the email-less change is the same as the change I started on, just...without an email.

Last 8 items in the op log

Code/Swarmify/smartvideo-wordpress-plugin [ v22.15.1][🐘 v8.3.20]❯ jj op log -n 8
@  c62c7866b795 matthew@Lappy.local 39 minutes ago, lasted 73 milliseconds
│  abandon commit f437322a587dc42bb12bbcc4ce48072cdc4fa7e4
│  args: jj abandon rl
○    2fe464698a54 matthew@Lappy.local 44 minutes ago, lasted 3 milliseconds
├─╮  reconcile divergent operations
│ │  args: jj log
○ │  c5046a566d24 matthew@Lappy.local 44 minutes ago, lasted 215 milliseconds
│ │  new empty commit
│ │  args: jj new wu
│ ○  ae6b42a1f7eb matthew@Lappy.local 44 minutes ago, lasted 3 milliseconds
│ │  snapshot working copy
│ │  args: jj -R /Users/matthew/Code/Swarmify/smartvideo-wordpress-plugin status '--at-op=@' --color never --no-pager --quiet
│ ○  96edbae3723b matthew@Lappy.local 44 minutes ago, lasted 55 milliseconds
├─╯  import git head
│    args: jj -R /Users/matthew/Code/Swarmify/smartvideo-wordpress-plugin status '--at-op=@' --color never --no-pager --quiet
○  ca90d8075192 matthew@Lappy.local 6 days ago, lasted 58 milliseconds
│  edit commit f72db0cd0a835ec2e66907d12fbdc52d513b26f5
│  args: jj edit qsv
○  be1e8885c029 matthew@Lappy.local 6 days ago, lasted 86 milliseconds
│  prev: d0aa8a13855d -> 1aad4cca8b09
│  args: jj prev
○  0515907a9b9a matthew@Lappy.local 6 days ago, lasted 85 milliseconds
│  new empty commit
│  args: jj new qsv

Relevant config.toml

"$schema" = "https://jj-vcs.github.io/jj/latest/config-schema.json"

snapshot.max-new-file-size = '20MiB'

[user]
name = "Matthew Davidson"
email = "matthew@modulolotus.net"

# override user.email if the repository is located under ~/Code/Swarmify
[[--scope]]
--when.repositories = ["~/Code/Swarmify"]
[--scope.user]
email = "matthew@swarmify.com"

# ... rest of the file elided

Specifications

  • Platform: macOS 15.5
  • Version: 0.29.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0