tests/test-backwards-remove.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Wed, 09 Dec 2015 08:28:53 +0900
changeset 27290 525d9b3f0a31
parent 12156 4c94b6d0fb1c
child 44724 5c2a4f37eace
permissions -rw-r--r--
censor: make censor acquire locks before processing Before this patch, "hg censor" executes below: - without acquisition of wlock, examine whether the working directory refers the revision of the file to be censored or not - without acquisition of store lock (slock), replace existing filelog of file to be censored with censored one, Replacement consists of steps below, and it is assumed that the destination filelog at (1) isn't changed before renaming at (3). 1. read existing filelog in 2. write filelog entries (both censored and not) into temporary file 3. rename from temporary file to existing filelog to be censored It may cause unintentional result, if another command runs parallelly (see also issue4368). This patch makes "hg censor" acquire wlock and slock before processing.

  $ hg init
  $ echo This is file a1 > a
  $ hg add a
  $ hg commit -m "commit #0"
  $ ls
  a
  $ echo This is file b1 > b
  $ hg add b
  $ hg commit -m "commit #1"
  $ hg co 0
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved

B should disappear

  $ ls
  a