public Outcome execute() throws HgException, IOException, CancelledException {
if (message == null) {
throw new HgBadArgumentException("Shall supply commit message", null);
}
final CompleteRepoLock repoLock = new CompleteRepoLock(repo);
repoLock.acquire();
try {
int[] parentRevs = new int[2];
detectParentFromDirstate(parentRevs);
HgWorkingCopyStatusCollector sc = new HgWorkingCopyStatusCollector(repo);
Record status = sc.status(HgRepository.WORKING_COPY);