view tests/test-hooklib-reject_new_heads.t @ 48173:1d70fb83ff4a

hg: let extensions call the func without populating opts keys This change is to help extensions by not forcing them to populate with opts[b'bundle'] and opts[b'force'] when calling hg.incoming(...) Differential Revision: https://phab.mercurial-scm.org/D11619
author Sushil khanchi <sushilkhanchi97@gmail.com>
date Wed, 06 Oct 2021 13:32:07 +0530
parents 4cabeea6d214
children
line wrap: on
line source

  $ cat <<EOF >> $HGRCPATH
  > [extensions]
  > hooklib =
  > 
  > [phases]
  > publish = False
  > EOF
  $ hg init a
  $ hg --cwd a debugbuilddag '.:parent.*parent'
  $ hg --cwd a log -G
  o  changeset:   2:fa942426a6fd
  |  tag:         tip
  |  parent:      0:1ea73414a91b
  |  user:        debugbuilddag
  |  date:        Thu Jan 01 00:00:02 1970 +0000
  |  summary:     r2
  |
  | o  changeset:   1:66f7d451a68b
  |/   user:        debugbuilddag
  |    date:        Thu Jan 01 00:00:01 1970 +0000
  |    summary:     r1
  |
  o  changeset:   0:1ea73414a91b
     tag:         parent
     user:        debugbuilddag
     date:        Thu Jan 01 00:00:00 1970 +0000
     summary:     r0
  
  $ hg init b
  $ cat <<EOF >> b/.hg/hgrc
  > [hooks]
  > pretxnclose.reject_new_heads = \
  >   python:hgext.hooklib.reject_new_heads.hook
  > EOF
  $ hg --cwd b pull ../a
  pulling from ../a
  requesting all changes
  adding changesets
  adding manifests
  adding file changes
  error: pretxnclose.reject_new_heads hook failed: Changes on branch 'default' resulted in multiple heads
  transaction abort!
  rollback completed
  abort: Changes on branch 'default' resulted in multiple heads
  [255]
  $ hg --cwd b pull ../a -r 1ea73414a91b
  pulling from ../a
  adding changesets
  adding manifests
  adding file changes
  added 1 changesets with 0 changes to 0 files
  new changesets 1ea73414a91b (1 drafts)
  (run 'hg update' to get a working copy)