103
103
# copy-in changes to repo
105
105
deployment.copy_in()
106
except deployment.CopyInConflicts as e:
107
raise the.program.FatalError(
108
'Files in %s differ too severly from %s:\n %s\n' % \
109
( the.fsdir, the.repo.dir, '\n '.join( e.conflicts ) ) )
106
except( deployment.Conflict, deployment.DeploymentOngoing ) as e:
107
raise the.program.FatalError( e.msg )
111
109
# perform vcs update
112
110
if the.verbose: print "updating %s" % the.repo.dir
113
updated_files = the.repo.vcs.update()
111
the.repo.vcs.update()
113
# check for conflicts
117
# check for conflicts in repo
118
115
files = the.repo.vcs.get_conflicts()
120
117
message += 'Conflicts in %s:\n %s' % \
121
118
( the.repo.name, '\n '.join( files ) )
123
# check for deployment conclicts
124
conflicts = deployment.get_conflicts( updated_files )
119
files = deployment.get_conflicts()
126
121
message += 'Deployment conflicts:\n %s' % \
127
'\n '.join( conflicts )
129
# stop if there are conflicts
131
124
raise the.program.FatalError(
132
125
'there were conflicts...\n' + message )
134
127
# copy-out changes from repo
135
deployment.copy_out()
129
deployment.copy_out()
130
except deployment.Conflict as e:
131
raise the.program.FatalError( e.msg )
137
133
# now we've copied-out, revert any copied-in changes!
138
134
if the.verbose: print "reverting %s" % the.repo.dir