summaryrefslogtreecommitdiffstats
path: root/app/models/merge_request.rb
diff options
context:
space:
mode:
authorMarius Mathiesen <marius.mathiesen@gmail.com>2009-06-17 11:27:33 +0200
committerMarius Mathiesen <marius.mathiesen@gmail.com>2009-06-24 12:20:35 +0200
commitaee92c386995465c38c58ee88db8b5d281830371 (patch)
treec7419a54cb518a25c19c00d022c224b1e8a3d56e /app/models/merge_request.rb
parente0e9ffa86dbcda6106d96373e27728070a051aef (diff)
downloadgitorious-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.rb8
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