| Tools for developing Git | |
| ======================== | |
| :sectanchors: | |
| [[summary]] | |
| == Summary | |
| This document gathers tips, scripts, and configuration files 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 the rules in CodingGuidelines, 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 |