From: Matthieu Moy <Matthieu.Moy@univ-lyon1.fr>
To: COGONI Guillaume <cogoni.guillaume@gmail.com>,
"gitster@pobox.com" <gitster@pobox.com>
Cc: "derrickstolee@github.com" <derrickstolee@github.com>,
"git.jonathan.bressat@gmail.com" <git.jonathan.bressat@gmail.com>,
"git@vger.kernel.org" <git@vger.kernel.org>,
"guillaume.cogoni@gmail.com" <guillaume.cogoni@gmail.com>,
"shaoxuan.yuan02@gmail.com" <shaoxuan.yuan02@gmail.com>
Subject: Re: [PATCH v2 0/1] Documentation/ToolsForGit.txt: Tools for developing Git
Date: Sun, 17 Apr 2022 14:25:20 +0200 [thread overview]
Message-ID: <c6b48fba-c950-bb3a-3fdb-6d420a4cdfbc@univ-lyon1.fr> (raw)
In-Reply-To: <33d2087c66e44037b03db818dae60fea@SAMBXP02.univ-lyon1.fr>
On 4/17/22 11:35, COGONI Guillaume wrote:
> MOY Matthieu wrote:
>
>>> +In particular, this script enables using the VS Code visual debugger, including
>>> +setting breakpoints, logpoints, conditional breakpoints and more in the editor.
>>
>> 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?
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.
If you want to add more explanation, then I think it should be added to
contrib/vscode/README. You will probably want to add in next to the
lines touched by the previous patch, hence either Junio will have to
solve a conflict, or you need to write your patch on top of the previous
one.
>> - 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?
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.
> 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.
A good indicator, yes. But reading only the summary ...
> == Summary
>
> This document aims to gather tools that have a README and/or scripts in
> the Git project.
I have no idea whether this document's audience is "people hacking ON
Git's codebase" or "people using Git (somewhere else)". I believe the
first sentences of the document should answer "is this document for me?"
(i.e. "shall I continue reading?"), and currently it doesn't.
Saying instead something like
This documents gathers tips, scripts and configuration file to help
people working on Git's codebase use their favorite tools while
following Git's coding style.
would make the target audience much clearer IMHO.
> +- 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:
The version for Perl already contains some configuration applicable to C
(indent-tabs-mode, tab-width and fill-column).
> +(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")
This works only if the user checked out Git's source code in
~/src/linux-trees, which is unlikely ;-). I guess this path is not to be
taken literally (i.e. it's more clearly "adapt the configuration to your
actual directory layout"), but using linux-trees here won't make it
clear that it should be the place to Git's source code.
> + filename))
> + (setq indent-tabs-mode t)
This one is redundant with the above for example.
Actually, while the tips given in Linux's kernel CodingStyle are
relevant for us, I'm not sure copy-pasting them in Git's tree actually
has added value. We may as well just link to them, like
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.
(Plus a link to the file on kernel.org)
If you copy paste here, you should cite the source and say stg like
"This is adapted from Linux's suggestion in its CodingStyle document".
> --- 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:
> -
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).
Cheers,
--
Matthieu Moy
https://matthieu-moy.fr/
next prev parent reply other threads:[~2022-04-17 12:25 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 ` [PATCH v2 0/1] Documentation/ToolsForGit.txt: Tools for developing Git COGONI Guillaume
2022-04-17 9:35 ` [PATCH v2 1/1] " COGONI Guillaume
[not found] ` <33d2087c66e44037b03db818dae60fea@SAMBXP02.univ-lyon1.fr>
2022-04-17 12:25 ` Matthieu Moy [this message]
2022-04-20 13:06 ` [PATCH v3 0/1] " 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=c6b48fba-c950-bb3a-3fdb-6d420a4cdfbc@univ-lyon1.fr \
--to=matthieu.moy@univ-lyon1.fr \
--cc=cogoni.guillaume@gmail.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).