tests/test-bad-extension.t
author Siddharth Agarwal <sid0@fb.com>
Fri, 29 Mar 2013 19:54:06 -0700
changeset 18851 a60963c02f92
parent 14286 005a540e9aee
child 23172 e955549cd045
permissions -rw-r--r--
pull: list bookmarks before pulling changesets (issue3873) Consider a bookmark B that exists both locally and remotely. If B is updated remotely, and then a pull is performed where the pull set contains the new location of B, the bookmark is updated locally. However, if remote B is updated in the middle of a pull to a location not in the pull set, the bookmark won't be updated locally at all. To fix this, list bookmarks before pulling in changesets, not after. This still leaves a race open if B gets moved in between listing bookmarks and pulling in changesets, but the race window is much smaller. Fixing the race properly would require a bundle format upgrade. test-hook.t's output changes because we no longer do two listkeys calls during pull, just one. test-pull-http.t's output changes because we now search for bookmarks before searching for changes.

  $ echo 'raise Exception("bit bucket overflow")' > badext.py
  $ abspath=`pwd`/badext.py

  $ echo '[extensions]' >> $HGRCPATH
  $ echo "gpg =" >> $HGRCPATH
  $ echo "hgext.gpg =" >> $HGRCPATH
  $ echo "badext = $abspath" >> $HGRCPATH
  $ echo "badext2 =" >> $HGRCPATH

  $ hg -q help help
  *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
  *** failed to import extension badext2: No module named badext2
  hg help [-ec] [TOPIC]
  
  show help for a given topic or a help overview