This changes the way that we handle adding changes to CHANGES and UPGRADE.txt. The reason for this is because whenever someone needed to make a change to one of these files and someone else had already done so, you would run into merge conflicts. With this new setup, there will never be merge conflicts since all changes will be documented in the doc/<file>-staging directory. The release script is now responsible for merging all of these changes into the appropriate files. There is a special format that these files have to follow in order to be parsed. The files do not need to have a meaningful name, but it is strongly recommended. For example, if you made a change to pjsip, you may have something like this "res_pjsip_relative_title", where "relative_title" is something more descriptive than that. Inside each file, you will need a subject line for your change, followed by a description. There can be multiple subject lines. The file may look something like this: Subject: res_pjsip Subject: Core A description that explains the changes made and why. The release script will handle the bulleting and section separators! You can still separate with new lines within your description. The headers ("Subject" and "Master-Only") are case sensative, but the value for "Master-Only" ("true" or "True") is not. For more information, check out the wiki page: https://wiki.asterisk.org/wiki/display/AST/CHANGES+and+UPGRADE.txt ASTERISK-28111 #close Change-Id: I19cf4b569321c88155a65e9b0b80f6d58075dd47
DO NOT REMOVE THIS FILE!
The only files that should be added to this directory are ones that will be used by the release script to update the UPGRADE.txt file automatically. The only time that it is necessary to add something to the UPGRADE-staging directory is if you are making a breaking change to an existing feature in Asterisk. The file does not need to have a meaningful name, but it probably should. If there are multiple items that need documenting, you can add multiple files, each with their own description. If the message is going to be the same for each subject, then you can add multiple subject headers to one file. The "Subject: xxx" line is case sensitive! For example, if you are making a change to PJSIP, then you might add the file "res_pjsip_my_cool_feature" to this directory, with a short description of what it does. If you are adding multiple entries, they should be done in the same commit to avoid merge conflicts. Here's an example:
Subject: res_pjsip Subject: Core
Here's a pretty good description of my new feature that explains exactly what it does and how to use it.
Here's a master-only example:
Subject: res_ari Master-Only: True
This change will only go into the master branch. The "Master-Only" header will never be in a change not in master.
Note that the second subject has another header: "Master-Only". Changes that go into the master branch and ONLY the master branch are the only ones that should have this header. Also, the value can only be "true" or "True". The "Master-Only" part of the header IS case-sensitive, however!
For more information, check out the wiki page: https://wiki.asterisk.org/wiki/display/AST/CHANGES+and+UPGRADE.txt