tests/test-issue1877.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Wed, 09 Dec 2015 08:28:53 +0900
changeset 27290 525d9b3f0a31
parent 26420 2fc86d92c4a9
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.

https://bz.mercurial-scm.org/1877

  $ hg init a
  $ cd a
  $ echo a > a
  $ hg add a
  $ hg ci -m 'a'
  $ echo b > a
  $ hg ci -m'b'
  $ hg up 0
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg book main
  $ hg book
   * main                      0:cb9a9f314b8b
  $ echo c > c
  $ hg add c
  $ hg ci -m'c'
  created new head
  $ hg book
   * main                      2:d36c0562f908
  $ hg heads
  changeset:   2:d36c0562f908
  bookmark:    main
  tag:         tip
  parent:      0:cb9a9f314b8b
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     c
  
  changeset:   1:1e6c11564562
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     b
  
  $ hg up 1e6c11564562
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
  (leaving bookmark main)
  $ hg merge main
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  (branch merge, don't forget to commit)
  $ hg book
     main                      2:d36c0562f908
  $ hg ci -m'merge'
  $ hg book
     main                      2:d36c0562f908

  $ cd ..