aboutsummaryrefslogtreecommitdiff
path: root/README-hacking.md
diff options
context:
space:
mode:
Diffstat (limited to 'README-hacking.md')
-rw-r--r--README-hacking.md311
1 files changed, 164 insertions, 147 deletions
diff --git a/README-hacking.md b/README-hacking.md
index 475f2ca..8897333 100644
--- a/README-hacking.md
+++ b/README-hacking.md
@@ -1,8 +1,8 @@
Maneage: managing data lineage
==============================
-Copyright (C) 2018-2021 Mohammad Akhlaghi <mohammad@akhlaghi.org>\
-Copyright (C) 2020-2021 Raul Infante-Sainz <infantesainz@gmail.com>\
+Copyright (C) 2018-2023 Mohammad Akhlaghi <mohammad@akhlaghi.org>\
+Copyright (C) 2020-2023 Raul Infante-Sainz <infantesainz@gmail.com>\
See the end of the file for license conditions.
Maneage is a **fully working template** for doing reproducible research (or
@@ -180,29 +180,44 @@ evolving rapidly, so some details will differ between the different
versions. The more recent papers will tend to be the most useful as good
working examples.
- - Peper & Roukema ([2020](https://arxiv.org/abs/2010.03742),
- arXiv:2010.03742): The live version of the controlled source is [at
+ - Borkowska & Roukema
+ ([2022](https://ui.adsabs.harvard.edu/abs/2021arXiv211214174B), MNRAS
+ Submitted, arXiv:2112.14174): The live version of the controlled source
+ is [at Codeberg](https://codeberg.org/boud/gevcurvtest); the main input
+ dataset, a software snapshot, the software tarballs, the project outputs
+ and editing history are available at
+ [zenodo.5806027](https://doi.org/10.5281/zenodo.5806027); and the
+ archived git history is available at [swh:1:rev:54398b720ddbac269ede30bf1e27fe27f07567f7](https://archive.softwareheritage.org/browse/revision/54398b720ddbac269ede30bf1e27fe27f07567f7).
+
+ - Peper & Roukema
+ ([2021](https://ui.adsabs.harvard.edu/abs/2021MNRAS.505.1223P), MNRAS,
+ 505, 1223, DOI:10.1093/mnras/stab1342, arXiv:2010.03742): The live
+ version of the controlled source is [at
Codeberg](https://codeberg.org/boud/elaphrocentre); the main input
- dataset, a software snapshot, the software tarballs, the project
+ dataset, a software snapshot, the software tarballs, the project outputs
+ and editing history are available at
+ [zenodo.4699702](https://zenodo.org/record/4699702); and the archived
+ git history is available at
+ [swh:1:rev:a029edd32d5cd41dbdac145189d9b1a08421114e](https://archive.softwareheritage.org/swh:1:rev:a029edd32d5cd41dbdac145189d9b1a08421114e).
+
+ - Roukema ([2021](https://ui.adsabs.harvard.edu/abs/2021PeerJ...911856R),
+ PeerJ, 9:e11856, arXiv:2007.11779): The live version of the controlled
+ source is [at Codeberg](https://codeberg.org/boud/subpoisson); the main
+ input dataset, a software snapshot, the software tarballs, the project
outputs and editing history are available at
- [zenodo.4062461](https://zenodo.org/record/4062461); and the
- archived git history is available at
- [swh:1:dir:c4770e81288f340083dd8aa9fe017103c4eaf476](https://archive.softwareheritage.org/swh:1:dir:c4770e81288f340083dd8aa9fe017103c4eaf476).
-
- - Roukema ([2020](https://arxiv.org/abs/2007.11779),
- arXiv:2007.11779): The live version of the controlled source is [at
- Codeberg](https://codeberg.org/boud/subpoisson); the main input
- dataset, a software snapshot, the software tarballs, the project
- outputs and editing history are available at
- [zenodo.3951152](https://zenodo.org/record/3951152); and the
- archived git history is available at
- [swh:1:dir:fcc9d6b111e319e51af88502fe6b233dc78d5166](https://archive.softwareheritage.org/swh:1:dir:fcc9d6b111e319e51af88502fe6b233dc78d5166).
-
- - Akhlaghi et al. ([2020](https://arxiv.org/abs/2006.03018),
- arXiv:2006.03018): The project's version controlled source is [on
+ [zenodo.4765705](https://zenodo.org/record/4765705); and the archived
+ git history is available at
+ [swh:1:rev:72242ca8eade9659031ea00394a30e0cc5cc1c37](https://archive.softwareheritage.org/swh:1:rev:72242ca8eade9659031ea00394a30e0cc5cc1c37).
+
+ - Akhlaghi et
+ al. ([2021](https://ui.adsabs.harvard.edu/abs/2021CSE....23c..82A),
+ CiSE, 23(3), 82 DOI:10.1109/MCSE.2021.3072860 arXiv:2006.03018): The
+ project's version controlled source is [on
Gitlab](https://gitlab.com/makhlaghi/maneage-paper), necessary software,
- outputs and backup of history is available in
- [zenodo.3872248](https://doi.org/10.5281/zenodo.3872248).
+ outputs and backup of history are available at
+ [zenodo.3872248](https://doi.org/10.5281/zenodo.3872248); and the
+ archived git history is available at
+ [swh:1:dir:45a9e282a86145fe9babef529c8fce52ffe8d717](https://archive.softwareheritage.org/swh:1:dir:45a9e282a86145fe9babef529c8fce52ffe8d717).
- Infante-Sainz et
al. ([2020](https://ui.adsabs.harvard.edu/abs/2020MNRAS.491.5317I),
@@ -212,8 +227,8 @@ working examples.
[zenodo.3524937](https://zenodo.org/record/3524937).
- Akhlaghi ([2019](https://arxiv.org/abs/1909.11230), IAU Symposium
- 355). The version controlled project source is available [on
- GitLab](https://gitlab.com/makhlaghi/iau-symposium-355) and is also
+ 355). The version controlled project source is available
+ [on GitLab](https://gitlab.com/makhlaghi/iau-symposium-355) and is also
archived on Zenodo with all the necessary software tarballs:
[zenodo.3408481](https://doi.org/10.5281/zenodo.3408481).
@@ -553,7 +568,7 @@ First custom commit
the default `origin` remote server to specify that this is Maneage's
remote server. This will allow you to use the conventional `origin`
name for your own project as shown in the next steps. Second, you will
- create and go into the conventional `master` branch to start
+ create and go into the conventional `main` branch to start
committing in your project later.
```shell
@@ -561,7 +576,7 @@ First custom commit
$ mv project my-project # Change the name to your project's name.
$ cd my-project # Go into the cloned directory.
$ git remote rename origin origin-maneage # Rename current/only remote to "origin-maneage".
- $ git checkout -b master # Create and enter your own "master" branch.
+ $ git checkout -b main # Create and enter your own "main" branch.
$ pwd # Just to confirm where you are.
```
@@ -616,7 +631,7 @@ First custom commit
a new project which is bad in this scenario, and will not allow you to
push to it). It will give you a URL (usually starting with `git@` and
ending in `.git`), put this URL in place of `XXXXXXXXXX` in the first
- command below. With the second command, "push" your `master` branch to
+ command below. With the second command, "push" your `main` branch to
your `origin` remote, and (with the `--set-upstream` option) set them
to track/follow each other. However, the `maneage` branch is currently
tracking/following your `origin-maneage` remote (automatically set
@@ -627,7 +642,7 @@ First custom commit
```shell
git remote add origin XXXXXXXXXX # Newly created repo is now called 'origin'.
- git push --set-upstream origin master # Push 'master' branch to 'origin' (with tracking).
+ git push --set-upstream origin main # Push 'main' branch to 'origin' (with tracking).
git push origin maneage # Push 'maneage' branch to 'origin' (no tracking).
```
@@ -635,7 +650,7 @@ First custom commit
your name (with your possible coauthors) and tentative abstract in
`paper.tex`. You should see the relevant place in the preamble (prior
to `\begin{document}`. Just note that some core project metadata like
- the project tile are actually set in
+ the project title are actually set in
`reproduce/analysis/config/metadata.conf`. So set your project title
in there. After you are done, run the `./project make` command again
to see your changes in the final PDF and make sure that your changes
@@ -664,14 +679,22 @@ First custom commit
- `reproduce/analysis/make/top-make.mk`: Delete the `delete-me` line
in the `makesrc` definition. Just make sure there is no empty line
- between the `download \` and `verify \` lines (they should be
+ between the `initialize \` and `verify \` lines (they should be
directly under each other).
- - `reproduce/analysis/make/verify.mk`: In the final recipe, under the
- commented line `Verify TeX macros`, remove the full line that
- contains `delete-me`, and set the value of `s` in the line for
- `download` to `XXXXX` (any temporary string, you'll fix it in the
- end of your project, when its complete).
+ - `reproduce/analysis/make/initialize.mk`: in the very end of this
+ file, you will see a set of lines between `delete the lines below
+ this` and `delete the lines above this`. Delete this whole group of
+ lines (including the two instruction lines).
+
+ - `reproduce/analysis/config/verify-outputs.conf`: Disable
+ verification of outputs by changing the `yes` (the value of
+ `verify-outputs`) to `no`. Later, when you are ready to submit your
+ paper, or publish the dataset, activate verification and make the
+ proper corrections in this file (described under the "Other basic
+ customizations" section below). This is a critical step and only
+ takes a few minutes when your project is finished. So DON'T FORGET
+ to activate it in the end.
- Delete all `delete-me*` files in the following directories:
@@ -681,14 +704,6 @@ First custom commit
$ rm reproduce/analysis/config/delete-me*
```
- - Disable verification of outputs by removing the `yes` from
- `reproduce/analysis/config/verify-outputs.conf`. Later, when you are
- ready to submit your paper, or publish the dataset, activate
- verification and make the proper corrections in this file (described
- under the "Other basic customizations" section below). This is a
- critical step and only takes a few minutes when your project is
- finished. So DON'T FORGET to activate it in the end.
-
- Re-make the project (after a cleaning) to see if you haven't
introduced any errors.
@@ -699,7 +714,7 @@ First custom commit
7. **Ignore changes in some Maneage files**: One of the main advantages of
Maneage is that you can later update your infra-structure by merging
- your `master` branch with the `maneage` branch. This is good for many
+ your `main` branch with the `maneage` branch. This is good for many
low-level features that you will likely never modify yourself. But it
is not desired for some files like `paper.tex` (you don't want changes
in Maneage's default `paper.tex` to cause conflicts with all the text
@@ -743,12 +758,12 @@ First custom commit
add a copyright notice in your name under the existing one(s), like
the line with capital letters below. To start with, add this line with
your name and email address to `paper.tex`,
- `tex/src/preamble-header.tex`, `reproduce/analysis/make/top-make.mk`,
+ `tex/src/preamble-project.tex`, `reproduce/analysis/make/top-make.mk`,
and generally, all the files you modified in the previous step.
```
- Copyright (C) 2018-2021 Existing Name <existing@email.address>
- Copyright (C) 2021 YOUR NAME <YOUR@EMAIL.ADDRESS>
+ Copyright (C) 2018-2023 Existing Name <existing@email.address>
+ Copyright (C) 2023 YOUR NAME <YOUR@EMAIL.ADDRESS>
```
9. **Configure Git for fist time**: If this is the first time you are
@@ -766,7 +781,7 @@ First custom commit
```
10. **Your first commit**: You have already made some small and basic
- changes in the steps above and you are in your project's `master`
+ changes in the steps above and you are in your project's `main`
branch. So, you can officially make your first commit in your
project's history and push it. But before that, you need to make sure
that there are no problems in the project. This is a good habit to
@@ -823,24 +838,12 @@ Other basic customizations
Gnuastro, go through the analysis steps in `reproduce/analysis` and
remove all its use cases (clearly marked).
- - **Input dataset**: The input datasets are managed through the
- `reproduce/analysis/config/INPUTS.conf` file. It is best to gather all
- the information regarding all the input datasets into this one central
- file. To ensure that the proper dataset is being downloaded and used
- by the project, it is also recommended get an [MD5
- checksum](https://en.wikipedia.org/wiki/MD5) of the file and include
- that in `INPUTS.conf` so the project can check it automatically. The
- preparation/downloading of the input datasets is done in
- `reproduce/analysis/make/download.mk`. Have a look there to see how
- these values are to be used. This information about the input datasets
- is also used in the initial `configure` script (to inform the users),
- so also modify that file. You can find all occurrences of the demo
- dataset with the command below and replace it with your input's
- dataset.
-
- ```shell
- $ grep -ir wfpc2 ./*
- ```
+ - **Input datasets**: The input datasets are managed through the
+ `reproduce/analysis/config/INPUTS.conf` file. It is best to gather the
+ following information regarding all the input datasets into this one
+ central file: 1) the SHA256 checksum of the file, 2) the URL where the
+ file can be downloaded online. Please read the comments at the start
+ of `reproduce/analysis/config/INPUTS.conf` carefully.
- **`README.md`**: Correct all the `XXXXX` place holders (name of your
project, your own name, address of your project's online/remote
@@ -945,14 +948,14 @@ effectively no cost in keeping multiple redundancies on different servers,
just in case one (or more) of them are discontinued in the (near/far)
future.
- - **Reserve a DOI for your dataset**: There are multiple data servers that
- give this functionality, one of the most well known and (currently!)
- well-funded is [Zenodo](https://zenodo.org) so we'll focus on it
- here. Of course, you can use any other service that provides a similar
- functionality. Once you complete these steps, you can start using/citing
- your dataset's DOI in the source of your project to finalize the rest of
- the points. With Zenodo, you can even use the given identifier
- for things like downloading.
+ - **Reserve a DOI for your datasets**: There are multiple data servers
+ that give this functionality, one of the most well known and
+ (currently!) well-funded is [Zenodo](https://zenodo.org) so we'll focus
+ on it here. Of course, you can use any other service that provides a
+ similar functionality. Once you complete these steps, you can start
+ using/citing your dataset's DOI in the source of your project to
+ finalize the rest of the points. With Zenodo, you can even use the given
+ identifier for things like downloading.
* *Start new upload*: After you log in to Zenodo, you can start a new
upload by clicking on the "New Upload button".
@@ -961,16 +964,23 @@ future.
Identifier", click on the "Reserve DOI" button.
* *Fill basic info*: You need to at least fill in the "required fields"
- (marked with a red star). You will always be able to change any
- metadata (even after you "Publish"), so don't worry too much about
- values in the fields, at this phase, its just important that they
- are not empty.
+ (marked with a red star). You will always be able to change any
+ metadata (even after you "Publish"), so don't worry too much about
+ values in the fields, at this phase, its just important that they are
+ not empty.
* *Save your project but do not yet publish*: Press the "Save" button
- (at the top or bottom of the page). Do not yet press "Publish"
- though, since that would make the project public, and freeze the DOI
- with any possible file you may have uploaded already. We will get to
- the publication phase in the next steps.
+ (at the top or bottom of the page). Do not yet press "Publish" though,
+ since that would make the project public, and freeze the DOI with any
+ possible file you may have uploaded already. We will get to the
+ publication phase in the next steps.
+
+ - **Record the metadata**: Maneage comes with a file to store all the
+ project's metadata: `reproduce/analysis/config/metadata.conf`. Open this
+ file and store all the information that you currently have: for example
+ the Zenodo DOI, project's Git repository, Copyright owner and license of
+ the data after it becomes public. Keep the empty fields in mind and
+ after obtaining them, don't forget to fill them up.
- **Request archival on SoftwareHeritage**: [Software
Heritage](https://archive.softwareheritage.org/save/) is an online
@@ -989,7 +999,7 @@ future.
- **Zenodo/SoftwareHeritage links in paper**: put links to the Zenodo-DOI
(and SoftwareHeritage source when you make it public) in your
- paper. Somewhere close the start, maybe under the keywords/abstract,
+ paper. Somewhere close to the start, maybe under the keywords/abstract,
highlighting that they are supplements for reproducibility. These help
readers easily access these resources for supplementary material
directly from your PDF paper (sources on SoftwareHeritage and
@@ -1013,14 +1023,14 @@ future.
(for example with columns separated by white-space characters) or in
the more formal [Comma-separated
values](https://en.wikipedia.org/wiki/Comma-separated_values) or CSV,
- format). In the former case, its best to set the suffixes to `.txt`
- (because most browsers/OSs will automatically know they are plain-text
- and open them without needing any other software. If you have other
- types of data (for example images, or very large tables with millions
- of rows/columns that can be inconvenient in plain-text), feel free to
- use custom binary formats, but later, in the description of your
- project on the server, add a note, explaining what software they
- should use to open them.
+ format). Generally, its best to set the suffixes to `.txt` (because
+ most browsers/OSs will automatically know they are plain-text and open
+ them without needing any other software). If you have other types of
+ data (for example images, or very large tables with millions of
+ rows/columns that can be inconvenient in plain-text), feel free to use
+ custom binary formats, but later, in the description of your project
+ on the server, add a note, explaining what software they should use to
+ open them.
* *Descriptive names*: In some papers there are many files and having
cryptic names will only confuse your readers (actually, yourself in
@@ -1033,58 +1043,35 @@ future.
to rename everything related to each figure (which is very frustrating
and prone to errors).
- * *Good metadata*: Raw data are not too useful merely as a series of
+ * *Good metadata*: Raw data are not too useful merely as a series of raw
numbers! So don't forget to have **good metadata in every file**. If
its a plain-text file, usually lines starting with a `#` are
ignored. So in the command that generates each dataset, add some extra
- information about the dataset as lines starting with `#`. A minimal
- set of recommended metadata are listed below. Feel free to add
- more. You can use a configuration file to keep this information in one
- place and automatically include them in all your output files.
-
- * *Project Title and authors*: This is very important to give a
- general perspective of the figure.
-
- * *Links to project*: For example Zenodo-DOI, Journal-DOI (after it is
- accepted), SoftwareHeritage page, arXiv-ID (or any other pre-print
- server) and ofcourse, your Git repository.
-
- * *Commit hash* of the project that produced the dataset. This
- directly links the dataset to a particular point in your project's
- history. It is stored in the `$(project-commit-hash)` variable that
- is defined in `initialize.mk`. So you can use it anywhere in your
- project.
-
- * *Same commit hashes*: each dataset may have been created at
- different phases of your project's history. If you simply upload the
- produced datasets, they may therefore have different commits on
- them. To avoid confusing your readers (and your self in the future),
- it is best that they all have the same commit hash (which will also
- be the commit hash printed in the paper). So upon publication, we
- recommend deleting all of them and running `./project make` to build
- them all with the same commit hash.
-
- * *Copyright as metadata*: people need to know if they can "use" the
- dataset (i.e., modify it), or possibly re-distribute it and their
- derived products. They also need to know how they can contact the
- creator of the datset (who is usually also the copyright owner). So
- as another metadata element, also add your name and email-address
- (or the name of the person and email of the person who was in charge
- of that part of the project), and the copyright license name and
- standard link to the fully copyright license.
+ information (the more the better!) about the dataset as lines starting
+ with `#`. Based on `reproduce/analysis/config/metadata.conf`, in
+ `initialize.mk`, Maneage will produce a default set of basic
+ information for plain-text data and will put it in the
+ `$(print-general-metadata)` variable. It is thus recommended to print
+ this variable into your plain-text file before printing the actual
+ data (so it shows on top of the file). For a real-world example, see
+ its usage in `reproduce/analysis/make/delete-me.mk` (in the `maneage`
+ branch). If you are publishing your data in binary formats, please add
+ all the metadata you see in `$(print-general-metadata)` into each
+ dataset file (for example keywords in the FITS format). If there are
+ many files, its easy to define a tiny shell-script to do the job on
+ each dataset.
- **Link to figure datasets in caption**: all the datasets that go into
the plots should be uploaded directly to Zenodo so they can be
viewed/downloaded with a simple link in the caption. For example see the
last sentence of the caption of Figure 1 in
- [arXiv:2006.03018v1](https://arxiv.org/pdf/2006.03018v1.pdf), it points
- to [the
- data](https://zenodo.org/record/3872248/files/tools-per-year.txt) that
- was used to create that figure's top plot. As you see, this will allow
- your paper's readers (again, most probably your future-self!) to
- directly access the numbers of each visualization (plot/figure) with a
- simple click in a trusted server. This also shows the major advantage of
- having your data as simple plain-text where possible, as described
+ [arXiv:2006.03018](https://arxiv.org/pdf/2006.03018.pdf), it points to
+ [the data](https://zenodo.org/record/3872248/files/tools-per-year.txt)
+ that was used to create that figure's left-side plot. As you see, this
+ will allow your paper's readers (again, most probably your future-self!)
+ to directly access the numbers of each visualization (plot/figure) with
+ a simple click in a trusted server. This also shows the major advantage
+ of having your data as simple plain-text where possible, as described
above. To help you keep all your to-be-visualized datasets in a single
place, Maneage has the two `tex-publish-dir` and `data-publish-dir`
directories that are defined in `reproduce/analysis/make/initialize.mk`,
@@ -1127,7 +1114,7 @@ future.
- **Confirm if your project builds from scratch**: Before publishing
anything, you should see if your project can indeed reproduce itself!
You may be mistakenly using temporarily created files that aren't built
- when teh project is built from scratch (this happens a lot and is very
+ when the project is built from scratch (this happens a lot and is very
dangerous for the integrity of your project!). So, go to a temporary
directory, clone your project from its repository and try configuring
and building it from scratch in a new-temporary build-directory. It is
@@ -1188,8 +1175,8 @@ future.
`.build/software/tarballs`. It is necessary to upload these with
your project to avoid relying on third party servers. In the future
any one of those servers may go down and if so, your project won't
- be buildable. You can generate this tarball easily with `make
- dist-software`.
+ be buildable. You can generate this tarball easily with `./project
+ make dist-software`.
* All the figure (and other) output datasets of the project. Don't
rename these files, let them have the same descriptive name
@@ -1201,9 +1188,12 @@ future.
initial/final submission to your desired journal. But we'll just add the
necessary points for arXiv submission here:
- * *Necessary links in comments*: put a link to your project's Git
- repository, Zenodo-DOI (this is not your paper's DOI, its the
- data/resources DOI), and/or SoftwareHeritage link in the comments.
+ * *Necessary links in comments*: put a link to your project's Git
+ repository, Zenodo-DOI (this is not your paper's DOI, its the
+ data/resources DOI), and/or SoftwareHeritage link in the comments.
+
+ - *Update `metadata.conf`*: Once you have your final arXiv ID (formated
+ as: `1234.56789`) put it in `reproduce/analysis/config/metadata.conf`.
- **Submission to a journal**: different journals accept submissions in
different formats, some accept LaTeX, some only want a PDF, or etc. It
@@ -1221,6 +1211,33 @@ future.
the DOI (so you don't need to upload a new version if you just want to
update the metadata).
+ - **After acceptance (before publication)**: Congratulations on the
+ acceptance! The main science content of your paper can't be changed any
+ more, but the paper will now go to the publication editor (for language
+ and style). Your approval of the final proof is necessary before the
+ paper is finally published. Use this period to finalize the final
+ metadata of your project: the journal's DOI. Some journals associate
+ your paper's DOI during this process. So before approving the final
+ proof do these steps:
+
+ * Add the Journal DOI in `reproduce/analysis/config/metadata.conf`,
+ and re-build your final data products, so this important metadata is
+ added.
+
+ * Once you get the final proof, and if everything is OK for you,
+ implement all the good language corrections/edits they have made
+ inside your own copy here and commit it into your project. This will
+ be the final commit of your project before publication.
+
+ * Submit your final project as a new version to Zenodo (and
+ arXiv). The Zenodo one is most important because your plots will
+ link to it and you want the commit hash in the data files that
+ readers will get from Zenodo to be the same hash as the paper.
+
+ * Tell the journal's publication editor to correct the hash and Zenodo
+ ID in your final proof confirmation (so the links point to the
+ correct place). Recall that on every new version upload in Zenodo,
+ you get a new DOI (or Zenodo ID).
@@ -1503,12 +1520,12 @@ for the benefit of others.
# Have a look at the commits in the 'maneage' branch in relation
# with your project.
- $ git log --oneline --graph --decorate --all # General view of branches.
+ $ git log --oneline --graph --all # General view of branches.
- # Go to your 'master' branch and import all the updates into
- # 'master', don't worry about the printed outputs (in particular
+ # Go to your 'main' branch and import all the updates into
+ # 'main', don't worry about the printed outputs (in particular
# the 'CONFLICT's), we'll clean them up in the next step.
- $ git checkout master
+ $ git checkout main
$ git merge maneage
# Ignore conflicting Maneage files that you had previously deleted
@@ -1526,7 +1543,7 @@ for the benefit of others.
git status
# TIP: If you want the changes in one file to be only from a
- # special branch ('maneage' or 'master', completely ignoring
+ # special branch ('maneage' or 'main', completely ignoring
# changes in the other), use this command:
# $ git checkout <BRANCH-NAME> -- <FILENAME>
@@ -1549,7 +1566,7 @@ for the benefit of others.
./project make
# When everything is OK, before continuing with your project's
- # work, don't forget to push both your 'master' branch and your
+ # work, don't forget to push both your 'main' branch and your
# updated 'maneage' branch to your remote server.
git push
git push origin maneage