view tests/test-hup.t @ 21553:bee0e1cffdd3

import: add --partial flag to create a changeset despite failed hunks The `hg import` command gains a `--partial` flag. When specified, a commit will always be created from a patch import. Any hunk that fails to apply will create .rej file, same as what `hg qimport` would do. This change is mainly aimed at preserving changeset metadata when applying a patch, something very important for reviewers. In case of failure with `--partial`, `hg import` returns 1 and the following message is displayed: patch applied partially (fix the .rej files and run `hg commit --amend`) When multiple patches are imported, we stop at the first one with failed hunks. In the future, someone may feel brave enough to tackle a --continue flag to import.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Thu, 08 May 2014 17:08:17 -0700
parents 9fae01831dea
children 7a9cbb315d84
line wrap: on
line source

Test hangup signal in the middle of transaction

  $ "$TESTDIR/hghave" serve fifo || exit 80
  $ hg init
  $ mkfifo p
  $ hg serve --stdio < p 1>out 2>&1 &
  $ P=$!

Do test while holding fifo open

  $ (
  > echo lock
  > echo addchangegroup
  > start=`date +%s`
  > # 10 second seems much enough to let the server catch up
  > deadline=`expr $start + 10`
  > while [ ! -s .hg/store/journal ]; do
  >     sleep 0;
  >     if [ `date +%s` -gt $deadline ]; then
  >         echo "transaction did not start after 10 seconds" >&2;
  >         exit 1;
  >     fi
  > done
  > kill -HUP $P
  > ) > p

  $ wait
  $ cat out
  0
  0
  adding changesets
  transaction abort!
  rollback completed
  killed!

  $ echo .hg/* .hg/store/*
  .hg/00changelog.i .hg/journal.bookmarks .hg/journal.branch .hg/journal.desc .hg/journal.dirstate .hg/requires .hg/store .hg/store/00changelog.i .hg/store/00changelog.i.a .hg/store/journal.phaseroots