tests/test-obsolete-changeset-exchange.t
author Mads Kiilerich <madski@unity3d.com>
Sat, 27 Apr 2013 23:19:52 +0200
changeset 21089 278bd08a2902
parent 18499 d07834e52b4e
child 22955 fab9dda0f2a3
permissions -rw-r--r--
largefiles: use more reasonable locking for update
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17248
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
     1
Test changesets filtering during exchanges (some tests are still in
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
     2
test-obsolete.t)
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
     3
17296
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17248
diff changeset
     4
  $ cat > obs.py << EOF
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17248
diff changeset
     5
  > import mercurial.obsolete
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17248
diff changeset
     6
  > mercurial.obsolete._enabled = True
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17248
diff changeset
     7
  > EOF
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17248
diff changeset
     8
  $ echo '[extensions]' >> $HGRCPATH
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17248
diff changeset
     9
  $ echo "obs=${TESTTMP}/obs.py" >> $HGRCPATH
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17248
diff changeset
    10
17327
7f5094bb3f42 test: fix typo in test comment
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17296
diff changeset
    11
Push does not corrupt remote
7f5094bb3f42 test: fix typo in test comment
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17296
diff changeset
    12
----------------------------
17248
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    13
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    14
Create a DAG where a changeset reuses a revision from a file first used in an
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    15
extinct changeset.
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    16
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    17
  $ hg init local
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    18
  $ cd local
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    19
  $ echo 'base' > base
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    20
  $ hg commit -Am base
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    21
  adding base
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    22
  $ echo 'A' > A
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    23
  $ hg commit -Am A
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    24
  adding A
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    25
  $ hg up 0
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    26
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    27
  $ hg revert -ar 1
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    28
  adding A
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    29
  $ hg commit -Am "A'"
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    30
  created new head
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    31
  $ hg log -G --template='{desc} {node}'
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    32
  @  A' f89bcc95eba5174b1ccc3e33a82e84c96e8338ee
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    33
  |
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    34
  | o  A 9d73aac1b2ed7d53835eaeec212ed41ea47da53a
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    35
  |/
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    36
  o  base d20a80d4def38df63a4b330b7fb688f3d4cae1e3
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    37
  
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    38
  $ hg debugobsolete 9d73aac1b2ed7d53835eaeec212ed41ea47da53a f89bcc95eba5174b1ccc3e33a82e84c96e8338ee
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    39
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    40
Push it. The bundle should not refer to the extinct changeset.
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    41
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    42
  $ hg init ../other
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    43
  $ hg push ../other
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    44
  pushing to ../other
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    45
  searching for changes
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    46
  adding changesets
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    47
  adding manifests
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    48
  adding file changes
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    49
  added 2 changesets with 2 changes to 2 files
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    50
  $ hg -R ../other verify
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    51
  checking changesets
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    52
  checking manifests
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    53
  crosschecking files in changesets and manifests
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    54
  checking files
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    55
  2 files, 2 changesets, 2 total revisions
18498
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    56
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    57
Adding a changeset going extinct locally
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    58
------------------------------------------
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    59
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    60
Pull a changeset that will immediatly goes extinct (because you already have a
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    61
marker to obsolete him)
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    62
(test resolution of issue3788)
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    63
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    64
  $ hg phase --draft --force f89bcc95eba5
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    65
  $ hg phase -R ../other --draft --force f89bcc95eba5
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    66
  $ hg commit --amend -m "A''"
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    67
  $ hg --hidden --config extensions.mq= strip  --no-backup f89bcc95eba5
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    68
  $ hg pull ../other
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    69
  pulling from ../other
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    70
  searching for changes
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    71
  adding changesets
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    72
  adding manifests
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    73
  adding file changes
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    74
  added 1 changesets with 0 changes to 1 files (+1 heads)
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
    75
  (run 'hg heads' to see heads, 'hg merge' to merge)
18499
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
    76
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
    77
check that bundle is not affected
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
    78
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
    79
  $ hg bundle --hidden --rev f89bcc95eba5 --base "f89bcc95eba5^" ../f89bcc95eba5.hg
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
    80
  1 changesets found
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
    81
  $ hg --hidden --config extensions.mq= strip --no-backup f89bcc95eba5
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
    82
  $ hg unbundle ../f89bcc95eba5.hg
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
    83
  adding changesets
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
    84
  adding manifests
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
    85
  adding file changes
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
    86
  added 1 changesets with 0 changes to 1 files (+1 heads)
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
    87
  (run 'hg heads' to see heads)