/stdhome

To get this branch, use:
bzr branch http://bzr.ed.am/stdhome

« back to all changes in this revision

Viewing changes to lib/stdhome/deployment.py

  • Committer: Tim Marston
  • Date: 2016-04-10 20:16:16 UTC
  • Revision ID: tim@ed.am-20160410201616-xyd9aeyc7xf6tqg5
fixed tools to use ~/tmp/stdhome-dev as dev home-dir

Show diffs side-by-side

added added

removed removed

Lines of Context:
43
43
                """
44
44
 
45
45
                # list of files that were copied-in (or at least given the opportunity
46
 
        # to be) and updated through the vcs update.  This means that, while
47
 
        # there may have been conflicts during the update (which the user will
48
 
        # have to have dealt with in the repo), any conflicts arising with these
49
 
        # files in the home directory are no longer important and can be
50
 
        # ignored.  In short, this is a list of files that can safely be
51
 
        # deployed, regardless of the state of the home directory.
 
46
                # to be) and updated through the vcs update.  This means that, while
 
47
                # there may have been conflicts during the update (which the user will
 
48
                # have to have dealt with in the repo), any conflicts arising with these
 
49
                # files in the home directory are no longer important and can be
 
50
                # ignored.  In short, this is a list of files that can safely be
 
51
                # deployed, regardless of the state of the home directory.
52
52
                self.imported_files = None
53
53
 
54
54
                # list of files that were affected by a recent vcs update (so only these
72
72
                state = json.loads( f.read() )
73
73
 
74
74
                # unpack deployment state
75
 
                self.imported_files = state['imported_files'];
76
 
                self.initial_revno = state['initial_revno'];
77
 
                self.affected_files = state['affected_files'];
 
75
                if 'imported_files' in state:
 
76
                        self.imported_files = state['imported_files'];
 
77
                if 'initial_revno' in state:
 
78
                        self.initial_revno = state['initial_revno'];
 
79
                if 'affected_files' in state:
 
80
                        self.affected_files = state['affected_files'];
78
81
 
79
82
 
80
83
        def save_deployment_state( self ):
188
191
                return walker.changed + walker.obstructed
189
192
 
190
193
 
191
 
        def copy_out( self ):
 
194
        def copy_out( self, quiet ):
192
195
                """Copy-out changed files from the repository to the home directory.  If the
193
196
                deployment state includes a list of affected files, then only those
194
197
                files are copied-out.
203
206
 
204
207
                # copy out
205
208
                if the.verbose >= 1: print "exporting files..."
206
 
                walker = CopyOutWalker( self.affected_files )
 
209
                walker = CopyOutWalker( self.affected_files, quiet )
207
210
                walker.walk()
208
211
 
209
212
                # clear state
217
220
                                self.msg = "there is an ongoing deployment"
218
221
                        else:
219
222
                                self.msg = "there is no ongoing deployment"
220
 
 
221
 
 
222
 
        class CopyInConflicts( the.program.FatalError ):
223
 
 
224
 
                def __init__( self, conflicts ):
225
 
                        self.conflicts = conflicts