Documentation/ToolsForGit.txt: Tools for developing Git

This document gathers tips, scripts and configuration file to help
people working on Git’s codebase use their favorite tools while
following Git’s coding style.

Move the part about Emacs configuration from CodingGuidelines to
ToolsForGit.txt because it's the purpose of the new file centralize the
information about tools.

But, add a mention to Documentation/ToolsForGit.txt in CodingGuidelines
because there is also information about the coding style in it.

Helped-by: Matthieu Moy <Matthieu.Moy@univ-lyon1.fr>
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: COGONI Guillaume <cogoni.guillaume@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
COGONI Guillaume 2022-04-21 10:45:15 +02:00 committed by Junio C Hamano
parent 6cd33dceed
commit 7a06a854ee
3 changed files with 56 additions and 12 deletions

View File

@ -43,7 +43,10 @@ the overall style of existing code. Modifications to existing
code is expected to match the style the surrounding code already code is expected to match the style the surrounding code already
uses (even if it doesn't match the overall style of existing code). uses (even if it doesn't match the overall style of existing code).
But if you must have a list of rules, here they are. But if you must have a list of rules, here are some language
specific ones. Note that Documentation/ToolsForGit.txt document
has a collection of tips to help you use some external tools
to conform to these guidelines.
For shell scripts specifically (not exhaustive): For shell scripts specifically (not exhaustive):
@ -492,17 +495,6 @@ For Perl programs:
- Learn and use Git.pm if you need that functionality. - Learn and use Git.pm if you need that functionality.
- For Emacs, it's useful to put the following in
GIT_CHECKOUT/.dir-locals.el, assuming you use cperl-mode:
;; note the first part is useful for C editing, too
((nil . ((indent-tabs-mode . t)
(tab-width . 8)
(fill-column . 80)))
(cperl-mode . ((cperl-indent-level . 8)
(cperl-extra-newline-before-brace . nil)
(cperl-merge-trailing-else . t))))
For Python scripts: For Python scripts:
- We follow PEP-8 (http://www.python.org/dev/peps/pep-0008/). - We follow PEP-8 (http://www.python.org/dev/peps/pep-0008/).

View File

@ -93,6 +93,7 @@ SP_ARTICLES += $(API_DOCS)
TECH_DOCS += MyFirstContribution TECH_DOCS += MyFirstContribution
TECH_DOCS += MyFirstObjectWalk TECH_DOCS += MyFirstObjectWalk
TECH_DOCS += SubmittingPatches TECH_DOCS += SubmittingPatches
TECH_DOCS += ToolsForGit
TECH_DOCS += technical/bundle-format TECH_DOCS += technical/bundle-format
TECH_DOCS += technical/hash-function-transition TECH_DOCS += technical/hash-function-transition
TECH_DOCS += technical/http-protocol TECH_DOCS += technical/http-protocol

View File

@ -0,0 +1,51 @@
Tools for developing Git
========================
:sectanchors:
[[summary]]
== Summary
This document gathers tips, scripts and configuration file to help people
working on Git's codebase use their favorite tools while following Git's
coding style.
[[author]]
=== Author
The Git community.
[[table_of_contents]]
== Table of contents
- <<vscode>>
- <<emacs>>
[[vscode]]
=== Visual Studio Code (VS Code)
The contrib/vscode/init.sh script creates configuration files that enable
several valuable VS Code features. See contrib/vscode/README.md for more
information on using the script.
[[emacs]]
=== Emacs
This is adapted from Linux's suggestion in its CodingStyle document:
- To follow rules of the CodingGuideline, it's useful to put the following in
GIT_CHECKOUT/.dir-locals.el, assuming you use cperl-mode:
----
;; note the first part is useful for C editing, too
((nil . ((indent-tabs-mode . t)
(tab-width . 8)
(fill-column . 80)))
(cperl-mode . ((cperl-indent-level . 8)
(cperl-extra-newline-before-brace . nil)
(cperl-merge-trailing-else . t))))
----
For a more complete setup, since Git's codebase uses a coding style
similar to the Linux kernel's style, tips given in Linux's CodingStyle
document can be applied here too.
==== https://www.kernel.org/doc/html/v4.10/process/coding-style.html#you-ve-made-a-mess-of-it