~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_log.py

  • Committer: wang
  • Date: 2006-10-29 13:41:32 UTC
  • mto: (2104.4.1 wang_65714)
  • mto: This revision was merged to the branch mainline in revision 2109.
  • Revision ID: wang@ubuntu-20061029134132-3d7f4216f20c4aef
Replace python's difflib by patiencediff because the worst case 
performance is cubic for difflib and people commiting large data 
files are often hurt by this. The worst case performance of patience is 
quadratic. Fix bug 65714.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005 by Canonical Ltd
 
1
# Copyright (C) 2005 Canonical Ltd
2
2
# -*- coding: utf-8 -*-
3
3
#
4
4
# This program is free software; you can redistribute it and/or modify
89
89
        log = self.runbzr("log -r 1..3")[0]
90
90
        self.assertEquals(self.full_log, log)
91
91
 
 
92
    def test_log_revno_n_path(self):
 
93
        os.mkdir('branch1')
 
94
        os.chdir('branch1')
 
95
        self._prepare()
 
96
        os.chdir('..')
 
97
        os.mkdir('branch2')
 
98
        os.chdir('branch2')
 
99
        self._prepare()
 
100
        os.chdir('..')
 
101
        log = self.runbzr("log -r revno:2:branch1..revno:3:branch2",
 
102
                          retcode=3)[0]
 
103
        log = self.runbzr("log -r revno:1:branch2..revno:3:branch2")[0]
 
104
        self.assertEquals(self.full_log, log)
 
105
        log = self.runbzr("log -r revno:1:branch2")[0]
 
106
        self.assertTrue('revno: 1\n' in log)
 
107
        self.assertTrue('revno: 2\n' not in log)
 
108
        self.assertTrue('branch nick: branch2\n' in log)
 
109
        self.assertTrue('branch nick: branch1\n' not in log)
 
110
        
92
111
 
93
112
class TestLogMerges(ExternalBase):
94
113
 
117
136
#message:
118
137
#  merge branch 1
119
138
#    ------------------------------------------------------------
 
139
#    revno: 1.1.2  
120
140
#    merged: foo@example.com-20060328113140-91f43cfb46dc2863
121
141
#    committer: Robert Collins <foo@example.com>
122
142
#    branch nick: child
124
144
#    message:
125
145
#      merge branch 2
126
146
#        ------------------------------------------------------------
 
147
#        revno: 1.1.1.1
127
148
#        merged: foo@example.com-20060328113140-1ba24f850a0ef573
128
149
#        committer: Robert Collins <foo@example.com>
129
150
#        branch nick: smallerchild
131
152
#        message:
132
153
#          branch 2
133
154
#    ------------------------------------------------------------
 
155
#    revno: 1.1.1
134
156
#    merged: foo@example.com-20060328113140-5749a4757a8ac792
135
157
#    committer: Robert Collins <foo@example.com>
136
158
#    branch nick: child
146
168
#  first post
147
169
#""", out)
148
170
        # but we dont have a nice pattern matcher hooked up yet, so:
149
 
        # we check for the indenting of the commit message:
 
171
        # we check for the indenting of the commit message and the 
 
172
        # revision numbers 
 
173
        self.assertTrue('revno: 2' in out)
150
174
        self.assertTrue('  merge branch 1' in out)
 
175
        self.assertTrue('    revno: 1.1.2' in out)
151
176
        self.assertTrue('      merge branch 2' in out)
 
177
        self.assertTrue('        revno: 1.1.1.1' in out)
152
178
        self.assertTrue('          branch 2' in out)
 
179
        self.assertTrue('    revno: 1.1.1' in out)
153
180
        self.assertTrue('      branch 1' in out)
 
181
        self.assertTrue('revno: 1' in out)
154
182
        self.assertTrue('  first post' in out)
155
183
        self.assertEqual('', err)
156
184