21
21
from bzrlib import (
28
25
from bzrlib.branch import Branch
29
from bzrlib.bzrdir import BzrDir, BzrDirMetaFormat1
26
from bzrlib.bzrdir import BzrDirMetaFormat1
30
27
from bzrlib.commit import Commit, NullCommitReporter
31
28
from bzrlib.config import BranchConfig
32
29
from bzrlib.errors import (PointlessCommit, BzrError, SigningFailed,
34
from bzrlib.tests import SymlinkFeature, TestCaseWithTransport
35
from bzrlib.workingtree import WorkingTree
31
from bzrlib.tests import (
33
TestCaseWithTransport,
38
38
# TODO: Test commit with some added, and added-but-missing files
108
108
self.assertEqual('version 2', text)
110
def test_commit_lossy_native(self):
111
"""Attempt a lossy commit to a native branch."""
112
wt = self.make_branch_and_tree('.')
114
file('hello', 'w').write('hello world')
116
revid = wt.commit(message='add hello', rev_id='revid', lossy=True)
117
self.assertEquals('revid', revid)
119
def test_commit_lossy_foreign(self):
120
"""Attempt a lossy commit to a foreign branch."""
121
test_foreign.register_dummy_foreign_for_test(self)
122
wt = self.make_branch_and_tree('.',
123
format=test_foreign.DummyForeignVcsDirFormat())
125
file('hello', 'w').write('hello world')
127
revid = wt.commit(message='add hello', lossy=True,
128
timestamp=1302659388, timezone=0)
129
self.assertEquals('dummy-v1:1302659388.0-0-UNKNOWN', revid)
131
def test_commit_bound_lossy_foreign(self):
132
"""Attempt a lossy commit to a bzr branch bound to a foreign branch."""
133
test_foreign.register_dummy_foreign_for_test(self)
134
foreign_branch = self.make_branch('foreign',
135
format=test_foreign.DummyForeignVcsDirFormat())
136
wt = foreign_branch.create_checkout("local")
138
file('local/hello', 'w').write('hello world')
140
revid = wt.commit(message='add hello', lossy=True,
141
timestamp=1302659388, timezone=0)
142
self.assertEquals('dummy-v1:1302659388.0-0-0', revid)
143
self.assertEquals('dummy-v1:1302659388.0-0-0',
144
foreign_branch.last_revision())
145
self.assertEquals('dummy-v1:1302659388.0-0-0',
146
wt.branch.last_revision())
110
148
def test_missing_commit(self):
111
149
"""Test a commit with a missing file"""
112
150
wt = self.make_branch_and_tree('.')
353
391
def test_strict_commit_without_unknowns(self):
354
392
"""Try and commit with no unknown files and strict = True,
356
from bzrlib.errors import StrictCommitFailed
357
394
wt = self.make_branch_and_tree('.')
359
396
file('hello', 'w').write('hello world')
385
422
wt = self.make_branch_and_tree('.')
386
423
branch = wt.branch
387
424
wt.commit("base", allow_pointless=True, rev_id='A')
388
self.failIf(branch.repository.has_signature_for_revision_id('A'))
425
self.assertFalse(branch.repository.has_signature_for_revision_id('A'))
390
427
from bzrlib.testament import Testament
391
428
# monkey patch gpg signing mechanism
409
446
wt = self.make_branch_and_tree('.')
410
447
branch = wt.branch
411
448
wt.commit("base", allow_pointless=True, rev_id='A')
412
self.failIf(branch.repository.has_signature_for_revision_id('A'))
449
self.assertFalse(branch.repository.has_signature_for_revision_id('A'))
414
from bzrlib.testament import Testament
415
451
# monkey patch gpg signing mechanism
416
452
bzrlib.gpg.GPGStrategy = bzrlib.gpg.DisabledGPGStrategy
417
453
config = MustSignConfig(branch)
424
460
branch = Branch.open(self.get_url('.'))
425
461
self.assertEqual(branch.revision_history(), ['A'])
426
self.failIf(branch.repository.has_revision('B'))
462
self.assertFalse(branch.repository.has_revision('B'))
428
464
bzrlib.gpg.GPGStrategy = oldstrategy