view tests/test-editor-filename.t @ 50366:a445194f0a4d stable

backup: fix issue when the backup end up in a different directory Because of store encoding, we might end up with the backup in a different directory than the initial copy (for example if the backup path make it cross the 120 char limit). This can create crash, especially since 6.4 where backup are used during revlog split. Making sure the directory exists fixes these crash We added a test covering this case. Strictly speaking, this has always been broken, however the new code in 6.4 triggers it more easily.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 03 May 2023 00:16:38 +0200
parents 55c6ebd11cb9
children
line wrap: on
line source

Test temp file used with an editor has the expected suffix.

  $ hg init repo
  $ cd repo

Create an editor that writes its arguments to stdout and set it to $HGEDITOR.

  $ cat > editor.sh << EOF
  > echo "\$@"
  > exit 1
  > EOF
  $ hg add editor.sh
  $ HGEDITOR="sh $TESTTMP/repo/editor.sh"
  $ export HGEDITOR

Verify that the path for a commit editor has the expected suffix.

  $ hg commit
  *.commit.hg.txt (glob)
  abort: edit failed: sh exited with status 1
  [250]

Verify that the path for a histedit editor has the expected suffix.

  $ cat >> $HGRCPATH <<EOF
  > [extensions]
  > rebase=
  > histedit=
  > EOF
  $ hg commit --message 'At least one commit for histedit.'
  $ hg histedit
  *.histedit.hg.txt (glob)
  abort: edit failed: sh exited with status 1
  [250]

Verify that when performing an action that has the side-effect of creating an
editor for a diff, the file ends in .diff.

  $ echo 1 > one
  $ echo 2 > two
  $ hg add
  adding one
  adding two
  $ hg commit --interactive --config ui.interactive=true --config ui.interface=text << EOF
  > y
  > e
  > q
  > EOF
  diff --git a/one b/one
  new file mode 100644
  examine changes to 'one'?
  (enter ? for help) [Ynesfdaq?] y
  
  @@ -0,0 +1,1 @@
  +1
  record change 1/2 to 'one'?
  (enter ? for help) [Ynesfdaq?] e
  
  *.diff (glob)
  editor exited with exit code 1
  record change 1/2 to 'one'?
  (enter ? for help) [Ynesfdaq?] q
  
  abort: user quit
  [250]