view tests/test-default-push.t @ 22313:d226fe36e362

memctx: allow extensions to determine what filectxfn should do Rev 650b5b6e75ed switched the contract for filectxfn from "raise IOError if file is missing" to "return None if file is missing". Out of tree extensions need to be updated for that, but for extensions interested in compatibility with both Mercurial <= 3.1 and default, it is next to impossible to introspect core Mercurial to figure out what to do. This patch adds a field to memctx for extensions to use.
author Siddharth Agarwal <sid0@fb.com>
date Sat, 30 Aug 2014 05:29:38 -0700
parents c4f45ce85351
children 2be7d5ebd4d0
line wrap: on
line source

  $ hg init a

  $ echo a > a/a
  $ hg --cwd a ci -Ama
  adding a

  $ hg clone a c
  updating to branch default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved

  $ hg clone a b
  updating to branch default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved

  $ echo b >> b/a
  $ hg --cwd b ci -mb

Push should provide a hint when both 'default' and 'default-push' not set:
  $ cd c
  $ hg push --config paths.default=
  pushing to default-push
  abort: default repository not configured!
  (see the "path" section in "hg help config")
  [255]

  $ cd ..

Push should push to 'default' when 'default-push' not set:

  $ hg --cwd b push
  pushing to $TESTTMP/a (glob)
  searching for changes
  adding changesets
  adding manifests
  adding file changes
  added 1 changesets with 1 changes to 1 files

Push should push to 'default-push' when set:

  $ echo 'default-push = ../c' >> b/.hg/hgrc
  $ hg --cwd b push
  pushing to $TESTTMP/c (glob)
  searching for changes
  adding changesets
  adding manifests
  adding file changes
  added 1 changesets with 1 changes to 1 files