From c2a52593a70a89582202d629842189b4a1448a15 Mon Sep 17 00:00:00 2001 From: Elvin Efendi Date: Sun, 13 Dec 2015 22:12:24 -0500 Subject: do not commit when there is no diff --- lib/oxidized/hook/githubrepo.rb | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'lib/oxidized/hook') diff --git a/lib/oxidized/hook/githubrepo.rb b/lib/oxidized/hook/githubrepo.rb index 22ee8ea..d10b51e 100644 --- a/lib/oxidized/hook/githubrepo.rb +++ b/lib/oxidized/hook/githubrepo.rb @@ -15,13 +15,24 @@ class GithubRepo < Oxidized::Hook end def fetch_and_merge_remote(repo) - repo.fetch('origin', [repo.head.name], credentials: credentials) + result = repo.fetch('origin', [repo.head.name], credentials: credentials) + log result.inspect, :debug - their_branch = repo.branches["origin/master"] or return + unless result[:total_deltas] > 0 + log "nothing recieved after fetch", :debug + return + end + + their_branch = repo.branches["origin/master"] + + log "merging fetched branch #{their_branch.name}", :debug merge_index = repo.merge_commits(repo.head.target_id, their_branch.target_id) - log("Conflicts detected", :warn) if merge_index.conflicts? + if merge_index.conflicts? + log("Conflicts detected, skipping Rugged::Commit.create", :warn) + return + end Rugged::Commit.create(repo, { parents: [repo.head.target, their_branch.target], -- cgit v1.2.1