blob: 5060d0d2314c316364b7579236a1c2572c62ba64 [file] [log] [blame]
COGONI Guillaume7a06a852022-04-21 10:45:15 +02001Tools for developing Git
2========================
3:sectanchors:
4
5[[summary]]
6== Summary
7
8This document gathers tips, scripts and configuration file to help people
9working on Git's codebase use their favorite tools while following Git's
10coding style.
11
12[[author]]
13=== Author
14
15The Git community.
16
17[[table_of_contents]]
18== Table of contents
19
20- <<vscode>>
21- <<emacs>>
22
23[[vscode]]
24=== Visual Studio Code (VS Code)
25
26The contrib/vscode/init.sh script creates configuration files that enable
27several valuable VS Code features. See contrib/vscode/README.md for more
28information on using the script.
29
30[[emacs]]
31=== Emacs
32
33This is adapted from Linux's suggestion in its CodingStyle document:
34
35- To follow rules of the CodingGuideline, it's useful to put the following in
36GIT_CHECKOUT/.dir-locals.el, assuming you use cperl-mode:
37----
38;; note the first part is useful for C editing, too
39((nil . ((indent-tabs-mode . t)
40 (tab-width . 8)
41 (fill-column . 80)))
42 (cperl-mode . ((cperl-indent-level . 8)
43 (cperl-extra-newline-before-brace . nil)
44 (cperl-merge-trailing-else . t))))
45----
46
47For a more complete setup, since Git's codebase uses a coding style
48similar to the Linux kernel's style, tips given in Linux's CodingStyle
49document can be applied here too.
50
51==== https://www.kernel.org/doc/html/v4.10/process/coding-style.html#you-ve-made-a-mess-of-it