~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to shelf_ui.py

  • Committer: Aaron Bentley
  • Date: 2008-10-11 14:18:19 UTC
  • mto: This revision was merged to the branch mainline in revision 3823.
  • Revision ID: aaron@aaronbentley.com-20081011141819-w3vbnau9b8rk3fyq
Support selecting files to shelve

Show diffs side-by-side

added added

removed removed

Lines of Context:
39
39
class Shelver(object):
40
40
 
41
41
    def __init__(self, work_tree, target_tree, path, auto=False,
42
 
                 auto_apply=False):
 
42
                 auto_apply=False, file_list=None):
43
43
        self.work_tree = work_tree
44
44
        self.target_tree = target_tree
45
45
        self.path = path
50
50
        self.manager = work_tree.get_shelf_manager()
51
51
        self.auto = auto
52
52
        self.auto_apply = auto_apply
 
53
        self.file_list = file_list
53
54
 
54
55
    @classmethod
55
 
    def from_args(klass, revision=None, all=False):
 
56
    def from_args(klass, revision=None, all=False, file_list=None):
56
57
        tree, path = workingtree.WorkingTree.open_containing('.')
57
58
        target_tree = builtins._get_one_revision_tree('shelf2', revision,
58
59
            tree.branch, tree)
59
 
        return klass(tree, target_tree, path, all, all)
 
60
        return klass(tree, target_tree, path, all, all, file_list)
60
61
 
61
62
    def run(self):
62
 
        creator = shelf.ShelfCreator(self.work_tree, self.target_tree)
 
63
        creator = shelf.ShelfCreator(self.work_tree, self.target_tree,
 
64
                                     self.file_list)
63
65
        self.tempdir = tempfile.mkdtemp()
64
66
        changes_shelved = 0
65
67
        try: