tests/test-issue2137.t
author Martin von Zweigbergk <martinvonz@google.com>
Wed, 19 Nov 2014 11:48:30 -0800
changeset 23650 b85c548ab14d
parent 17802 a421459b83c0
child 26420 2fc86d92c4a9
permissions -rw-r--r--
merge: introduce 'c' action like 'g', but with additional safety _checkunknownfile() reads the filelog of the remote side's file. For narrow clones, the filelog will not exist for all files and we need a way to avoid reading them. While it would be easier for the narrow extension to just override _checkunknownfile() and make it ignore files outside the narrow clone, it seems cleaner to have manifestmerge() not care about filelogs (considering its name). In order to move the calls to _checkunknownfile() out, we need to be able to tell in which cases we should check for unknown files. Let's start by introducing a new action distinct from 'g' for this purpose. Specifically, the new action will be just like 'g' except that it will check that for conflicting unknown files first. For now, just add the new action type and convert it to 'g'.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12204
diff changeset
     1
http://mercurial.selenic.com/bts/issue2137
10914
b7ca37b90762 revlog: fix lazyparser.__iter__() to return all revisions (issue2137)
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
     2
12204
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
     3
Setup:
10914
b7ca37b90762 revlog: fix lazyparser.__iter__() to return all revisions (issue2137)
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
     4
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12204
diff changeset
     5
create a little extension that has 3 side-effects:
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12204
diff changeset
     6
1) ensure changelog data is not inlined
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12204
diff changeset
     7
2) make revlog to use lazyparser
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12204
diff changeset
     8
3) test that repo.lookup() works
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12204
diff changeset
     9
1 and 2 are preconditions for the bug; 3 is the bug.
10914
b7ca37b90762 revlog: fix lazyparser.__iter__() to return all revisions (issue2137)
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
    10
12204
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    11
  $ cat > commitwrapper.py <<EOF
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    12
  > from mercurial import extensions, node, revlog
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    13
  > 
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    14
  > def reposetup(ui, repo):
17802
a421459b83c0 test: use proper subclassing in `test-issue2137.t`.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16913
diff changeset
    15
  >     class wraprepo(repo.__class__):
a421459b83c0 test: use proper subclassing in `test-issue2137.t`.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16913
diff changeset
    16
  >         def commit(self, *args, **kwargs):
a421459b83c0 test: use proper subclassing in `test-issue2137.t`.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16913
diff changeset
    17
  >             result = super(wraprepo, self).commit(*args, **kwargs)
a421459b83c0 test: use proper subclassing in `test-issue2137.t`.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16913
diff changeset
    18
  >             tip1 = node.short(repo.changelog.tip())
a421459b83c0 test: use proper subclassing in `test-issue2137.t`.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16913
diff changeset
    19
  >             tip2 = node.short(repo.lookup(tip1))
a421459b83c0 test: use proper subclassing in `test-issue2137.t`.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16913
diff changeset
    20
  >             assert tip1 == tip2
a421459b83c0 test: use proper subclassing in `test-issue2137.t`.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16913
diff changeset
    21
  >             ui.write('new tip: %s\n' % tip1)
a421459b83c0 test: use proper subclassing in `test-issue2137.t`.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16913
diff changeset
    22
  >             return result
a421459b83c0 test: use proper subclassing in `test-issue2137.t`.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16913
diff changeset
    23
  >     repo.__class__ = wraprepo
12204
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    24
  > 
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    25
  > def extsetup(ui):
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    26
  >     revlog._maxinline = 8             # split out 00changelog.d early
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    27
  >     revlog._prereadsize = 8           # use revlog.lazyparser
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    28
  > EOF
10914
b7ca37b90762 revlog: fix lazyparser.__iter__() to return all revisions (issue2137)
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
    29
12204
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    30
  $ cat >> $HGRCPATH <<EOF
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    31
  > [extensions]
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    32
  > commitwrapper = `pwd`/commitwrapper.py
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    33
  > EOF
10914
b7ca37b90762 revlog: fix lazyparser.__iter__() to return all revisions (issue2137)
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
    34
12204
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    35
  $ hg init repo1
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    36
  $ cd repo1
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    37
  $ echo a > a
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    38
  $ hg commit -A -m'add a with a long commit message to make the changelog a bit bigger'
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    39
  adding a
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    40
  new tip: 553596fad57b
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    41
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    42
Test that new changesets are visible to repo.lookup():
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    43
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    44
  $ echo a >> a
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    45
  $ hg commit -m'one more commit to demonstrate the bug'
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    46
  new tip: 799ae3599e0e
10914
b7ca37b90762 revlog: fix lazyparser.__iter__() to return all revisions (issue2137)
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
    47
12204
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    48
  $ hg tip
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    49
  changeset:   1:799ae3599e0e
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    50
  tag:         tip
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    51
  user:        test
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    52
  date:        Thu Jan 01 00:00:00 1970 +0000
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    53
  summary:     one more commit to demonstrate the bug
c55d69c5fb77 tests: unify test-issue1438 and test-issue2137
Adrian Buehlmann <adrian@cadifra.com>
parents: 11072
diff changeset
    54
  
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12328
diff changeset
    55
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12328
diff changeset
    56
  $ cd ..