~abentley/bzrtools/bzrtools.dev

« back to all changes in this revision

Viewing changes to shelf.py

  • Committer: aaron.bentley at utoronto
  • Date: 2005-08-20 01:31:51 UTC
  • Revision ID: aaron.bentley@utoronto.ca-20050820013151-f3dced5819fee0c5
Added -r and file list support to shelve

Show diffs side-by-side

added added

removed removed

Lines of Context:
102
102
class QuitException(Exception):
103
103
    pass
104
104
 
105
 
def shelve(message = None):
106
 
    patches = parse_patches(run_bzr('diff'))
 
105
def shelve(message = None, revision = None, file_list = None):
 
106
    cmd = ['diff']
 
107
    if revision is not None:
 
108
        cmd.extend(['--revision', str(revision[0])])
 
109
    if file_list is not None:
 
110
        cmd.extend(file_list)
 
111
    patches = parse_patches(run_bzr(cmd))
107
112
    try:
108
113
        patches = HunkSelector(patches).select()
109
114
    except QuitException:
152
157
class cmd_shelve(Command):
153
158
    """Temporarily remove some changes from the current tree.
154
159
    Use 'unshelve' to restore these changes.
 
160
 
 
161
    If filenames are specified, only changes to those files will be unshelved.
 
162
    If a revision is specified, all changes since that revision will may be
 
163
    unshelved.
155
164
    """
156
 
    takes_options = ['message']
157
 
    def run(self, message=None):
158
 
        return shelve(message)
 
165
    takes_args = ['file+']
 
166
    takes_options = ['message', 'revision']
 
167
    def run(self, file_list=None, message=None, revision=None):
 
168
        return shelve(message=message, file_list=file_list, revision=revision)
159
169
 
160
170
class cmd_unshelve(Command):
161
171
    """Restore previously-shelved changes to the current tree.