/**
  * Builds a commit message.
  *
  * @param string                $wc_path        Working copy path.
  * @param AbstractMergeTemplate $merge_template Merge template.
  * @param string|null           $changelist     Changelist.
  *
  * @return string
  */
 public function build($wc_path, AbstractMergeTemplate $merge_template, $changelist = null)
 {
     $commit_message_parts = array();
     if (strlen($changelist)) {
         $commit_message_parts[] = trim($changelist);
     }
     $commit_message_parts[] = $merge_template->apply($wc_path);
     $commit_message_parts[] = $this->getFragmentForRecentConflicts($wc_path);
     return implode(PHP_EOL, array_filter($commit_message_parts));
 }
 public function testApplyWithoutMergeChanges()
 {
     $this->connector->getFreshMergedRevisions('/path/to/working-copy')->willReturn(array());
     $this->assertEmpty($this->mergeTemplate->apply('/path/to/working-copy'));
 }