/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/command/init.py

  • Committer: Tim Marston
  • Date: 2016-02-13 14:18:32 UTC
  • Revision ID: tim@ed.am-20160213141832-o0odt4p3nuj97211
switched init command (and update command) to checking for conflicts prior to
deployment.copy_out(), and removed remaining references to CopyInConflict
(supposedly done in r24)

Show diffs side-by-side

added added

removed removed

23
23
from command import Command
24
24
import stdhome.the as the
25
25
from stdhome.deployment import Deployment
26
 
from stdhome.subprocess import Popen
27
26
 
28
27
 
29
28
class InitCommand( Command ):
58
57
                                        raise the.program.FatalError(
59
58
                                                'invalid repository name: ' + optarg )
60
59
                                the.repo = optarg
61
 
                        elif opt in [ '--verbose', '-v' ]:
62
 
                                the.verbose += 1
63
60
                        elif opt == "--help":
64
61
                                self.print_help()
65
 
                
 
62
 
66
63
                # discard first argument (the command)
67
64
                args.pop( 0 )
68
65
 
88
85
 
89
86
                        # expand url if it's a simple hostname
90
87
                        if re.match( '^[0-9a-zA-z.]+$', self.url ):
91
 
                                self.url = 'sftp://%s/%s/%s' % \
 
88
                                self.url = 'bzr+ssh://%s/%s/%s' % \
92
89
                                                   ( self.url, the.dir, the.repo.name )
93
90
 
94
91
                        # initialise deployment (with an empty repo)
109
106
 
110
107
                                raise e
111
108
 
 
109
                        # check for deployment conclicts
 
110
                        conflicts = deployment.get_conflicts()
 
111
                        if conflicts:
 
112
                                message += 'deployment conflicts:\n  %s' % \
 
113
                                                   '\n  '.join( conflicts )
 
114
 
112
115
                        # perform deployment
113
 
                        try:
114
 
                                deployment.copy_out()
115
 
                        except deployment.Conflict as e:
116
 
                                raise the.program.FatalError( e.msg )
 
116
                        deployment.copy_out()
117
117
 
118
118
                else:
119
119