~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/testworkingtree.py

  • Committer: Robert Collins
  • Date: 2005-10-18 12:53:07 UTC
  • mfrom: (1442.1.70)
  • Revision ID: robertc@robertcollins.net-20051018125307-730e47c1a034cb6f
Merge in various improvements to pull, testing and configuration.

* 'bzr pull' now accepts '--clobber' which will discard local changes
  and make this branch identical to the source branch. (Robert Collins)

* There is a new method for TestCaseInTempDir, assertFileEqual, which
  will check that a given content is equal to the content of the named
  file. (Robert Collins)

* 'pull' has been factored out of the command as WorkingTree.pull().
  A new option to WorkingTree.pull has been added, clobber, which will
  ignore diverged history and pull anyway.
  (Robert Collins)

* config.Config has a 'get_user_option' call that accepts an option name.
  This will be looked up in branches.conf and bazaar.conf as normal.
  It is intended that this be used by plugins to support options -
  options of built in programs should have specific methods on the config.
  (Robert Collins)

Show diffs side-by-side

added added

removed removed

Lines of Context:
93
93
        self.assertEqual('w', tree.branch._lock_mode)
94
94
        tree.unlock()
95
95
        self.assertEqual(None, tree.branch._lock_count)
 
96
 
 
97
    def get_pullable_branches(self):
 
98
        self.build_tree(['from/', 'from/file', 'to/'])
 
99
        br_a = Branch.initialize('from')
 
100
        br_a.add('file')
 
101
        br_a.commit('foo', rev_id='A')
 
102
        br_b = Branch.initialize('to')
 
103
        return br_a, br_b
 
104
 
 
105
    def test_pull(self):
 
106
        br_a, br_b = self.get_pullable_branches()
 
107
        br_b.working_tree().pull(br_a)
 
108
        self.failUnless(br_b.has_revision('A'))
 
109
        self.assertEqual(['A'], br_b.revision_history())
 
110
 
 
111
    def test_pull_clobbers(self):
 
112
        br_a, br_b = self.get_pullable_branches()
 
113
        br_b.commit('foo', rev_id='B')
 
114
        self.assertEqual(['B'], br_b.revision_history())
 
115
        br_b.working_tree().pull(br_a, clobber=True)
 
116
        self.failUnless(br_b.has_revision('A'))
 
117
        self.failUnless(br_b.has_revision('B'))
 
118
        self.assertEqual(['A'], br_b.revision_history())