@@ -115,10 +115,13 @@ def prepare_source(repo, force, push_target=True):
115
115
for ref in remote.refs:
116
116
if ref.remote_head == target.name:
117
117
j.console.info('Switching to existing branch {} on repo {}'.format(target.name, repo['name']))
118
- client.repo.git.checkout('-B', target.name, 'origin/{}'.format(target.name))
118
+ origin = target.name
119
+ if force:
120
+ origin = source.name
121
+ client.repo.git.checkout('-B', target.name, 'origin/{}'.format(origin))
119
122
break
120
123
else:
121
- j.console.info('Creathing branch {} on repo {}'.format(target.name, repo['name']))
124
+ j.console.info('Creating branch {} on repo {}'.format(target.name, repo['name']))
122
125
client.repo.git.checkout('-B', target.name, 'origin/{}'.format(source.name))
123
126
if push_target:
124
127
args = ['-u', 'origin', target.name]
@@ -171,6 +174,8 @@ def main(manifest, force, dry):
171
174
args.append('-f')
172
175
args.append('origin')
173
176
if target.type == 'tag':
177
+ if not dry:
178
+ make_tag(client, target.name, force)
174
179
args.append('tag')
175
180
args.append(target.name)
176
181
if not dry:
@@ -205,18 +210,3 @@ WARNING: This command will reset all your repos.
205
210
except KeyboardInterrupt:
206
211
sys.exit(1)
207
212
208
- # else:
209
- # for type, repos in itertools.chain(REPOS.iteritems(), AYS.iteritems()):
210
- # if isinstance(repos, basestring):
211
- # repos = [repos]
212
- # for path in repos:
213
- # branchname, tagname = getVersions(type)
214
- # repo = j.clients.git.get(path)
215
- # print('[+] Change repo %s/%s' % (repo.account, repo.name))
216
- # print('[+] Deleting local tag %s' % tagname)
217
- # if tag_exists(repo, tagname):
218
- # if not options.dry:
219
- # repo.repo.git.tag('-d', tagname)
220
- # print('[+] Deleting remote tag %s' % tagname)
221
- # if not options.dry:
222
- # repo.repo.git.push('origin', ':refs/tags/%s' % tagname)
0 commit comments