fixed merge operation. It required commit when aborting.

A change was introduced to check that the commit  list is not empty, but in the case of aborting it is not needed, so the abort operation did not run with the usual syntax "merge --abort", but needed "merge --abort <something>".

The tests were passing because the corresponding functional test was running "merge branch1 --abort". That was my fault (likely to be a copy-paste error), and the change to include the check was introduced by @groldan, (assigning the PR to him in case that was made for a good reason that i do not know)

This PR allows for empty commit list when aborting.