Skip to content

Conversation

@book
Copy link
Contributor

@book book commented Oct 12, 2025

This covers almost all cases. The goal is that the release manager will only have the editing work left, and not have to spend time copy/pasting sections from the individual deltas into the final one.

Solves #23365.

  • This set of changes does not require a perldelta entry.

@book book marked this pull request as draft October 12, 2025 21:24
@book
Copy link
Contributor Author

book commented Oct 12, 2025

There is some work needed still:

  • the final version should be saved in pod/perldelta.pod
  • the Platform Support section is not handled yet

@book book force-pushed the book/merge-deltas branch from cbba49e to caf6318 Compare October 12, 2025 21:29
@book book force-pushed the book/merge-deltas branch 2 times, most recently from e6654a9 to f2b5442 Compare October 22, 2025 21:07
@book
Copy link
Contributor Author

book commented Oct 22, 2025

I've dropped all previous changes, and went for a much simpler approach: just copy every relevant section from each development delta into the final one. This leaves more editing work to the release manager, but still removes the tedious and error-prone copy/pasting step (which was the original goal before I got carried away).

It also avoids issues when the section being copied does not look exactly as expected and might be incompletely copied into the master document.

@book book force-pushed the book/merge-deltas branch from f2b5442 to 29caac4 Compare October 22, 2025 22:27
@book
Copy link
Contributor Author

book commented Oct 22, 2025

And this new version removes unmodified template sections from the final document.

@book book marked this pull request as ready for review October 22, 2025 23:07
ericherman and others added 2 commits October 24, 2025 15:12
Co-authored-by: Philippe Bruhat (BooK) <book@cpan.org>
Co-authored-by: Philippe Bruhat (BooK) <book@cpan.org>
@book
Copy link
Contributor Author

book commented Oct 24, 2025

The change from the initial version which handled each section depending on the expected content (=head2, =item, etc.) to the current (just copy the whole content of each section into the master document) is motivated by the need to avoid losing a change because it does not conform to the expected format.

Another useful aspect is the removal of whole sections when they have not been modified from the template.

When preparing a blead final release, the steps will be:

  1. run the script
  2. edit the resulting document

This is removing toil of copying and pasting stuff from the development cycle perldeltas, allowing the releaser to focus on the actual work of copy-editing.

next
unless ref( $tree->[$pos] ) eq 'ARRAY';
next unless $tree->[$pos][0] =~ /\Ahead([1-4])\z/;
next if $1 > $level;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Back indent expected?


./perl -Ilib Porting/merge-deltas.pl

The resulting F<pod/perldelta.pod> will need to be edited. In particular,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

edited. In
Extra space?

Read F<Porting/how_to_write_a_perldelta.pod>, and try to make sure that
every section it lists is, if necessary, populated and complete. Copy
edit the whole document.
every section it lists is, if necessary, populated and complete.
Copy link
Member

@thibaultduponchelle thibaultduponchelle Oct 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I would have put this section out of a this paragraph and in its own, guarded by a =for checklist

But it's not a blocker to merge this change :)

# tree_for & as_pod
{
my $pod = <<~ 'POD';
=head2 CVE-2025-12345

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would not use an actual existing CVE number

Copy link
Member

@thibaultduponchelle thibaultduponchelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for that, it's resolving a release management toil

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants