MOY Matthieu wrote: > I think you can just drop that sentence. For someone a bit familiar with > either VS code or any other IDE, it's no big surprise that the debugger > integration allows such feature. For someone not familiar with VS code, > the patch about to land in next already contains a link to a page > explaining that. Finally, I drop that sentence, I also think that the link that I put in contrib/vscode/README is sufficient. > contrib/emacs was really not meant for developers hacking on Git. Since > it contains only pointers to obsolete stuff, we may want to just discard > its current content and make it the place to put documentation for > people hacking on Git with Emacs, just like contrib/vscode/ is for VS > code and Git. But we probably have only a few (tens of) lines of > documentation, so adding the doc directly in ToolsForGit.txt is probably > better. I left everything as they were. I just add the configuration lines directly in ToolsForGit.txt because there is not a lot of line. But, in the future, if there is more line, it would be better to move all of this in the contrib/emacs/README. > A good indicator, yes. But reading only the summary ... I take the summary that you propose, so this not a criterion now. > I agree that removing Emacs-specific code from a general document is > nice, but then you should replace it with a link to ToolsForGit.txt like > "Tips to make your editor follow this style can be found in > ToolsForGit.txt" (without being specific to Emacs, that's the point of > the document, it also applies to VS code and may be extended in the > future to other editors). Yup, I fix this, I add a mention to Documentation/ToolsForGit.txt in CodingGuideline. I add it at the end of the file. Thanks for your review, COGONI Guillaume. COGONI Guillaume (1): Documentation/ToolsForGit.txt: Tools for developing Git Documentation/CodingGuidelines | 18 +++++------- Documentation/Makefile | 1 + Documentation/ToolsForGit.txt | 51 ++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 11 deletions(-) create mode 100644 Documentation/ToolsForGit.txt Interdiff versus v2 : diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index a7d21d6f6b..509cd89aa2 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -722,3 +722,10 @@ Writing Documentation: inline substituted text+ instead of `monospaced literal text`, and with the former, the part that should not get substituted must be quoted/escaped. + + +Documentation/ToolsForGit.txt: + + This document collects tips, scripts, and configuration files to help + contributors working with the Git codebase use their favorite tools while + following the Git coding style. diff --git a/Documentation/ToolsForGit.txt b/Documentation/ToolsForGit.txt index dc370a5861..5060d0d231 100644 --- a/Documentation/ToolsForGit.txt +++ b/Documentation/ToolsForGit.txt @@ -5,8 +5,9 @@ Tools for developing Git [[summary]] == Summary -This document aims to gather tools that have a README and/or scripts in -the Git project. +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 @@ -29,6 +30,8 @@ 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: ---- @@ -41,36 +44,8 @@ GIT_CHECKOUT/.dir-locals.el, assuming you use cperl-mode: (cperl-merge-trailing-else . t)))) ---- -- The version for C: ----- -(defun c-lineup-arglist-tabs-only (ignored) - "Line up argument lists by tabs, not spaces" - (let* ((anchor (c-langelem-pos c-syntactic-element)) - (column (c-langelem-2nd-pos c-syntactic-element)) - (offset (- (1+ column) anchor)) - (steps (floor offset c-basic-offset))) - (* (max steps 1) - c-basic-offset))) - -(add-hook 'c-mode-common-hook - (lambda () - ;; Add kernel style - (c-add-style - "linux-tabs-only" - '("linux" (c-offsets-alist - (arglist-cont-nonempty - c-lineup-gcc-asm-reg - c-lineup-arglist-tabs-only)))))) - -(add-hook 'c-mode-hook - (lambda () - (let ((filename (buffer-file-name))) - ;; Enable kernel mode for the appropriate files - (when (and filename - (string-match (expand-file-name "~/src/linux-trees") - filename)) - (setq indent-tabs-mode t) - (setq show-trailing-whitespace t) - (c-set-style "linux-tabs-only"))))) ----- +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 -- 2.25.1