diff options
author | Marius Mathiesen <marius.mathiesen@gmail.com> | 2009-06-17 11:27:33 +0200 |
---|---|---|
committer | Marius Mathiesen <marius.mathiesen@gmail.com> | 2009-06-24 12:20:35 +0200 |
commit | aee92c386995465c38c58ee88db8b5d281830371 (patch) | |
tree | c7419a54cb518a25c19c00d022c224b1e8a3d56e /app/models/merge_request.rb | |
parent | e0e9ffa86dbcda6106d96373e27728070a051aef (diff) | |
download | gitorious-mainline-outdated-aee92c386995465c38c58ee88db8b5d281830371.zip gitorious-mainline-outdated-aee92c386995465c38c58ee88db8b5d281830371.tar.gz gitorious-mainline-outdated-aee92c386995465c38c58ee88db8b5d281830371.tar.bz2 |
When migrating merge requests: handle situations where the ending commit
doesn't exist in the source repository by issuing a warning.
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r-- | app/models/merge_request.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 52192fc..64afd2a 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -441,11 +441,15 @@ class MergeRequest < ActiveRecord::Base if !target_repository.has_tracking_repository? tracking_repo = target_repository.create_tracking_repository $stderr.puts "Creating tracking repo at #{tracking_repo.full_repository_path}" - Repository.clone_git_repository(tracking_repo.real_gitdir, target_repository.real_gitdir,{:skip_hooks => true}) + Repository.clone_git_repository(tracking_repo.real_gitdir, target_repository.real_gitdir,{:skip_hooks => true}) end $stderr.puts "Pushing to tracking repo for merge request #{id}" begin - push_to_tracking_repository! + if ending_commit_exists? + push_to_tracking_repository! + else + $stderr.puts "The ending commit (#{ending_commit}) for merge request #{id} does not exist in the source repository. Merge request was not migrated" + end rescue => e $stderr.puts e end |