mirror of
https://github.com/facebook/sapling.git
synced 2024-10-12 01:39:21 +03:00
0c4fe49845
It is possible that the incoming note fragments have some similar content as the existing release notes. In case of a bug fix, we match for issueNNNN in the existing notes. For other general cases, it makes use of fuzzywuzzy library to get a similarity score. If the score is above a certain threshold, we ignore the fragment, otherwise add it. But the score might be misleading for small commit messages. So, it uses similarity function only if the length of string (in words) is above a certain value. The patch adds tests related to its usage. But it needs improvement in the sense of combining incoming notes. We can use interactive mode for adding notes. Maybe we can do this if similarity is under a certain range.
180 lines
4.0 KiB
Perl
180 lines
4.0 KiB
Perl
#require fuzzywuzzy
|
|
|
|
$ cat >> $HGRCPATH << EOF
|
|
> [extensions]
|
|
> releasenotes=
|
|
> EOF
|
|
|
|
Bullet point with a single item spanning a single line
|
|
|
|
$ hg debugparsereleasenotes - << EOF
|
|
> New Features
|
|
> ============
|
|
>
|
|
> * Bullet point item with a single line
|
|
> EOF
|
|
section: feature
|
|
bullet point:
|
|
paragraph: Bullet point item with a single line
|
|
|
|
Bullet point that spans multiple lines.
|
|
|
|
$ hg debugparsereleasenotes - << EOF
|
|
> New Features
|
|
> ============
|
|
>
|
|
> * Bullet point with a paragraph
|
|
> that spans multiple lines.
|
|
> EOF
|
|
section: feature
|
|
bullet point:
|
|
paragraph: Bullet point with a paragraph that spans multiple lines.
|
|
|
|
$ hg debugparsereleasenotes - << EOF
|
|
> New Features
|
|
> ============
|
|
>
|
|
> * Bullet point with a paragraph
|
|
> that spans multiple lines.
|
|
>
|
|
> And has an empty line between lines too.
|
|
> With a line cuddling that.
|
|
> EOF
|
|
section: feature
|
|
bullet point:
|
|
paragraph: Bullet point with a paragraph that spans multiple lines.
|
|
paragraph: And has an empty line between lines too. With a line cuddling that.
|
|
|
|
Multiple bullet points. With some entries being multiple lines.
|
|
|
|
$ hg debugparsereleasenotes - << EOF
|
|
> New Features
|
|
> ============
|
|
>
|
|
> * First bullet point. It has a single line.
|
|
>
|
|
> * Second bullet point.
|
|
> It consists of multiple lines.
|
|
>
|
|
> * Third bullet point. It has a single line.
|
|
> EOF
|
|
section: feature
|
|
bullet point:
|
|
paragraph: First bullet point. It has a single line.
|
|
bullet point:
|
|
paragraph: Second bullet point. It consists of multiple lines.
|
|
bullet point:
|
|
paragraph: Third bullet point. It has a single line.
|
|
|
|
Bullet point without newline between items
|
|
|
|
$ hg debugparsereleasenotes - << EOF
|
|
> New Features
|
|
> ============
|
|
>
|
|
> * First bullet point
|
|
> * Second bullet point
|
|
> And it has multiple lines
|
|
> * Third bullet point
|
|
> * Fourth bullet point
|
|
> EOF
|
|
section: feature
|
|
bullet point:
|
|
paragraph: First bullet point
|
|
bullet point:
|
|
paragraph: Second bullet point And it has multiple lines
|
|
bullet point:
|
|
paragraph: Third bullet point
|
|
bullet point:
|
|
paragraph: Fourth bullet point
|
|
|
|
Sub-section contents are read
|
|
|
|
$ hg debugparsereleasenotes - << EOF
|
|
> New Features
|
|
> ============
|
|
>
|
|
> First Feature
|
|
> -------------
|
|
>
|
|
> This is the first new feature that was implemented.
|
|
>
|
|
> And a second paragraph about it.
|
|
>
|
|
> Second Feature
|
|
> --------------
|
|
>
|
|
> This is the second new feature that was implemented.
|
|
>
|
|
> Paragraph two.
|
|
>
|
|
> Paragraph three.
|
|
> EOF
|
|
section: feature
|
|
subsection: First Feature
|
|
paragraph: This is the first new feature that was implemented.
|
|
paragraph: And a second paragraph about it.
|
|
subsection: Second Feature
|
|
paragraph: This is the second new feature that was implemented.
|
|
paragraph: Paragraph two.
|
|
paragraph: Paragraph three.
|
|
|
|
Multiple sections are read
|
|
|
|
$ hg debugparsereleasenotes - << EOF
|
|
> New Features
|
|
> ============
|
|
>
|
|
> * Feature 1
|
|
> * Feature 2
|
|
>
|
|
> Bug Fixes
|
|
> =========
|
|
>
|
|
> * Fix 1
|
|
> * Fix 2
|
|
> EOF
|
|
section: feature
|
|
bullet point:
|
|
paragraph: Feature 1
|
|
bullet point:
|
|
paragraph: Feature 2
|
|
section: fix
|
|
bullet point:
|
|
paragraph: Fix 1
|
|
bullet point:
|
|
paragraph: Fix 2
|
|
|
|
Mixed sub-sections and bullet list
|
|
|
|
$ hg debugparsereleasenotes - << EOF
|
|
> New Features
|
|
> ============
|
|
>
|
|
> Feature 1
|
|
> ---------
|
|
>
|
|
> Some words about the first feature.
|
|
>
|
|
> Feature 2
|
|
> ---------
|
|
>
|
|
> Some words about the second feature.
|
|
> That span multiple lines.
|
|
>
|
|
> Other Changes
|
|
> -------------
|
|
>
|
|
> * Bullet item 1
|
|
> * Bullet item 2
|
|
> EOF
|
|
section: feature
|
|
subsection: Feature 1
|
|
paragraph: Some words about the first feature.
|
|
subsection: Feature 2
|
|
paragraph: Some words about the second feature. That span multiple lines.
|
|
bullet point:
|
|
paragraph: Bullet item 1
|
|
bullet point:
|
|
paragraph: Bullet item 2
|