@Override public int execute(String[] operationArgs) throws Exception { DownOperationOptions operationOptions = parseOptions(operationArgs); DownOperationResult operationResult = new DownOperation(config, operationOptions).execute(); printResults(operationResult); return 0; }
fireStartEvent(); if (!checkPreconditions()) { fireEndEvent(); return result; fireChangesDetectedEvent(); startOperation(); SortedMap<File, DatabaseRemoteFile> unknownRemoteDatabasesInCache = downloadUnknownRemoteDatabases(newRemoteDatabases); SortedMap<DatabaseRemoteFile, List<DatabaseVersion>> remoteDatabaseHeaders = readUnknownDatabaseVersionHeaders(unknownRemoteDatabasesInCache); Map<DatabaseVersionHeader, File> databaseVersionLocations = findDatabaseVersionLocations(remoteDatabaseHeaders, unknownRemoteDatabasesInCache); Map<String, CleanupRemoteFile> remoteCleanupFiles = getRemoteCleanupFiles(); boolean cleanupOccurred = cleanupOccurred(remoteCleanupFiles); long lastRemoteCleanupNumber = getLastRemoteCleanupNumber(remoteCleanupFiles); DatabaseBranches allBranches = populateDatabaseBranches(localBranch, remoteDatabaseHeaders); Map.Entry<String, DatabaseBranch> winnersBranch = determineWinnerBranch(allBranches); purgeConflictingLocalBranch(localBranch, winnersBranch); applyWinnersBranch(localBranch, winnersBranch, databaseVersionLocations, cleanupOccurred, preDeleteFileHistoriesWithLastVersion); persistMuddyMultiChunks(winnersBranch, allBranches, databaseVersionLocations); removeNonMuddyMultiChunks(); finishOperation();
applyChangesAndPersistDatabase(new MemoryDatabase(), cleanupOccurred, preDeleteFileHistoriesWithLastVersion); applyChangesAndPersistDatabase(winnersDatabase, cleanupOccurred, preDeleteFileHistoriesWithLastVersion);
public DownOperationResult down(DownOperationOptions options) throws Exception { return new DownOperation(config, options).execute(); }
DownOperationResult downResult = new DownOperation(config, options.getDownOptions()).execute();