Mercurial > hgsubversion
annotate tests/test_single_dir_clone.py @ 820:09f7c1c09207
authormap: only append new or changed authors
Previously, specifying an extra authormap with the
hgsubversion.authormap configuration variable would cause the entirety
of the other authormap to be appended to the one in '.hg/svn/authors'
on each subversion access (e.g. hg in/out/pull/push).
This also changes the authormap to preserve comments and the like in
the authormap file.
author | maugustin <maugustin@gmx.net> |
---|---|
date | Sat, 23 Jul 2011 19:33:50 -0500 |
parents | f07bfd66db13 |
children | e9af7eba88db |
rev | line source |
---|---|
643
d2ef7220a079
tests: import test_util as the first module in all relevant tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
577
diff
changeset
|
1 import test_util |
d2ef7220a079
tests: import test_util as the first module in all relevant tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
577
diff
changeset
|
2 |
531
cf4fe45bf8fd
Change all instantiations of IOError to set both errno and strerror.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
502
diff
changeset
|
3 import errno |
499
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
4 import shutil |
577
930bb6df19a0
tests: make sure single dir clone tests get run by non-nose users
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
531
diff
changeset
|
5 import unittest |
499
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
6 |
500
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
7 from mercurial import commands |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
8 from mercurial import context |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
9 from mercurial import hg |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
10 from mercurial import node |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
11 from mercurial import ui |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
12 |
499
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
13 class TestSingleDir(test_util.TestBase): |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
14 def test_clone_single_dir_simple(self): |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
15 repo = self._load_fixture_and_fetch('branch_from_tag.svndump', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
16 stupid=False, |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
17 layout='single', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
18 subdir='') |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
19 self.assertEqual(repo.branchtags().keys(), ['default']) |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
20 self.assertEqual(repo['tip'].manifest().keys(), |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
21 ['trunk/beta', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
22 'tags/copied_tag/alpha', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
23 'trunk/alpha', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
24 'tags/copied_tag/beta', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
25 'branches/branch_from_tag/alpha', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
26 'tags/tag_r3/alpha', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
27 'tags/tag_r3/beta', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
28 'branches/branch_from_tag/beta']) |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
29 |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
30 def test_auto_detect_single(self): |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
31 repo = self._load_fixture_and_fetch('branch_from_tag.svndump', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
32 stupid=False, |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
33 layout='auto') |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
34 self.assertEqual(repo.branchtags().keys(), ['default', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
35 'branch_from_tag']) |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
36 oldmanifest = test_util.filtermanifest(repo['default'].manifest().keys()) |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
37 # remove standard layout |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
38 shutil.rmtree(self.wc_path) |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
39 # try again with subdir to get single dir clone |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
40 repo = self._load_fixture_and_fetch('branch_from_tag.svndump', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
41 stupid=False, |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
42 layout='auto', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
43 subdir='trunk') |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
44 self.assertEqual(repo.branchtags().keys(), ['default', ]) |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
45 self.assertEqual(repo['default'].manifest().keys(), oldmanifest) |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
46 |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
47 def test_externals_single(self): |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
48 repo = self._load_fixture_and_fetch('externals.svndump', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
49 stupid=False, |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
50 layout='single') |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
51 for rev in repo: |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
52 assert '.hgsvnexternals' not in repo[rev].manifest() |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
53 return # TODO enable test when externals in single are fixed |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
54 expect = """[.] |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
55 -r2 ^/externals/project2@2 deps/project2 |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
56 [subdir] |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
57 ^/externals/project1 deps/project1 |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
58 [subdir2] |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
59 ^/externals/project1 deps/project1 |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
60 """ |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
61 test = 2 |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
62 self.assertEqual(self.repo[test]['.hgsvnexternals'].data(), expect) |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
63 |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
64 def test_externals_single_whole_repo(self): |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
65 # This is the test which demonstrates the brokenness of externals |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
66 return # TODO enable test when externals in single are fixed |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
67 repo = self._load_fixture_and_fetch('externals.svndump', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
68 stupid=False, |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
69 layout='single', |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
70 subdir='') |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
71 for rev in repo: |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
72 rc = repo[rev] |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
73 if '.hgsvnexternals' in rc: |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
74 extdata = rc['.hgsvnexternals'].data() |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
75 assert '[.]' not in extdata |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
76 print extdata |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
77 expect = '' # Not honestly sure what this should be... |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
78 test = 4 |
1fd3cfa47c5e
Support for single-directory clones.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
79 self.assertEqual(self.repo[test]['.hgsvnexternals'].data(), expect) |
500
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
80 |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
81 def test_push_single_dir(self): |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
82 # Tests simple pushing from default branch to a single dir repo |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
83 repo = self._load_fixture_and_fetch('branch_from_tag.svndump', |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
84 stupid=False, |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
85 layout='single', |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
86 subdir='') |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
87 def file_callback(repo, memctx, path): |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
88 if path == 'adding_file': |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
89 return context.memfilectx(path=path, |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
90 data='foo', |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
91 islink=False, |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
92 isexec=False, |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
93 copied=False) |
793
e698be84c22d
pushmod: fix binary files svn:mime-type (issue255)
Patrick Mezard <pmezard@gmail.com>
parents:
712
diff
changeset
|
94 elif path == 'adding_binary': |
e698be84c22d
pushmod: fix binary files svn:mime-type (issue255)
Patrick Mezard <pmezard@gmail.com>
parents:
712
diff
changeset
|
95 return context.memfilectx(path=path, |
e698be84c22d
pushmod: fix binary files svn:mime-type (issue255)
Patrick Mezard <pmezard@gmail.com>
parents:
712
diff
changeset
|
96 data='\0binary', |
e698be84c22d
pushmod: fix binary files svn:mime-type (issue255)
Patrick Mezard <pmezard@gmail.com>
parents:
712
diff
changeset
|
97 islink=False, |
e698be84c22d
pushmod: fix binary files svn:mime-type (issue255)
Patrick Mezard <pmezard@gmail.com>
parents:
712
diff
changeset
|
98 isexec=False, |
e698be84c22d
pushmod: fix binary files svn:mime-type (issue255)
Patrick Mezard <pmezard@gmail.com>
parents:
712
diff
changeset
|
99 copied=False) |
531
cf4fe45bf8fd
Change all instantiations of IOError to set both errno and strerror.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
502
diff
changeset
|
100 raise IOError(errno.EINVAL, 'Invalid operation: ' + path) |
500
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
101 ctx = context.memctx(repo, |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
102 (repo['tip'].node(), node.nullid), |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
103 'automated test', |
793
e698be84c22d
pushmod: fix binary files svn:mime-type (issue255)
Patrick Mezard <pmezard@gmail.com>
parents:
712
diff
changeset
|
104 ['adding_file', 'adding_binary'], |
500
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
105 file_callback, |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
106 'an_author', |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
107 '2009-10-19 18:49:30 -0500', |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
108 {'branch': 'default',}) |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
109 repo.commitctx(ctx) |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
110 hg.update(repo, repo['tip'].node()) |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
111 self.pushrevisions() |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
112 self.assertTrue('adding_file' in self.svnls('')) |
793
e698be84c22d
pushmod: fix binary files svn:mime-type (issue255)
Patrick Mezard <pmezard@gmail.com>
parents:
712
diff
changeset
|
113 self.assertEqual('application/octet-stream', |
e698be84c22d
pushmod: fix binary files svn:mime-type (issue255)
Patrick Mezard <pmezard@gmail.com>
parents:
712
diff
changeset
|
114 self.svnpropget('adding_binary', 'svn:mime-type')) |
e698be84c22d
pushmod: fix binary files svn:mime-type (issue255)
Patrick Mezard <pmezard@gmail.com>
parents:
712
diff
changeset
|
115 # Now add another commit and test mime-type being reset |
e698be84c22d
pushmod: fix binary files svn:mime-type (issue255)
Patrick Mezard <pmezard@gmail.com>
parents:
712
diff
changeset
|
116 changes = [('adding_binary', 'adding_binary', 'no longer binary')] |
e698be84c22d
pushmod: fix binary files svn:mime-type (issue255)
Patrick Mezard <pmezard@gmail.com>
parents:
712
diff
changeset
|
117 self.commitchanges(changes) |
e698be84c22d
pushmod: fix binary files svn:mime-type (issue255)
Patrick Mezard <pmezard@gmail.com>
parents:
712
diff
changeset
|
118 self.pushrevisions() |
e698be84c22d
pushmod: fix binary files svn:mime-type (issue255)
Patrick Mezard <pmezard@gmail.com>
parents:
712
diff
changeset
|
119 self.assertEqual('', self.svnpropget('adding_binary', 'svn:mime-type')) |
500
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
120 |
502
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
121 def test_push_single_dir_at_subdir(self): |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
122 repo = self._load_fixture_and_fetch('branch_from_tag.svndump', |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
123 stupid=False, |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
124 layout='single', |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
125 subdir='trunk') |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
126 def filectxfn(repo, memctx, path): |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
127 return context.memfilectx(path=path, |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
128 data='contents of %s' % path, |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
129 islink=False, |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
130 isexec=False, |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
131 copied=False) |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
132 ctx = context.memctx(repo, |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
133 (repo['tip'].node(), node.nullid), |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
134 'automated test', |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
135 ['bogus'], |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
136 filectxfn, |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
137 'an_author', |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
138 '2009-10-19 18:49:30 -0500', |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
139 {'branch': 'localhacking',}) |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
140 n = repo.commitctx(ctx) |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
141 self.assertEqual(self.repo['tip']['bogus'].data(), |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
142 'contents of bogus') |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
143 before = repo['tip'].hex() |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
144 hg.update(repo, self.repo['tip'].hex()) |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
145 self.pushrevisions() |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
146 self.assertNotEqual(before, self.repo['tip'].hex()) |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
147 self.assertEqual(self.repo['tip']['bogus'].data(), |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
148 'contents of bogus') |
89eda60c90b3
single: add another test for single-dir push
Augie Fackler <durin42@gmail.com>
parents:
500
diff
changeset
|
149 |
691
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
150 def test_push_single_dir_one_incoming_and_two_outgoing(self): |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
151 # Tests simple pushing from default branch to a single dir repo |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
152 # Pushes two outgoing over one incoming svn rev |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
153 # (used to cause an "unknown revision") |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
154 # This can happen if someone committed to svn since our last pull (race). |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
155 repo = self._load_fixture_and_fetch('branch_from_tag.svndump', |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
156 stupid=False, |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
157 layout='single', |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
158 subdir='trunk') |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
159 self._add_svn_rev({'trunk/alpha': 'Changed'}) |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
160 def file_callback(repo, memctx, path): |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
161 return context.memfilectx(path=path, |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
162 data='data of %s' % path, |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
163 islink=False, |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
164 isexec=False, |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
165 copied=False) |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
166 for fn in ['one', 'two']: |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
167 ctx = context.memctx(repo, |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
168 (repo['tip'].node(), node.nullid), |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
169 'automated test', |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
170 [fn], |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
171 file_callback, |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
172 'an_author', |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
173 '2009-10-19 18:49:30 -0500', |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
174 {'branch': 'default',}) |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
175 repo.commitctx(ctx) |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
176 hg.update(repo, repo['tip'].node()) |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
177 self.pushrevisions(expected_extra_back=1) |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
178 self.assertTrue('trunk/one' in self.svnls('')) |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
179 self.assertTrue('trunk/two' in self.svnls('')) |
a45365f1492a
push: fix case where we get >1 revs back after svn commit
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
643
diff
changeset
|
180 |
500
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
181 def test_push_single_dir_branch(self): |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
182 # Tests local branches pushing to a single dir repo. Creates a fork at |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
183 # tip. The default branch adds a file called default, while branch foo |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
184 # adds a file called foo, then tries to push the foo branch and default |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
185 # branch in that order. |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
186 repo = self._load_fixture_and_fetch('branch_from_tag.svndump', |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
187 stupid=False, |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
188 layout='single', |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
189 subdir='') |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
190 def file_callback(data): |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
191 def cb(repo, memctx, path): |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
192 if path == data: |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
193 return context.memfilectx(path=path, |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
194 data=data, |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
195 islink=False, |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
196 isexec=False, |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
197 copied=False) |
531
cf4fe45bf8fd
Change all instantiations of IOError to set both errno and strerror.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
502
diff
changeset
|
198 raise IOError(errno.EINVAL, 'Invalid operation: ' + path) |
500
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
199 return cb |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
200 |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
201 def commit_to_branch(name, parent): |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
202 repo.commitctx(context.memctx(repo, |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
203 (parent, node.nullid), |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
204 'automated test (%s)' % name, |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
205 [name], |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
206 file_callback(name), |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
207 'an_author', |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
208 '2009-10-19 18:49:30 -0500', |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
209 {'branch': name,})) |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
210 |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
211 parent = repo['tip'].node() |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
212 commit_to_branch('default', parent) |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
213 commit_to_branch('foo', parent) |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
214 hg.update(repo, repo['foo'].node()) |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
215 self.pushrevisions() |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
216 repo = self.repo # repo is outdated after the rebase happens, refresh |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
217 self.assertTrue('foo' in self.svnls('')) |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
218 self.assertEqual(repo.branchtags().keys(), ['default']) |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
219 # Have to cross to another branch head, so hg.update doesn't work |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
220 commands.update(ui.ui(), |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
221 self.repo, |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
222 self.repo.branchheads('default')[1], |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
223 clean=True) |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
224 self.pushrevisions() |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
225 self.assertTrue('default' in self.svnls('')) |
5ddc212dbc56
push: fix for single directory repository layouts
Daniel Tang <dytang@cs.purdue.edu>
parents:
499
diff
changeset
|
226 self.assertEquals(len(self.repo.branchheads('default')), 1) |
577
930bb6df19a0
tests: make sure single dir clone tests get run by non-nose users
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
531
diff
changeset
|
227 |
712
1041fb1bec8c
tests & help: fix compatibility with Mercurial 1.4 and earlier.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
701
diff
changeset
|
228 @test_util.requiresoption('branch') |
701
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
229 def test_push_single_dir_renamed_branch(self, stupid=False): |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
230 # Tests pulling and pushing with a renamed branch |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
231 # Based on test_push_single_dir |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
232 test_util.load_svndump_fixture(self.repo_path, |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
233 'branch_from_tag.svndump') |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
234 cmd = ['clone', '--layout=single', '--branch=flaf'] |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
235 if stupid: |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
236 cmd.append('--stupid') |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
237 cmd += [test_util.fileurl(self.repo_path), self.wc_path] |
813
f07bfd66db13
test_util: handle dispatch.dispatch() taking a request
Patrick Mezard <pmezard@gmail.com>
parents:
793
diff
changeset
|
238 test_util.dispatch(cmd) |
701
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
239 |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
240 def file_callback(repo, memctx, path): |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
241 if path == 'adding_file': |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
242 return context.memfilectx(path=path, |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
243 data='foo', |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
244 islink=False, |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
245 isexec=False, |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
246 copied=False) |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
247 raise IOError(errno.EINVAL, 'Invalid operation: ' + path) |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
248 ctx = context.memctx(self.repo, |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
249 (self.repo['tip'].node(), node.nullid), |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
250 'automated test', |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
251 ['adding_file'], |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
252 file_callback, |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
253 'an_author', |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
254 '2009-10-19 18:49:30 -0500', |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
255 {'branch': 'default',}) |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
256 self.repo.commitctx(ctx) |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
257 hg.update(self.repo, self.repo['tip'].node()) |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
258 self.pushrevisions() |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
259 self.assertTrue('adding_file' in self.svnls('')) |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
260 |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
261 self.assertEquals(set(['flaf']), |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
262 set(self.repo[i].branch() for i in self.repo)) |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
263 |
712
1041fb1bec8c
tests & help: fix compatibility with Mercurial 1.4 and earlier.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
701
diff
changeset
|
264 @test_util.requiresoption('branch') |
701
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
265 def test_push_single_dir_renamed_branch_stupid(self): |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
266 self.test_push_single_dir_renamed_branch(True) |
3b8088de027d
clone: replace the --singlebranch with overloading for --branch
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
691
diff
changeset
|
267 |
577
930bb6df19a0
tests: make sure single dir clone tests get run by non-nose users
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
531
diff
changeset
|
268 def suite(): |
930bb6df19a0
tests: make sure single dir clone tests get run by non-nose users
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
531
diff
changeset
|
269 all = [unittest.TestLoader().loadTestsFromTestCase(TestSingleDir)] |
930bb6df19a0
tests: make sure single dir clone tests get run by non-nose users
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
531
diff
changeset
|
270 return unittest.TestSuite(all) |