package bluej.groupwork;
import bluej.groupwork.TeamStatusInfo.Status;
import bluej.pkgmgr.BlueJPackageFile;
| Class to filter CVS StatusInformation to calculate those classes that will
| be changed when we next commit. It should include files that are locally
| modified, remotely modified, locally deleted and remotely removed.
|
| @author bquig
|
public class CommitFilter
{
| Filter to identify which files in a repository will be altered at
| the next commit.
| @param statusInfo the statusInfo to be filtered
| @param local if the commit is between working copy and local tree or
| between local tree and remote tree.
| @return
|
public boolean accept(TeamStatusInfo statusInfo, boolean local)
{
Status stat = statusInfo.getStatus(local);
switch (stat) {
case DELETED:
case NEEDS_ADD:
case NEEDS_COMMIT:
return true;
}
if (!local) {
switch (stat) {
case NEEDS_CHECKOUT:
case NEEDS_PUSH:
return true;
}
}
if (BlueJPackageFile.isPackageFileName(statusInfo.getFile().getName())) {
switch (stat) {
case CONFLICT_ADD:
case NEEDS_MERGE:
case CONFLICT_LDRM:
case UNRESOLVED:
return true;
}
}
return false;
}
}
top,
use,
map,
class CommitFilter
. accept
52 neLoCode
+ 10 LoComm