~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/blackbox.py

  • Committer: Martin Pool
  • Date: 2005-08-25 05:58:05 UTC
  • mfrom: (974.1.36)
  • Revision ID: mbp@sourcefrog.net-20050825055805-8c892bc3c2d75131
- merge aaron's merge improvements:

  * When merging, pull in all missing revisions from the source
    branch. 

  * Detect common ancestors by looking at the whole ancestry graph, 
    rather than just mainline history.

  Some changes to reconcile this with parallel updates to the test and
  trace code.

aaron.bentley@utoronto.ca-20050823052551-f3401a8b57d9126f

Show diffs side-by-side

added added

removed removed

Lines of Context:
349
349
        runbzr('log --forward')
350
350
 
351
351
        runbzr('info')
 
352
 
 
353
 
 
354
 
 
355
def example_branch(test):
 
356
    test.runbzr('init')
 
357
 
 
358
    file('hello', 'wt').write('foo')
 
359
    test.runbzr('add hello')
 
360
    test.runbzr('commit -m setup hello')
 
361
 
 
362
    file('goodbye', 'wt').write('baz')
 
363
    test.runbzr('add goodbye')
 
364
    test.runbzr('commit -m setup goodbye')
 
365
 
 
366
 
 
367
class RevertCommand(ExternalBase):
 
368
    def runTest(self):
 
369
        example_branch(self)
 
370
        file('hello', 'wt').write('bar')
 
371
        file('goodbye', 'wt').write('qux')
 
372
        self.runbzr('revert hello')
 
373
        self.check_file_contents('hello', 'foo')
 
374
        self.check_file_contents('goodbye', 'qux')
 
375
        self.runbzr('revert')
 
376
        self.check_file_contents('goodbye', 'baz')
 
377
 
 
378
 
 
379
class MergeCommand(ExternalBase):
 
380
    def runTest(self):
 
381
        from bzrlib.branch import Branch
 
382
        import os
 
383
        os.mkdir('a')
 
384
        os.chdir('a')
 
385
        example_branch(self)
 
386
        os.chdir('..')
 
387
        self.runbzr('branch a b')
 
388
        os.chdir('b')
 
389
        file('goodbye', 'wt').write('quux')
 
390
        self.runbzr(['commit',  '-m',  "more u's are always good"])
 
391
 
 
392
        os.chdir('../a')
 
393
        file('hello', 'wt').write('quuux')
 
394
        # We can't merge when there are in-tree changes
 
395
        self.runbzr('merge ../b', retcode=1)
 
396
        self.runbzr(['commit', '-m', "Like an epidemic of u's"])
 
397
        self.runbzr('merge ../b')
 
398
        self.check_file_contents('goodbye', 'quux')
 
399
        # Merging a branch pulls its revision into the tree
 
400
        a = Branch('.')
 
401
        b = Branch('../b')
 
402
        a.get_revision_xml(b.last_patch())
 
403
        print "Pending: %s" % a.pending_merges()
 
404
#        assert a.pending_merges() == [b.last_patch()], "Assertion %s %s" \
 
405
#        % (a.pending_merges(), b.last_patch())
 
406