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