~abentley/bzrtools/bzrtools.dev

« back to all changes in this revision

Viewing changes to shelf.py

  • Committer: Aaron Bentley
  • Date: 2006-08-02 03:23:09 UTC
  • mto: This revision was merged to the branch mainline in revision 425.
  • Revision ID: aaron.bentley@utoronto.ca-20060802032309-6ad0139e61304b19
Etienne Goyer: remove unused shebangs, update packaging

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
import sys
3
3
import subprocess
4
4
from datetime import datetime
5
 
from errors import CommandError, PatchFailed, PatchInvokeError
 
5
from errors import CommandError, PatchFailed
6
6
from hunk_selector import ShelveHunkSelector, UnshelveHunkSelector
7
7
from patchsource import PatchSource, FilePatchSource
8
8
from bzrlib.osutils import rename
132
132
            return None
133
133
        return patch[len(self.MESSAGE_PREFIX):patch.index('\n')]
134
134
 
135
 
    def unshelve(self, patch_source, patch_name=None, all=False, force=False,
136
 
                 no_color=False):
 
135
    def unshelve(self, patch_source, patch_name=None, all=False, force=False):
137
136
        self._check_upgrade()
138
137
 
139
 
        if no_color is False:
140
 
            color = None
141
 
        else:
142
 
            color = False
143
138
        if patch_name is None:
144
139
            patch_path = self.last_patch()
145
140
        else:
153
148
            to_unshelve = patches
154
149
            to_remain = []
155
150
        else:
156
 
            hs = UnshelveHunkSelector(patches, color)
157
 
            to_unshelve, to_remain = hs.select()
 
151
            to_unshelve, to_remain = UnshelveHunkSelector(patches).select()
158
152
 
159
153
        if len(to_unshelve) == 0:
160
154
            raise CommandError('Nothing to unshelve')
193
187
                f.write(str(patch))
194
188
            f.close()
195
189
 
196
 
    def shelve(self, patch_source, all=False, message=None, no_color=False):
 
190
    def shelve(self, patch_source, all=False, message=None):
197
191
        self._check_upgrade()
198
 
        if no_color is False:
199
 
            color = None
200
 
        else:
201
 
            color = False
202
192
 
203
193
        patches = patch_source.readpatches()
204
194
 
205
195
        if all:
206
196
            to_shelve = patches
207
197
        else:
208
 
            to_shelve = ShelveHunkSelector(patches, color).select()[0]
 
198
            to_shelve = ShelveHunkSelector(patches).select()[0]
209
199
 
210
200
        if len(to_shelve) == 0:
211
201
            raise CommandError('Nothing to shelve')
255
245
        else:
256
246
            stdout = stderr = None
257
247
 
258
 
        try:
259
 
            process = subprocess.Popen(args, stdin=subprocess.PIPE,
260
 
                                       stdout=stdout, stderr=stderr)
261
 
            for patch in patches:
262
 
                process.stdin.write(str(patch))
263
 
 
264
 
        except IOError, e:
265
 
            raise PatchInvokeError(e, process.stderr.read())
 
248
        process = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=stdout,
 
249
                        stderr=stderr)
 
250
        for patch in patches:
 
251
            process.stdin.write(str(patch))
266
252
 
267
253
        process.communicate()
268
254