Subject: bug#79024: 31.0.50; Multiple working trees support for VC

From: Eli Zaretskii <[email-masked]>
Date: Sun, 10 Aug 2025 15:41:13 +0300

> From: Sean Whitton <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Sun, 10 Aug 2025 13:26:20 +0100
> 
> Thanks, this helps in a few ways.  I think that your git doesn't support
> any of the 'repair', 'move' and 'remove' subcommands of git-worktree.
> 
> We can do without 'git worktree remove'.  I've changed that on master.
> 
> I don't think that vc-git-move-working-tree is possible without either
> of 'move' or 'repair', unless we start manually modifying things inside
> .git, which as discussed elsewhere in the bug is not a good idea.

What do we need "move" and "repair" for?

> So I've added a guard to the tests to not try the vc-move-working-tree
> tests with older Git.

Not to run them at all?  Does it mean that worktrees will be
unavailable in VC in that case?

> If the tests still fail, please show me the
> output and I'll try to determine where they're failing and possibly send
> you a new list of commands.

vc-test-git07-other-working-trees still fails, and it fails while
committing:

  Test vc-test-git07-other-working-trees condition:
      (error
       "Failed (status 128): git --no-pager commit -F c:/Users/EliZ/AppData/Local/Temp/git-msgWZPFOT --only -- foo")

What is special about invoking "git commit" from this test?  Because
committing generally does work in the other tests.

vc-test-hg07-other-working-trees also fails:

  Test vc-test-hg07-other-working-trees condition:
      (error
       "Failed (status 255): hg --config ui.report_untrusted=0 --config=extensions.share= commit -m Testing other working trees\n\nTesting other working trees\n foo")

but this is because Windows doesn't support newlines in command lines
(we need to use a file, as with Git).