All of lore.kernel.org
 help / color / mirror / Atom feed
From: COGONI Guillaume <cogoni.guillaume@gmail.com>
To: gitster@pobox.com
Cc: Matthieu.Moy@univ-lyon1.fr, cogoni.guillaume@gmail.com,
	derrickstolee@github.com, git.jonathan.bressat@gmail.com,
	git@vger.kernel.org, guillaume.cogoni@gmail.com,
	shaoxuan.yuan02@gmail.com
Subject: [PATCH v2 0/1] Documentation/ToolsForGit.txt: Tools for developing Git
Date: Sun, 17 Apr 2022 11:35:48 +0200	[thread overview]
Message-ID: <20220417093549.101436-1-cogoni.guillaume@gmail.com> (raw)
In-Reply-To: <xmqqlew554ye.fsf@gitster.g>

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@gmail.com>).
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


  reply	other threads:[~2022-04-17  9:36 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-12 20:25 [PATCH 0/1] documentation: guide of best practices for GIT developer COGONI Guillaume
2022-04-12 20:25 ` [PATCH 1/1] " COGONI Guillaume
2022-04-13 14:36 ` [PATCH 0/1] " Shaoxuan Yuan
2022-04-13 16:36   ` Guillaume Cogoni
2022-04-16 12:34     ` [PATCH v1 0/1] Documentation/ToolsOnGit.txt: gather information about tools COGONI Guillaume
2022-04-16 12:34       ` [PATCH v1 1/1] " COGONI Guillaume
     [not found]       ` <63d7dc69656e47f7bc7bce4839711f32@SAMBXP02.univ-lyon1.fr>
2022-04-16 13:25         ` Matthieu Moy
2022-04-16 14:51           ` Philip Oakley
2022-04-16 17:11           ` Junio C Hamano
2022-04-17  9:35             ` COGONI Guillaume [this message]
2022-04-17  9:35               ` [PATCH v2 1/1] Documentation/ToolsForGit.txt: Tools for developing Git COGONI Guillaume
     [not found]             ` <33d2087c66e44037b03db818dae60fea@SAMBXP02.univ-lyon1.fr>
2022-04-17 12:25               ` [PATCH v2 0/1] " Matthieu Moy
2022-04-20 13:06                 ` [PATCH v3 " COGONI Guillaume
2022-04-20 13:06                   ` [PATCH v3 1/1] " COGONI Guillaume
2022-04-20 21:23                     ` Junio C Hamano
2022-04-21  8:45                       ` [PATCH v4 0/1] " COGONI Guillaume
2022-04-21  8:45                         ` [PATCH v4 1/1] " COGONI Guillaume

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220417093549.101436-1-cogoni.guillaume@gmail.com \
    --to=cogoni.guillaume@gmail.com \
    --cc=Matthieu.Moy@univ-lyon1.fr \
    --cc=derrickstolee@github.com \
    --cc=git.jonathan.bressat@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=guillaume.cogoni@gmail.com \
    --cc=shaoxuan.yuan02@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.