Exemple #1
0
  /**
   * Parse the commit message and return the first "line" of it.
   *
   * <p>The first line is everything up to the first pair of LFs. This is the "oneline" format,
   * suitable for output in a single line display.
   *
   * <p>This method parses and returns the message portion of the commit buffer, after taking the
   * commit's character set into account and decoding the buffer using that character set. This
   * method is a fairly expensive operation and produces a new string on each invocation.
   *
   * @return decoded commit message as a string. Never null. The returned string does not contain
   *     any LFs, even if the first paragraph spanned multiple lines. Embedded LFs are converted to
   *     spaces.
   */
  public final String getShortMessage() {
    final byte[] raw = buffer;
    final int msgB = RawParseUtils.commitMessage(raw, 0);
    if (msgB < 0) return ""; // $NON-NLS-1$

    final Charset enc = RawParseUtils.parseEncoding(raw);
    final int msgE = RawParseUtils.endOfParagraph(raw, msgB);
    String str = RawParseUtils.decode(enc, raw, msgB, msgE);
    if (hasLF(raw, msgB, msgE)) str = StringUtils.replaceLineBreaksWithSpace(str);
    return str;
  }
Exemple #2
0
  /**
   * Parse the tag message and return the first "line" of it.
   *
   * <p>The first line is everything up to the first pair of LFs. This is the "oneline" format,
   * suitable for output in a single line display.
   *
   * <p>This method parses and returns the message portion of the tag buffer, after taking the tag's
   * character set into account and decoding the buffer using that character set. This method is a
   * fairly expensive operation and produces a new string on each invocation.
   *
   * @return decoded tag message as a string. Never null. The returned string does not contain any
   *     LFs, even if the first paragraph spanned multiple lines. Embedded LFs are converted to
   *     spaces.
   */
  public final String getShortMessage() {
    final byte[] raw = buffer;
    final int msgB = RawParseUtils.tagMessage(raw, 0);
    if (msgB < 0) return ""; // $NON-NLS-1$

    final Charset enc = RawParseUtils.parseEncoding(raw);
    final int msgE = RawParseUtils.endOfParagraph(raw, msgB);
    String str = RawParseUtils.decode(enc, raw, msgB, msgE);
    if (RevCommit.hasLF(raw, msgB, msgE)) str = str.replace('\n', ' ');
    return str;
  }