package bluej.groupwork;
import java.io.File;
import java.io.FileFilter;
import java.util.List;
import java.util.Set;
| A version control repository, which comprises a remote repository together with a
| local copy.
|
| @author Davin McCall
|
public interface Repository
{
| Set the password used to access the repository
|
public void setPassword(TeamSettings newSettings);
| Returns true if this repository versions directories (subversion),
| false otherwise (CVS).
|
public boolean versionsDirectories();
| Checkout project from repostitory to local project.
|
public TeamworkCommand checkout(File projectPath);
| Commits the files and directories in the project.
|
| @param newFiles Files to be committed which are not presently in the repository
| (text files only). If the version control system versions directories,
| this must be an ordered set where directories precede the files 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 commitComment The comment for this commit
|
public TeamworkCommand commitAll(Set<File> newFiles, Set<File> binaryNewFiles,
Set<File> deletedFiles, Set<File> files, String commitComment);
| Put the project in the repository. This should create an empty project in
| the repository, and set the local project up as a working copy (with
| uncommitted files).
|
public TeamworkCommand shareProject();
| Push project changes to the upstream server.
| This is used *only* by distributed version control.
|
public TeamworkCommand pushChanges();
| Get status of all the given files.
|
| @param listener A listener to be notified of the status of each requested file.
| For version management systems which version directories, the status
| of directories will be reported before files they contain.
| @param filter A file filter to determine which files and directories to include
| in the returned statuses
| @param includeRemote
| Whether to include remote files (files which do not exist locally, but which
| do exist in the repository), regardless of whether they are listed in the
| files argument.
|
public TeamworkCommand getStatus(StatusListener listener, FileFilter filter, boolean includeRemote);
| Get a list of modules in the repository. The module names (String) are added
| to the supplied list before the command terminates.
|
public TeamworkCommand getModules(List<String> modules);
| Get the history of the repository - all commits, including file, date,
| revision, user, and comment.
|
public TeamworkCommand getLogHistory(LogHistoryListener listener);
| Prepare for the deletion of a directory. For CVS, this involves moving
| the metadata elsewhere. Returns true if the directory should be physically
| removed, or false otherwise, in which case all files and sub-directories
| within are assumed to have been handled.
|
| <p>Also, calling this may result in the directory
| being removed.
|
public boolean prepareDeleteDir(File dir);
| Prepare a newly created directory for version control.
|
public void prepareCreateDir(File dir);
| Get a filter which can filter out directories/files that comprise metadata
| or other housekeeping information in the working copy
|
public FileFilter getMetadataFilter();
| Get all the locally deleted files in the repository. The files are put
| into the supplied set.
|
| <p>Calling this method Does not result in communication with the repository
| server.
|
public void getAllLocallyDeletedFiles(Set<File> files);
| Gets the version control type, for data collection purposes
|
public String getVCSType();
| Gets the version control protocol, for data collection purposes
|
public String getVCSProtocol();
}
top,
use,
map,
interface Repository
. setPassword
. versionsDirectories
. checkout
. commitAll
. shareProject
. pushChanges
. getStatus
. getModules
. getLogHistory
. prepareDeleteDir
. prepareCreateDir
. getMetadataFilter
. getAllLocallyDeletedFiles
. getVCSType
. getVCSProtocol
81 neLoCode
+ 53 LoComm