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
