package bluej.groupwork;

import threadchecker.OnThread;
import threadchecker.Tag;

import java.io.File;
import java.util.Set;

@OnThread(Tag.FXPlatform)
public interface StatusHandle
{       

| Commits the files and directories in the project. Some files can be forced, | which means that the existing local file (regardless of its revision) replaces | the repository version (with the specified version number), only failing if | an intermediate commit has occurred. | | @param newFiles Files to be committed which are not presently in the repository | (text files only). If the version management system versions | directories, this should also contain directories, and must be | an ordered set such that any directories precede files which | they contain. | @param binaryNewFiles Files to be committed which are not presently in the | repository and which are to be treated as binary | @param deletedFiles Files which have been deleted locally but which exist | in the latest version in the repository | @param files All files to be committed (including all in newFiles, binaryNewFiles, | and deletedFiles, as well as any other files to be committed) | @param forceFiles Those files for which the commit should be forced, overriding | the existing file in the repository. | specified. (The commit can still fail if the file is committed | @param commitComment The comment for this commit | public TeamworkCommand commitAll(Set<File> newFiles, Set<File> binaryNewFiles, Set<File> deletedFiles, Set<File> files, Set<TeamStatusInfo> forceFiles, String commitComment);
| After a status command, get a command which can be used to | update the working copy to the same revision(s) as was | shown in the status. | | For CVS, this doesn't work exactly - it just does an update to | latest revision, which might have changed since the status | was performed. | public TeamworkCommand updateTo(UpdateListener listener, Set<File> files, Set<File> forceFiles);
| Gets the repository. Used for data collection. | @return | public Repository getRepository();
| Push changes into remote repository. Shall not be used on Subversion or cvs. | @param filesToPush set of files to be pushed into the remote repository | @return TeamworkCommand if a VCS, null otherwise. | public default TeamworkCommand pushAll(Set<File> filesToPush){ return null; }
| Checks if, usually after a merge commit, the current repository state must | be pushed into the remote repository. This must be implemented by DCVS | systems such as GIT. | @return | @OnThread(Tag.Worker) public default boolean pushNeeded() { return true; }
| Checks if, the current repository state must be pulled from the remote | repository. This must be implemented by DCVS | systems such as GIT. | @return | @OnThread(Tag.Worker) public default boolean pullNeeded() { return false; } }
top, use, map, interface StatusHandle

.   commitAll
.   updateTo
.   getRepository
.   pushAll
.   pushNeeded
.   pullNeeded




52 neLoCode + 38 LoComm