From a751a50cb66add5419bd059aa2905cb773420e0a Mon Sep 17 00:00:00 2001
From: Jonathan Wakely Revised:
-24 March 2023 Revised:
+2 November 2024 These instruction assume you going to keep the issues lists source files in a directory named "issues",
-and the issues lists generated HTML files in a directory named "issues-gh-pages". Keeping the source files and generated HTML files in separate directories
-falls out from the GitHub automatic web page approach: files in a branch named "gh-pages"
-are automatically published by GitHub as web pages. These instruction assume you going to keep the issues lists source files in a directory named "issues".
+The issues are stored in XML files, one file per issue.
+The software in the Using recent versions of Git the second This has the advantage of only cloning the repo once,
-which saves time, bandwidth and disk space.
+The commands shown below assume you are in the
+The repository contains a Do this after the initial setup, and then again whenever the source
-code (in
+If you can't use
+You will need to re-run There is one source file per issue, in Commit files locally as you update them: Verify your changes had the desired effect by regenerating the
-issues lists and inspecting your changes: Once you are happy with your changes, push them up to the GitHub
+ Verify your changes had the desired effect by regenerating the
+issues lists and inspecting your changes, by running
+ Once you are happy with your changes, push them up to the GitHub
public repository: New versions of the issues lists will be automatically published online.How To Instructions
-
-
+src directory builds programs
+that read the XML files and generates the HTML issues lists.
+When changes to the XML files are pushed to the GitHub repository an automated
+GitHub Actions workflow
+generates new HTML files and commits them to the gh-pages branch.
+The content of the gh-pages branch is automatically deployed
+to https://cplusplus.github.io/LWG/.
+Prerequisites
std::filesystem supports Windows, and no additional -lstdc++fs linker option is needed)..bat scripts, or
- a POSIX environment is a prerequisite to use the equivalent .sh
- scripts.make
+ commands.
Initial setup
@@ -34,49 +37,58 @@ Initial setup
-cd path-to-where-you-want-to-keep-this-stuff
git clone git@github.com:cplusplus/LWG.git issues
-git clone -b gh-pages git@github.com:cplusplus/LWG.git issues-gh-pages
-cd issues
-mkdir mailing
+
git clone command
-can be replaced by adding a new "worktree" that shares the repository metadata
-with the initial clone:
-
-git -C issues worktree add -b gh-pages ../issues-gh-pages origin/gh-pages
-
issues directory
+that contains the git repository cloned by the command above.
+Makefile that has recipes for
+building the software (make pgms),
+updating the meta-data (make new-papers etc.),
+and regenerating the HTML lists (make lists).
+Build issues software
-issues/src) changes.Working with the issues lists on Windows
+make then the steps are a little more manual:
+
-
+cd issues
-bin\build_pgms
-cd issues
+mkdir mailing
+bin\build_pgms
+bin\build_lists
+
+bin\build_pgms
+whenever the source code (in issues/src) changes.
+(This isn't needed when using make because the makefile
+will automatically do make pgms as a prerequisite of
+make lists.)
+Add or change issues
issues/xml. The file
-issues/xml/lwg-template.xml can be used as a template to start a
+issues/xml/lwg-template.xml can be used as a template to start a
new issue. Use any text editor to edit the files.
-
-cd issues\xml
-edit-as-needed
-git commit -a -m"your commit message here"
-
-
-cd issues
-bin\build_lists
+ cd xml
+# edit the XML files or add new XML files
+# ...
+# stage the edited XML files (and any new ones) to be committed:
+git add xml/issues*.xml
+git commit -m "your commit message here"
make lists (or bin\build_lists on Windows).
+
-
cd issues
-git push
+ git push
Generate Issues Lists for a Mailing
-
bin/lists revision history to print the new revision history.make history (or equivalently, bin/lists revision history)
+ to print the new revision history.<revision_history> tag
These instruction assume you going to keep the issues lists source files in a directory named "issues". +
These instructions assume you keep the issues lists source files in a directory named These instructions assume you keep the issues lists source files in a directory named There is one source file per issue, in Commit files locally as you update them: There is one source file per issue, in Commit files locally as you update them:issues.
The issues are stored in XML files, one file per issue.
The software in the src directory builds programs
that read the XML files and generates the HTML issues lists.
From 398af839bfac19052756b30856fca852777a9327 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely How To Instructions
issues.
-The issues are stored in XML files, one file per issue.
+Each issue is stored in an XML file.
The software in the src directory builds programs
that read the XML files and generates the HTML issues lists.
When changes to the XML files are pushed to the GitHub repository an automated
From 5f00f5d6333ec1a7c24fe643c476a52207465367 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely Prerequisites
From 6cf4107d0d6d8a1730f920e45ffbd304f3d23dc2 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely std::filesystem supports Windows, and no additional -lstdc++fs linker option is needed)..bat scripts, or
+ .bat scripts;
a POSIX environment is a prerequisite to use the equivalent make
commands.Working with the issues lists on Windows
Add or change issues
issues/xml. The file
-issues/xml/lwg-template.xml can be used as a template to start a
+issues/xml/lwg-template.xml is a template for a
new issue. Use any text editor to edit the files.
From 27060df3c70a324ac3f5cd42779ce028318c4802 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely
Working with the issues lists on Windows
Add or change issues
issues/xml. The file
issues/xml/lwg-template.xml is a template for a
-new issue. Use any text editor to edit the files.
cd xml
From 3f4b140bd8310f09542eec6da10f2f18e326555a Mon Sep 17 00:00:00 2001
From: Jonathan Wakely
Add or change issues
new issue.
Commit files locally as you update them:
-cd xml -# edit the XML files or add new XML files +# edit the XML files or add new XML files # ... # stage the edited XML files (and any new ones) to be committed: git add xml/issues*.xml From 607082397425ee1e1d727c9467ae47280f7b9a6b Mon Sep 17 00:00:00 2001 From: Jonathan Wakely+git commit -m "your commit message here"Date: Sat, 2 Nov 2024 19:15:45 +0000 Subject: [PATCH 8/9] Update how-to-docs.html Co-authored-by: Casey Carter --- how-to-docs.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/how-to-docs.html b/how-to-docs.html index c778374bcc..10a2650b28 100644 --- a/how-to-docs.html +++ b/how-to-docs.html @@ -78,7 +78,7 @@ Add or change issues
# ... # stage the edited XML files (and any new ones) to be committed: git add xml/issues*.xml -git commit -m "your commit message here"
Verify your changes had the desired effect by regenerating the
issues lists and inspecting your changes, by running
From c24e88c1529036c8b9b17a70fa36e934da71098b Mon Sep 17 00:00:00 2001
From: Jonathan Wakely These instructions assume you keep the issues lists source files in a directory named How To Instructions
issues.
Each issue is stored in an XML file.
-The software in the src directory builds programs
-that read the XML files and generates the HTML issues lists.
+The code in src generates the HTML issues lists from the XML sources.
When changes to the XML files are pushed to the GitHub repository an automated
GitHub Actions workflow
generates new HTML files and commits them to the gh-pages branch.