MOY Matthieu wrote: > I don't think the last sentence is needed, and if it is, it would be > better within contrib/vscode/README.md (so that someone reaching this > README directly do see the information too). I think so too. However, I already make a PATCH last week for contrib/vscode/README: (see <20220407204001.112287-2-cogoni.guillaume@xxxxxxxxx>). And, I see that in What's cooking in git.git (Apr 2022, #04; Thu, 14) it will be merge in Next. So, do I take this PATCH from the last week and I add it this part in contrib/vscode/README or I just add this part here in this new PATCH but where the subject is different? > - 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)))) > Actually, the Linux kernel's CodingStyle contains more relevant stuff > (for C, not Perl): > https://www.kernel.org/doc/html/v4.10/process/coding-style.html#you-ve-made-a-mess-of-it I add this part directly in ToolsForGit.txt and not in the README in contrib/emacs. But, from this document in Documentation/RelNotes/2.18.0.txt, I read this: "The scripts in contrib/emacs/ have outlived their usefulness and have been replaced with a stub that errors out and tells the user there are replacements." So, for the next version of this PATCH, can I replace what is in the README by the configuration that I write in ToolsForGit.txt? OAKLEY Philip wrote: > I'm of the view that a README is a positive indicator that there is some > informational value regarding the tool's use for developing Git being > made available. It doesn't always have to be code before it is of > assistance in developing Git. I agreed with OAKLEY, the README is good indicator to say that we have some information besides the scripts. COGONI Guillaume (1): Documentation/ToolsForGit.txt: Tools for developing Git Documentation/CodingGuidelines | 11 ----- Documentation/Makefile | 1 + Documentation/ToolsForGit.txt | 79 ++++++++++++++++++++++++++++++++++ 3 files changed, 80 insertions(+), 11 deletions(-) create mode 100644 Documentation/ToolsForGit.txt Difference between v1 and v2 diff --git a/Documentation/ToolsOnGit.txt b/Documentation/ToolsForGit.txt index a33b369a06..d96cadd09c 100644 --- a/Documentation/ToolsOnGit.txt +++ b/Documentation/ToolsForGit.txt @@ -1,12 +1,12 @@ -Tools on GIT -============ +Tools for developing Git +======================== :sectanchors: [[summary]] == Summary This document aims to gather tools that have a README and/or scripts in -the GIT project. +the Git project. [[author]] === Author @@ -32,4 +32,48 @@ setting breakpoints, logpoints, conditional breakpoints and more in the editor. [[emacs]] === Emacs -See contrib/emacs/README for more information. +- 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)))) +---- + +- 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"))))) +---- + diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index b20b2f94f1..a7d21d6f6b 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -492,17 +492,6 @@ For Perl programs: - 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: - We follow PEP-8 (http://www.python.org/dev/peps/pep-0008/). -- 2.25.1