public void parseLine()

in cvs/javacvs-src/org/netbeans/lib/cvsclient/command/update/UpdateMessageParser.java [90:179]


  public void parseLine(String line, boolean isErrorMessage) {
    if (line.startsWith("RCS file:")) {
      return;
    }
    if (line.startsWith("retrieving revision ")) {
      return;
    }

    if (line.indexOf(" already contains the differences between ") > 0) {
      return;
    }

    if (line.startsWith("rcsmerge: warning: conflicts during merge")) {
      return;
    }

    if (line.contains(EXAM_DIR)) {
      return;
    }

    if (line.indexOf(": conflicts found in ") > 0) {
      return;
    }

    int index = line.indexOf(UNKNOWN);
    if (index >= 0) {
      final String fileName = (line.substring(index + UNKNOWN.length())).trim();
      processUnknown(fileName);
      return;
    }

    index = line.indexOf(TO_ADD);
    if (index >= 0) {
      final String fileName = (line.substring(index + TO_ADD.length())).trim();
      processUnknown(fileName);
      return;
    }

    if (line.startsWith(MERGING)) {
//			outputDone();
//			ensureExistingFileInfoContainer();
//			index = line.indexOf(UpdateCommand2.INTO, UpdateCommand2.MERGING.length() + 1);
//			if (index > 0) {
//				fileInfoContainer.setFile(createFile(line.substring(index + UpdateCommand2.INTO.length())));
//			}
//			fileInfoContainer.setType(DefaultFileInfoContainer.MERGED_FILE);
      return;
    }

    index = line.indexOf(LOCALLY_MODIFIED_FILE_HAS_BEEN_REMOVED);
    if (index >= 0) {
      String warningPrefix = "cvs server: file ";
      if (!line.startsWith(warningPrefix)) return;
      final String fileName = line.substring(warningPrefix.length(), index).trim();
      final FileObject fileObject = cvsFileSystem.unixFileNameToFileObject(fileName);
      ensureExistingFileInfoContainer(fileObject);
      // HACK - will create conflict status in order to be able to have consistent info format
      fileInfo.setType("C");
      return;
    }

    index = line.indexOf(WARNING);
    if (index >= 0) {
      final int pertinentIndex = line.indexOf(PERTINENT);
      if (pertinentIndex > 0) {
        final String fileName = line.substring(index + WARNING.length(), pertinentIndex).trim();
        final FileObject fileObject = cvsFileSystem.unixFileNameToFileObject(fileName);
        processNotPertinent(fileObject);
      }
      return;
    }

    Matcher m = NOT_IN_REPOSITORY_PATTERN.matcher(line);
    if (m.matches()) {
      final String fileName = m.group(1).trim();
      final FileObject fileObject = cvsFileSystem.unixFileNameToFileObject(fileName);
      processNotPertinent(fileObject);
      return;
    }

    // otherwise
    if (line.length() > 2) {
      if (line.charAt(1) == ' ') {
        final String firstChar = line.substring(0, 1);
        if (STATES.contains(firstChar)) {
          processFile(line.substring(2), firstChar);
        }
      }
    }
  }