throws Exception {
Command<String> command;
if (depth == 0) {
command = new OneLevelDiffCommand(this, fromRevision, toRevision, path);
} else {
command = new DiffCommand(this, fromRevision, toRevision, path, depth);
}
return commandExecutor.execute(command);
}