tests/test-convert-authormap.t
author Siddharth Agarwal <sid0@fb.com>
Thu, 16 Oct 2014 19:15:51 -0700
changeset 23032 f484be02bd35
parent 16948 a0cbbf78c31a
child 35393 4441705b7111
permissions -rw-r--r--
lock: while releasing, unlink lockfile even if the release function throws Consider a hypothetical bug in the release function that causes it to raise an exception. Also consider the bisect command, which saves its state in a finally clause. Saving the state requires acquiring the wlock. If we don't unlink the lockfile when the exception is thrown, we'll try to acquire the wlock again. We're going to try and acquire a lock again while our old lockfile is on disk. The PID on disk is our own, and of course we're still running, so we won't take over the lock. Hence we'll be stuck waiting for a lock that we left behind ourselves. To avoid this, always unlink the lockfile. This preserves the invariant that self.held > 0 is equivalent to the lockfile existing on disk.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7961
52e442fe43f4 convert: Add testcase for convert authormap.
Marti Raudsepp <marti@juffo.org>
parents:
diff changeset
     1
12511
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
     2
  $ cat >> $HGRCPATH <<EOF
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
     3
  > [extensions]
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
     4
  > convert=
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
     5
  > EOF
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
     6
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
     7
Prepare orig repo
7961
52e442fe43f4 convert: Add testcase for convert authormap.
Marti Raudsepp <marti@juffo.org>
parents:
diff changeset
     8
12511
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
     9
  $ hg init orig
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    10
  $ cd orig
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    11
  $ echo foo > foo
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    12
  $ HGUSER='user name' hg ci -qAm 'foo'
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    13
  $ cd ..
7961
52e442fe43f4 convert: Add testcase for convert authormap.
Marti Raudsepp <marti@juffo.org>
parents:
diff changeset
    14
12511
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    15
Explicit --authors
7962
62154415821f convert: fix authormap handling of lines without '='
Marti Raudsepp <marti@juffo.org>
parents: 7961
diff changeset
    16
12511
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    17
  $ cat > authormap.txt <<EOF
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    18
  > user name = Long User Name
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    19
  > 
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    20
  > # comment
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    21
  > this line is ignored
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    22
  > EOF
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    23
  $ hg convert --authors authormap.txt orig new
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    24
  initializing destination new repository
16925
eaf6a6d7f015 convert: lowercase status and abort messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
    25
  ignoring bad line in author map file authormap.txt: this line is ignored
12511
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    26
  scanning source...
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    27
  sorting...
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    28
  converting...
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    29
  0 foo
16948
a0cbbf78c31a tests: reintroduce globs in test-convert-authormap.t
Mads Kiilerich <mads@kiilerich.com>
parents: 16925
diff changeset
    30
  writing author map file $TESTTMP/new/.hg/authormap (glob)
12511
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    31
  $ cat new/.hg/authormap
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    32
  user name=Long User Name
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    33
  $ hg -Rnew log
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    34
  changeset:   0:d89716e88087
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    35
  tag:         tip
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    36
  user:        Long User Name
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    37
  date:        Thu Jan 01 00:00:00 1970 +0000
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    38
  summary:     foo
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    39
  
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    40
  $ rm -rf new
7961
52e442fe43f4 convert: Add testcase for convert authormap.
Marti Raudsepp <marti@juffo.org>
parents:
diff changeset
    41
12511
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    42
Implicit .hg/authormap
7961
52e442fe43f4 convert: Add testcase for convert authormap.
Marti Raudsepp <marti@juffo.org>
parents:
diff changeset
    43
12511
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    44
  $ hg init new
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    45
  $ mv authormap.txt new/.hg/authormap
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    46
  $ hg convert orig new
16948
a0cbbf78c31a tests: reintroduce globs in test-convert-authormap.t
Mads Kiilerich <mads@kiilerich.com>
parents: 16925
diff changeset
    47
  ignoring bad line in author map file $TESTTMP/new/.hg/authormap: this line is ignored (glob)
12511
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    48
  scanning source...
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    49
  sorting...
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    50
  converting...
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    51
  0 foo
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    52
  $ hg -Rnew log
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    53
  changeset:   0:d89716e88087
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    54
  tag:         tip
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    55
  user:        Long User Name
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    56
  date:        Thu Jan 01 00:00:00 1970 +0000
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    57
  summary:     foo
0fefeb4fff49 tests: unify test-convert-authormap
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
    58