summaryrefslogtreecommitdiff
path: root/Documentation/howto
AgeCommit message (Collapse)Author
2025-04-07git-zlib: use `struct z_stream_s` instead of typedefPatrick Steinhardt
Throughout the Git codebase we're using the typedeffed version of `z_stream`, which maps to `struct z_stream_s`. By using a typedef instead of the struct it becomes somewhat harder to predeclare the symbol so that headers depending on the struct can do so without having to pull in "zlib-compat.h". We don't yet have users that would really care about this: the only users that declare `z_stream` as a pointer are in "reftable/block.h", which is a header that is internal to the reftable library. But in the next step we're going to expose the `struct reftable_block` publicly, and that struct does contain a pointer to `z_stream`. And as the public header shouldn't depend on "reftable/system.h", which is an internal implementation detail, we won't have the typedef for `z_stream` readily available. Prepare for this change by using `struct z_stream_s` throughout our code base. In case zlib-ng is used we use a define to map from `z_stream_s` to `zng_stream_s`. Drop the pre-declaration of `struct z_stream` while at it. This struct does not exist in the first place, and the declaration wasn't needed because "reftable/block.h" already includes "reftable/basics.h" which transitively includes "reftable/system.h" and thus "git-zlib.h". Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2025-03-06Merge branch 'tz/doc-txt-to-adoc-fixes'Junio C Hamano
Fallouts from recent renaming of documentation files from .txt suffix to the new .adoc suffix have been corrected. * tz/doc-txt-to-adoc-fixes: (38 commits) xdiff: *.txt -> *.adoc fixes unpack-trees.c: *.txt -> *.adoc fixes transport.h: *.txt -> *.adoc fixes trace2/tr2_sysenv.c: *.txt -> *.adoc fixes trace2.h: *.txt -> *.adoc fixes t6434: *.txt -> *.adoc fixes t6012: *.txt -> *.adoc fixes t/helper/test-rot13-filter.c: *.txt -> *.adoc fixes simple-ipc.h: *.txt -> *.adoc fixes setup.c: *.txt -> *.adoc fixes refs.h: *.txt -> *.adoc fixes pseudo-merge.h: *.txt -> *.adoc fixes parse-options.h: *.txt -> *.adoc fixes object-name.c: *.txt -> *.adoc fixes list-objects-filter-options.h: *.txt -> *.adoc fixes fsck.h: *.txt -> *.adoc fixes diffcore.h: *.txt -> *.adoc fixes diff.h: *.txt -> *.adoc fixes contrib/long-running-filter: *.txt -> *.adoc fixes config.c: *.txt -> *.adoc fixes ...
2025-03-05Merge branch 'pw/build-meson-technical-and-howto-docs'Junio C Hamano
Meson-based build procedure forgot to build some docs, which has been corrected. * pw/build-meson-technical-and-howto-docs: meson: fix building technical and howto docs
2025-03-03howto/new-command: update reference to builtin docsTodd Zullinger
Commit ec14d4ecb5 (builtin.h: take over documentation from api-builtin.txt, 2017-08-02) deleted api-builtin.txt and moved the contents into builtin.h. Most of the references were fixed in d85e9448dd (new-command.txt: update reference to builtin docs, 2023-02-04), but one remained. Fix it. Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2025-03-03Merge branch 'ps/build-meson-fixes-0130'Junio C Hamano
Assorted fixes and improvements to the build procedure based on meson. * ps/build-meson-fixes-0130: gitlab-ci: restrict maximum number of link jobs on Windows meson: consistently use custom program paths to resolve programs meson: fix overwritten `git` variable meson: prevent finding sed(1) in a loop meson: improve handling of `sane_tool_path` option meson: improve PATH handling meson: drop separate version library meson: stop linking libcurl into all executables meson: introduce `libgit_curl` dependency meson: simplify use of the common-main library meson: inline the static 'git' library meson: fix OpenSSL fallback when not explicitly required meson: fix exec path with enabled runtime prefix
2025-03-03meson: fix building technical and howto docsPhillip Wood
When our asciidoc files were renamed from "*.txt" to "*.adoc" in 1f010d6bdf7 (doc: use .adoc extension for AsciiDoc files, 2025-01-20) the "meson.build" file in "Documentation" was updated but the "meson.build" files in the "technical" and "howto" subdirectories were not. This causes the meson build to fail when configured with -Ddocs=html. Fix this by updating the relevant "meson.build" files. Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Acked-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2025-03-01doc: update howto-index.sh for .adoc extensionsTodd Zullinger
The .txt extensions were changed to .adoc in 1f010d6bdf (doc: use .adoc extension for AsciiDoc files, 2025-01-20). This left broken links in the generated howto-index.html. Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2025-02-26meson: prevent finding sed(1) in a loopPatrick Steinhardt
We're searching for the sed(1) executable in a loop, which will make us try to find it multiple times. Starting with the preceding commit we already declare a variable for that program in the top-level build file. Use it so that we only need to search for the program once. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2025-01-21doc: use .adoc extension for AsciiDoc filesbrian m. carlson
We presently use the ".txt" extension for our AsciiDoc files. While not wrong, most editors do not associate this extension with AsciiDoc, meaning that contributors don't get automatic editor functionality that could be useful, such as syntax highlighting and prose linting. It is much more common to use the ".adoc" extension for AsciiDoc files, since this helps editors automatically detect files and also allows various forges to provide rich (HTML-like) rendering. Let's do that here, renaming all of the files and updating the includes where relevant. Adjust the various build scripts and makefiles to use the new extension as well. Note that this should not result in any user-visible changes to the documentation. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-12-27meson: generate articlesPatrick Steinhardt
While the Meson build system already knows to generate man pages and our user manual, it does not yet generate the random assortment of articles that we have. Plug this gap. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-12-27Documentation: refactor "howto-index.sh" for out-of-tree buildsPatrick Steinhardt
The "howto-index.sh" is used to generate an index of our how-to docs. It receives as input the paths to these documents, which would typically be relative to the "Documentation/" directory in Makefile-based builds. In an out-of-tree build though it will get relative that may be rooted somewhere else entirely. The file paths do end up in the generated index, and the expectation is that they should always start with "howto/". But for out-of-tree builds we would populate it with the paths relative to the build directory, which is wrong. Fix the issue by using `$(basename "$file")` to generate the path. While at it, move the script into "howto/" to align it with the location of the comparable "api-index.sh" script. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-10-21global: Fix duplicate word typosSven Strickroth
Used regex to find these typos: (?<!struct )(?<=\s)([a-z]{1,}) \1(?=\s) Signed-off-by: Sven Strickroth <email@cs-ware.de> Signed-off-by: Taylor Blau <me@ttaylorr.com>
2024-10-10Merge branch 'tb/notes-amlog-doc'Junio C Hamano
Document "amlog" notes. * tb/notes-amlog-doc: Documentation: mention the amlog in howto/maintain-git.txt
2024-10-03Documentation: mention the amlog in howto/maintain-git.txtTaylor Blau
Part of the maintainer's job is to keep up-to-date and publish the 'amlog' which stores a mapping between a patch's 'Message-Id' e-mail header and the commit generated by applying said patch. But our Documentation/howto/maintain-git.txt does not mention the amlog, or the scripts which exist to help the maintainer keep the amlog up-to-date. (This bit me during the first integration round I did as interim maintainer[1] involved a lot of manual clean-up. More recently it has come up as part of a research effort to better understand a patch's lifecycle on the list[2].) Address this gap by briefly documenting the existence and purpose of the 'post-applypatch' hook in maintaining the amlog entries. [1]: https://lore.kernel.org/git/Y19dnb2M+yObnftj@nand.local/ [2]: https://lore.kernel.org/git/CAJoAoZ=4ARuH3aHGe5yC_Xcnou_c396q_ZienYPY7YnEzZcyEg@mail.gmail.com/ Suggested-by: Junio C Hamano <gitster@pobox.com> Helped-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-09-26howto-maintain-git: discarding inactive topicsJunio C Hamano
When a patch series happened to look interesting to the maintainer but is not ready for 'next', it is applied on a topic branch and merged to the 'seen' branch to keep an eye on it. In an ideal world, the participants give reviews and the original author responds to the reviews, and such iterations may produce newer versions of the patch series, and at some point, a concensus is formed that the latest round is good enough for 'next'. Then the topic is merged to 'next' for inclusion in a future release. In a much less ideal world we live in, however, a topic sometimes get stalled. The original author may not respond to hanging review comments, may promise an update will be sent but does not manage to do so, nobody talks about the topic on the list and nobody builds upon it, etc. Following the recent trend to document and give more transparency to the decision making process, let's set a deadline to keep a topic still alive, and actively discard those that are inactive for a long period of time. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-09-12Merge branch 'jc/how-to-maintain-updates' into maint-2.46Junio C Hamano
Doc updates. * jc/how-to-maintain-updates: howto-maintain: mention preformatted docs
2024-08-21Merge branch 'jc/how-to-maintain-updates'Junio C Hamano
Doc updates. * jc/how-to-maintain-updates: howto-maintain: mention preformatted docs
2024-08-16Merge branch 'jc/how-to-maintain-updates' (early part) into maint-2.46Junio C Hamano
* 'jc/how-to-maintain-updates' (early part): howto-maintain: update daily tasks howto-maintain: cover a whole development cycle
2024-08-14howto-maintain: mention preformatted docsJunio C Hamano
Forgot to mention that the preformatted documentation repositories are updated every time the master branch of the project advances. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-07-31Merge branch 'jc/how-to-maintain-updates'Junio C Hamano
Doc update. * jc/how-to-maintain-updates: howto-maintain: update daily tasks howto-maintain: cover a whole development cycle
2024-07-19howto-maintain: update daily tasksJunio C Hamano
Some "implementation details" of how I perform these integration tasks day to day have changed since the document was originally written. Update to reflect the way things are currently done. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-07-19howto-maintain: cover a whole development cycleJunio C Hamano
The "policy" part is more important than the "daily operation" part in that it establishes why certain maintainer tasks exist and are performed the way they are. The text briefly touches the role each integration branches play in the workflow, but does not give the whole picture of what happens in a single development cycle using these branches. Extend the description to describe a whole development cycle. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-03-16doc: avoid redundant use of catBeat Bolli
The update-hook-example.txt script uses this anti-pattern twice. Call grep with the input file name directy. While at it, merge the two consecutive grep calls. Signed-off-by: Beat Bolli <dev+git@drbeat.li> Acked-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-02-08Merge branch 'js/update-urls-in-doc-and-comment' into maint-2.43Junio C Hamano
Stale URLs have been updated to their current counterparts (or archive.org) and HTTP links are replaced with working HTTPS links. * js/update-urls-in-doc-and-comment: doc: refer to internet archive doc: update links for andre-simon.de doc: switch links to https doc: update links to current pages
2023-12-18Merge branch 'js/update-urls-in-doc-and-comment'Junio C Hamano
Stale URLs have been updated to their current counterparts (or archive.org) and HTTP links are replaced with working HTTPS links. * js/update-urls-in-doc-and-comment: doc: refer to internet archive doc: update links for andre-simon.de doc: switch links to https doc: update links to current pages
2023-11-26doc: switch links to httpsJosh Soref
These sites offer https versions of their content. Using the https versions provides some protection for users. Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-10-09documentation: fix choice of articleElijah Newren
Diff best viewed with --color-diff. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-10-09documentation: fix subject/verb agreementElijah Newren
Diff best viewed with --color-diff. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-10-09documentation: add missing wordsElijah Newren
Diff best viewed with --color-diff. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-10-09documentation: wording improvementsElijah Newren
Diff best viewed with --color-diff. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-06new-command.txt: update reference to builtin docsWes Lord
Commit ec14d4ecb5 (builtin.h: take over documentation from api-builtin.txt, 2017-08-02) deleted api-builtin.txt and moved the contents into builtin.h, but new-command.txt still references the old file. Signed-off-by: Wes Lord <weslord@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2022-11-23Merge branch 'tb/howto-maintain-git-fixes'Junio C Hamano
A pair of bugfixes to the Documentation/howto/maintain-git.txt guide. * tb/howto-maintain-git-fixes: Documentation: build redo-seen.sh from jch..seen Documentation: build redo-jch.sh from master..jch
2022-11-08Merge branch 'tb/howto-using-redo-script'Taylor Blau
Doc update. * tb/howto-using-redo-script: Documentation/howto/maintain-git.txt: fix Meta/redo-jch.sh invocation
2022-10-31Documentation: build redo-seen.sh from jch..seenTaylor Blau
In a similar spirit as the previous commit, the 'seen' branch gets rebuilt by reintegrating topics between 'jch' and the (old) tip of 'seen'. Update the instructions on how to generate Meta/redo-seen.sh for the first time to reflect this. Signed-off-by: Taylor Blau <me@ttaylorr.com>
2022-10-31Documentation: build redo-jch.sh from master..jchTaylor Blau
Rebuilding the 'jch' branch begins by reintegrating any topics between 'master' and 'jch', not 'master' and 'seen'. In the maintainer guide, the documentation isn't quite right, since the initial input to Meta/Reintegrate is "master..seen", not "master..jch". This can lead to confusing results when generating the Meta/redo-jch.sh script for the first time. Additionally, rebuilding 'jch' takes place in two steps. First, running the script up to the first "### match next" cut-line, and then comparing the result with what's on 'next' (i.e. with "git diff jch next"). Then, the remaining set of topics get merged down to 'jch' (which aren't on 'next') by running the entire "redo-jch.sh" script. Clarify the documentation to reflect this. Signed-off-by: Taylor Blau <me@ttaylorr.com>
2022-10-30Merge branch 'jr/embargoed-releases-doc'Taylor Blau
The role the security mailing list plays in an embargoed release has been documented. * jr/embargoed-releases-doc: embargoed releases: also describe the git-security list and the process
2022-10-26Documentation/howto/maintain-git.txt: fix Meta/redo-jch.sh invocationTaylor Blau
The Meta/redo-jch.sh script is generated a few lines earlier by running: $ Meta/Reintegrate master..seen >Meta/redo-jch.sh But the resulting script is not necessarily executable. Later mentions of this script invoke it with sh (instead of directly), but this one is an odd one out. Update the documentation to invoke the Meta/redo-jch.sh script with sh in case the maintainer has not made the script executable. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2022-10-24embargoed releases: also describe the git-security list and the processJulia Ramer
With the recent turnover on the git-security list, questions came up how things are usually run. Rather than answering questions individually, extend Git's existing documentation about security vulnerabilities to describe the git-security mailing list, how things are run on that list, and what to expect throughout the process from the time a security bug is reported all the way to the time when a fix is released. Helped-by: Junio C Hamano <gitster@pobox.com> Helped-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Julia Ramer <gitprplr@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2022-08-04docs: move pack format docs to man section 5Ævar Arnfjörð Bjarmason
Continue the move of existing Documentation/technical/* protocol and file-format documentation into our main documentation space by moving the various documentation pertaining to the *.pack format and related files, and updating things that refer to it to link to the new location. By moving these we can properly link from the newly created gitformat-commit-graph to a gitformat-chunk-format page. Integrating "Documentation/technical/bitmap-format.txt" and "Documentation/technical/cruft-packs.txt" might logically be part of this change, but as those cover parts of the wider "pack format" (including associated files) that's documented outside of "Documentation/technical/pack-format.txt" let's leave those for now, subsequent commit(s) will address those. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-03-27Document how we do embargoed releasesJohannes Schindelin
Whenever we fix critical vulnerabilities, we follow some sort of protocol (e.g. setting a coordinated release date, keeping the fix under embargo until that time, coordinating with packagers and/or hosting sites, etc). Similar in spirit to `Documentation/howto/maintain-git.txt`, let's formalize the details in a document. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-07-06Merge branch 'js/pu-to-seen'Junio C Hamano
The documentation and some tests have been adjusted for the recent renaming of "pu" branch to "seen". * js/pu-to-seen: tests: reference `seen` wherever `pu` was referenced docs: adjust the technical overview for the rename `pu` -> `seen` docs: adjust for the recent rename of `pu` to `seen`
2020-06-25docs: adjust the technical overview for the rename `pu` -> `seen`Johannes Schindelin
This patch tries to rewrite history a bit: the mail contents that have been added to Git's source code are actually fixed, we cannot change them in hindsight. But as the `pu` branch _was_ renamed, and as the documents were added to Git's source code not so much as historical record, but to describe the status quo, let's pretend that we have a time machine and adjust the provided information accordingly. Where appropriate, quotes were added for readability. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-03-09update how-to-maintain-gitJunio C Hamano
Some parts of the workflow described in the document has got a bit stale with the recent toolchain improvements. Update the procedure a bit, and also describe the convention used around SQUASH??? fixups. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-11-07Documentation: fix a bunch of typos, both old and newElijah Newren
Reported-by: Jens Schleusener <Jens.Schleusener@fossies.org> Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-03-13doc: format pathnames and URLs as monospace.Corentin BOMPARD
Applying CodingGuidelines about monospace on pathnames and URLs. See Documentation/CodingGuidelines.txt for more information. Signed-off-by: Corentin BOMPARD <corentin.bompard@etu.univ-lyon1.fr> Signed-off-by: Nathan BERBEZIER <nathan.berbezier@etu.univ-lyon1.fr> Signed-off-by: Pablo CHABANNE <pablo.chabanne@etu.univ-lyon1.fr> Signed-off-by: Matthieu MOY <matthieu.moy@univ-lyon1.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-10-30Merge branch 'uk/merge-subtree-doc-update'Junio C Hamano
Belated documentation update to adjust to a new world order that happened a yew years ago. * uk/merge-subtree-doc-update: howto/using-merge-subtree: mention --allow-unrelated-histories
2018-10-25howto/using-merge-subtree: mention --allow-unrelated-historiesUwe Kleine-König
Without passing --allow-unrelated-histories the command sequence fails as intended since commit e379fdf34fee ("merge: refuse to create too cool a merge by default"). To setup a subtree merging unrelated histories is normal, so add the option to the howto document. Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-10-11doc: fix a typo and clarify a sentenceMihir Mehta
I noticed that git-merge-base was unlikely to actually be a git command, and tried it in my shell. Seeing that it doesn't work, I cleaned up two places in the docs where it appears. Signed-off-by: Mihir Mehta <mihir@cs.utexas.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-03-27t/helper: merge test-sha1 into test-toolNguyễn Thái Ngọc Duy
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-04-20doc: use https links to avoid http redirectJeff King
Many sites these days unconditionally redirect http requests to their https equivalents. Let's make our links https in the first place to save the client a redirect. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>