tests/test-unrelated-pull.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Sat, 06 Aug 2016 22:24:33 +0900
changeset 29748 14f077f7519a
parent 16913 f2719b387380
child 34661 eb586ed5d8ce
permissions -rw-r--r--
demandimport: import sub-module relatively as expected (issue5208) Before this patch, importing sub-module might (1) fail or (2) success but import incorrect module, because demandimport tries to import sub-module with level=-1 (on Python 2.x) or level=0 (on Python 3.x), which is default value of "level" argument at construction of "_demandmod" proxy object. (1) on Python 3.x, importing sub-module always fails to import existing sub-module (2) both on Python 2.x and 3.x, importing sub-module might import same name module on root level unintentionally On Python 2.x, existing sub-module is prior to this unexpected module. Therefore, this problem hasn't appeared. To import sub-module relatively as expected, this patch specifies "1" as import level explicitly at construction of "_demandmod" proxy object for sub-module.

  $ hg init a
  $ cd a
  $ echo 123 > a
  $ hg add a
  $ hg commit -m "a" -u a

  $ cd ..
  $ hg init b
  $ cd b
  $ echo 321 > b
  $ hg add b
  $ hg commit -m "b" -u b

  $ hg pull ../a
  pulling from ../a
  searching for changes
  abort: repository is unrelated
  [255]

  $ hg pull -f ../a
  pulling from ../a
  searching for changes
  warning: repository is unrelated
  requesting all changes
  adding changesets
  adding manifests
  adding file changes
  added 1 changesets with 1 changes to 1 files (+1 heads)
  (run 'hg heads' to see heads, 'hg merge' to merge)

  $ hg heads
  changeset:   1:9a79c33a9db3
  tag:         tip
  parent:      -1:000000000000
  user:        a
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     a
  
  changeset:   0:01f8062b2de5
  user:        b
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     b
  

  $ cd ..