Patchwork D9046: tests: add test showing broken extension loading in case of share-safe

login
register
mail settings
Submitter phabricator
Date Sept. 18, 2020, 2:41 p.m.
Message ID <differential-rev-PHID-DREV-y2y2zxtou27t3bfrndb3-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/47221/
State Superseded
Headers show

Comments

phabricator - Sept. 18, 2020, 2:41 p.m.
pulkit created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  When we are using share-safe and loading source repository config, we are still
  not loading the extensions which are enabled in the source repository.
  
  This patch demonstrates the bug. Meanwhile it also shows how unreliable `hg
  debugextensions` is.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D9046

AFFECTED FILES
  tests/test-share-safe.t

CHANGE DETAILS




To: pulkit, #hg-reviewers
Cc: mercurial-patches, mercurial-devel

Patch

diff --git a/tests/test-share-safe.t b/tests/test-share-safe.t
--- a/tests/test-share-safe.t
+++ b/tests/test-share-safe.t
@@ -81,6 +81,43 @@ 
   $ hg showconfig ui.curses
   true
 
+Test that extensions of source repository are also loaded
+
+  $ hg debugextensions
+  share
+  $ hg extdiff -p echo
+  hg: unknown command 'extdiff'
+  'extdiff' is provided by the following extension:
+  
+      extdiff       command to allow external programs to compare revisions
+  
+  (use 'hg help extensions' for information on enabling extensions)
+  [255]
+
+  $ echo "[extensions]" >> ../source/.hg/hgrc
+  $ echo "extdiff=" >> ../source/.hg/hgrc
+
+  $ hg debugextensions -R ../source
+  extdiff
+  share
+  $ hg extdiff -R ../source -p echo
+
+BROKEN: the command below does not work but debugextensions says that extension
+is loaded
+  $ hg debugextensions
+  extdiff
+  share
+
+BROKEN: extdiff command should work here
+  $ hg extdiff -p echo
+  hg: unknown command 'extdiff'
+  'extdiff' is provided by the following extension:
+  
+      extdiff       command to allow external programs to compare revisions
+  
+  (use 'hg help extensions' for information on enabling extensions)
+  [255]
+
 However, local .hg/hgrc should override the config set by share source
 
   $ echo "[ui]" >> .hg/hgrc
@@ -92,6 +129,8 @@ 
   $ HGEDITOR=cat hg config --shared
   [ui]
   curses=true
+  [extensions]
+  extdiff=
 
   $ HGEDITOR=cat hg config --local
   [ui]