annotate tests/test-merge-force.t @ 14050:9e8a9d45945c stable

subrepo: handle svn tracked/unknown directory collisions This happens more often than expected. Say you have an svn subrepository with python code. Python would have generated unknown .pyc files. Now, you rebase this setup on a revision where a directory containing python code does not exist. Subversion is first asked to remove this directory when updating, but will not because it contains untracked items. Then it will have to bring back the directory after the merge but will fail because it now collides with an untracked directory. Using --force is not very elegant and only works with svn >= 1.5 but the only alternative I can think of is to write our own purge command for subversion.
author Patrick Mezard <pmezard@gmail.com>
date Fri, 04 Mar 2011 14:00:49 +0100
parents 4134686b83e1
children 6c8573dd1b6b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12256
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
1 $ hg init
6255
ae83d927c629 add a test for a375ffc2aa1b
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
2
12256
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
3 $ echo a > a
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
4 $ hg ci -qAm 'add a'
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
5
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
6 $ echo b > b
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
7 $ hg ci -qAm 'add b'
6255
ae83d927c629 add a test for a375ffc2aa1b
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
8
12256
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
9 $ hg up -qC 0
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
10 $ hg rm a
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
11 $ hg ci -m 'rm a'
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
12 created new head
6255
ae83d927c629 add a test for a375ffc2aa1b
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
13
12256
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
14 $ hg up -qC 1
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
15 $ rm a
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
16
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
17 Local deleted a file, remote removed
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
18
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
19 Should fail, since there are deleted files:
6255
ae83d927c629 add a test for a375ffc2aa1b
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
20
12256
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
21 $ hg merge
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
22 abort: outstanding uncommitted changes (use 'hg status' to list changes)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12256
diff changeset
23 [255]
12256
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
24
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
25 Should succeed with --force:
6255
ae83d927c629 add a test for a375ffc2aa1b
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
26
12256
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
27 $ hg -v merge --force
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
28 resolving manifests
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
29 removing a
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
30 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
31 (branch merge, don't forget to commit)
6255
ae83d927c629 add a test for a375ffc2aa1b
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
32
12256
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
33 Should show 'a' as removed:
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
34
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
35 $ hg status
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
36 R a
6255
ae83d927c629 add a test for a375ffc2aa1b
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
37
12256
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
38 $ hg ci -m merge
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
39
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
40 Should not show 'a':
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
41
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
42 $ hg manifest
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
43 b
2a06cb547be8 tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents: 6256
diff changeset
44