From: Konstantin Kharlamov <hi-angel@yandex.ru>
To: Eli Zaretskii <eliz@gnu.org>, Sean Whitton <spwhitton@spwhitton.name>
Cc: luangruo@yahoo.com, arne_bab@web.de, ams@gnu.org, emacs-devel@gnu.org
Subject: Re: contributing to Emacs
Date: Sat, 24 Jun 2023 15:36:20 +0300 [thread overview]
Message-ID: <eb82ec00b6c4603b5a7e4e616fd73873770e99e5.camel@yandex.ru> (raw)
In-Reply-To: <83ttuxz4ne.fsf@gnu.org>
On Sat, 2023-06-24 at 10:43 +0300, Eli Zaretskii wrote:
>
> What most people do instead is they provide a series where each patch
> is a step towards the solution. First, a patch with some refactoring,
> then another patch with the first aspect of the solution, another
> patch with the second aspect, etc. Such series make no sense as a
> series, because the patches are not really independent; instead, they
> are _incremental_. For example, it usually makes no sense to do the
> refactoring if we aren't installing the changes which need it.
I might be misunderstanding something, but as someone who regularly posts such
"incremental changes" at my work, I tend to disagree that such refactoring will
not be needed if the final change not applied.
The point of such refactoring is improving existing code. Like, separating
larger functions to smaller one, encapsulating logic and reducing variables
scope, constifying stuff… I agree that the driving force for these changes is
making some final change that adds some new feature or something… However, even
if the final feature does not make it through, the changes per se make code
easier to maintain and review. I even had multiple occasions at work where I was
making such incremental changes, but the final point I was doing them for was
never reached for one reason or another. But we still applied the refactoring,
because it's an improvement nonetheless.
> Moreover, this technique frequently leads to multiple patches touching
> the same places several times, so when you review the first patch, you
> are looking at code that will be modified later, and risk providing
> comments that are irrelevant, because a later patch in the series
> rewrites that code anyway, perhaps exactly in a way that you want to
> tell the contributor to use.
Actually, this is exactly how review works. It *does not* matter if later code
rewrote the same place again. If you found a problem in *current* commit/patch,
that means that exactly *this* commit/patch needs to be fixed.
That α) simplifies review, and β) makes sure that if later commit gets reverted
at some point, the code that is left would still be valid.
next prev parent reply other threads:[~2023-06-24 12:36 UTC|newest]
Thread overview: 364+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-16 11:20 Android port of Emacs Eli Zaretskii
2023-06-16 13:03 ` Po Lu
2023-06-16 13:17 ` Po Lu
2023-06-16 15:16 ` Dr. Arne Babenhauserheide
2023-06-16 15:32 ` Eli Zaretskii
2023-06-16 16:34 ` Dr. Arne Babenhauserheide
2023-06-16 19:34 ` Bob Rogers
2023-06-16 23:46 ` Po Lu
2023-06-18 2:10 ` Richard Stallman
2023-06-17 0:49 ` Konstantin Kharlamov
2023-06-17 6:20 ` Eli Zaretskii
2023-06-17 9:28 ` Dr. Arne Babenhauserheide
2023-06-17 13:34 ` Konstantin Kharlamov
2023-06-17 16:47 ` Alfred M. Szmidt
2023-06-17 18:11 ` contributing to Emacs Konstantin Kharlamov
2023-06-17 18:36 ` Alfred M. Szmidt
2023-06-17 19:39 ` Konstantin Kharlamov
2023-06-17 21:00 ` Alfred M. Szmidt
2023-06-17 21:10 ` Konstantin Kharlamov
2023-06-17 21:19 ` Alfred M. Szmidt
2023-06-17 21:26 ` Konstantin Kharlamov
2023-06-17 22:25 ` Alfred M. Szmidt
2023-06-17 22:39 ` Konstantin Kharlamov
2023-06-18 5:20 ` Eli Zaretskii
2023-06-18 8:53 ` Konstantin Kharlamov
2023-06-18 9:01 ` Po Lu
2023-06-18 9:23 ` Konstantin Kharlamov
2023-06-18 9:25 ` Po Lu
2023-06-18 10:04 ` Konstantin Kharlamov
2023-06-18 10:07 ` Po Lu
2023-06-18 9:57 ` Alfred M. Szmidt
2023-06-18 9:01 ` Eli Zaretskii
2023-06-18 9:06 ` Eli Zaretskii
2023-06-18 9:21 ` Konstantin Kharlamov
2023-06-18 12:00 ` Michael Albinus
2023-06-18 13:29 ` [External] : " Drew Adams
2023-06-18 22:46 ` Konstantin Kharlamov
2023-06-19 2:30 ` Eli Zaretskii
2023-06-18 9:18 ` Konstantin Kharlamov
2023-06-18 9:35 ` Eli Zaretskii
2023-06-18 21:16 ` Dmitry Gutov
2023-06-18 10:00 ` Philip Kaludercic
2023-06-18 10:15 ` Konstantin Kharlamov
2023-06-18 10:22 ` Philip Kaludercic
2023-06-23 6:49 ` Sean Whitton
2023-06-24 15:37 ` Philip Kaludercic
2023-06-25 7:40 ` Sean Whitton
2023-06-25 11:32 ` Setting 'vc-default-patch-addressee' in .dir-locals.el Philip Kaludercic
2023-06-18 12:13 ` contributing to Emacs Po Lu
2023-06-18 12:26 ` Konstantin Kharlamov
2023-06-18 13:43 ` Alfred M. Szmidt
2023-06-18 14:57 ` Dr. Arne Babenhauserheide
2023-06-18 16:29 ` Eli Zaretskii
2023-06-18 18:52 ` Dr. Arne Babenhauserheide
2023-06-18 19:10 ` Alfred M. Szmidt
2023-06-18 19:11 ` Eli Zaretskii
2023-06-18 20:10 ` Konstantin Kharlamov
2023-06-19 2:24 ` Eli Zaretskii
2023-06-19 6:05 ` Dr. Arne Babenhauserheide
2023-06-19 18:07 ` David Masterson
2023-06-19 18:50 ` Eli Zaretskii
2023-06-19 21:29 ` Konstantin Kharlamov
2023-06-19 22:49 ` David Masterson
2023-06-20 11:14 ` Eli Zaretskii
2023-06-20 15:45 ` Konstantin Kharlamov
2023-06-20 16:14 ` Eli Zaretskii
2023-06-20 16:32 ` Lynn Winebarger
2023-06-20 16:42 ` Eli Zaretskii
2023-06-20 19:49 ` Konstantin Kharlamov
2023-06-24 1:44 ` Björn Bidar
2023-06-24 3:10 ` Po Lu
2023-06-24 7:00 ` Eli Zaretskii
2023-06-24 7:54 ` Michael Albinus
2023-06-25 2:25 ` Richard Stallman
2023-06-25 16:41 ` Corwin Brust
2023-06-25 23:31 ` Björn Bidar
2023-06-26 16:47 ` Ian Kelling
2023-06-27 11:08 ` Yuchen Pei
2023-06-27 13:52 ` Corwin Brust
2023-06-28 4:33 ` Björn Bidar
2023-06-29 3:03 ` Richard Stallman
2023-07-03 2:32 ` Björn Bidar
2023-07-03 4:25 ` Dr. Arne Babenhauserheide
2023-07-05 2:07 ` Richard Stallman
2023-07-04 1:58 ` Richard Stallman
2023-07-05 13:19 ` Yuchen Pei
2023-07-09 2:53 ` Richard Stallman
2023-06-27 1:05 ` Richard Stallman
2023-06-28 2:18 ` Richard Stallman
2023-06-20 16:24 ` Alfred M. Szmidt
2023-06-20 16:33 ` Dr. Arne Babenhauserheide
2023-06-19 22:47 ` David Masterson
2023-06-20 1:17 ` Po Lu
2023-06-20 2:24 ` David Masterson
2023-06-20 7:01 ` Alfred M. Szmidt
2023-06-21 0:51 ` Richard Stallman
2023-06-21 4:13 ` Po Lu
2023-06-21 4:23 ` David Masterson
2023-06-23 1:47 ` Richard Stallman
2023-06-23 2:28 ` Po Lu
2023-06-25 2:25 ` Richard Stallman
2023-06-20 11:20 ` Eli Zaretskii
2023-06-18 8:34 ` Alfred M. Szmidt
2023-06-18 8:58 ` Konstantin Kharlamov
2023-06-18 0:50 ` Po Lu
2023-06-20 2:55 ` Richard Stallman
2023-06-20 3:39 ` Po Lu
2023-06-21 9:20 ` Gregory Heytings
2023-06-22 1:56 ` Richard Stallman
2023-06-22 2:23 ` Po Lu
2023-06-22 7:47 ` Philip Kaludercic
2023-06-22 7:59 ` Po Lu
2023-06-22 8:38 ` Dr. Arne Babenhauserheide
2023-06-20 11:30 ` Eli Zaretskii
2023-06-17 21:44 ` chad
2023-06-18 9:26 ` Dr. Arne Babenhauserheide
2023-06-18 10:05 ` Eli Zaretskii
2023-06-18 10:30 ` Dr. Arne Babenhauserheide
2023-06-18 10:52 ` Eli Zaretskii
2023-06-18 11:00 ` Dr. Arne Babenhauserheide
2023-06-18 10:57 ` Konstantin Kharlamov
2023-06-18 8:59 ` Dr. Arne Babenhauserheide
2023-06-18 9:30 ` Konstantin Kharlamov
2023-06-18 9:34 ` Konstantin Kharlamov
2023-06-18 9:56 ` Konstantin Kharlamov
2023-06-18 10:02 ` Eli Zaretskii
2023-06-18 10:13 ` Konstantin Kharlamov
2023-06-18 10:22 ` Eli Zaretskii
2023-06-18 10:27 ` Konstantin Kharlamov
2023-06-18 10:36 ` Eli Zaretskii
2023-06-18 10:44 ` Konstantin Kharlamov
2023-06-18 10:59 ` Eli Zaretskii
2023-06-18 11:14 ` Konstantin Kharlamov
2023-06-18 11:32 ` Eli Zaretskii
2023-06-18 11:54 ` Konstantin Kharlamov
2023-06-18 12:18 ` Eli Zaretskii
2023-06-18 12:24 ` Konstantin Kharlamov
2023-06-18 15:20 ` Dr. Arne Babenhauserheide
2023-06-18 10:54 ` Dr. Arne Babenhauserheide
2023-06-18 11:11 ` Konstantin Kharlamov
2023-06-18 12:10 ` Po Lu
2023-06-18 12:28 ` Konstantin Kharlamov
2023-06-18 12:51 ` Eli Zaretskii
2023-06-18 13:02 ` Konstantin Kharlamov
2023-06-18 13:13 ` Eli Zaretskii
2023-06-18 13:32 ` Po Lu
2023-06-18 13:50 ` Konstantin Kharlamov
2023-06-18 10:12 ` Po Lu
2023-06-18 10:22 ` Konstantin Kharlamov
2023-06-18 12:09 ` Po Lu
2023-06-18 12:30 ` Konstantin Kharlamov
2023-06-18 13:29 ` Po Lu
2023-06-18 13:55 ` Konstantin Kharlamov
2023-06-18 12:33 ` Konstantin Kharlamov
2023-06-18 13:30 ` Po Lu
2023-06-18 13:57 ` Konstantin Kharlamov
2023-06-23 6:51 ` Sean Whitton
2023-06-23 7:06 ` Po Lu
2023-06-23 7:14 ` Sean Whitton
2023-06-23 7:17 ` Eli Zaretskii
2023-06-24 7:21 ` Sean Whitton
2023-06-24 7:43 ` Eli Zaretskii
2023-06-24 12:36 ` Konstantin Kharlamov [this message]
2023-06-24 14:44 ` Eli Zaretskii
2023-06-24 16:17 ` Konstantin Kharlamov
2023-06-24 17:13 ` Eli Zaretskii
2023-06-25 7:39 ` Sean Whitton
2023-06-18 9:43 ` Eli Zaretskii
2023-06-18 10:19 ` Dr. Arne Babenhauserheide
2023-06-18 10:31 ` Eli Zaretskii
2023-06-18 10:50 ` Dr. Arne Babenhauserheide
2023-06-18 11:29 ` Eli Zaretskii
2023-06-16 15:49 ` Android port of Emacs Thomas Fitzsimmons
2023-06-16 16:28 ` Eli Zaretskii
2023-06-16 23:45 ` Po Lu
2023-06-16 21:19 ` chad
2023-06-17 0:11 ` Po Lu
2023-06-17 6:18 ` Eli Zaretskii
2023-06-17 6:38 ` Po Lu
2023-06-17 6:47 ` Eli Zaretskii
2023-06-17 7:08 ` Po Lu
2023-06-17 7:27 ` Eli Zaretskii
2023-06-17 7:41 ` Po Lu
2023-06-17 8:47 ` Eli Zaretskii
2023-06-17 9:36 ` Dr. Arne Babenhauserheide
2023-06-17 9:57 ` Po Lu
2023-06-18 7:33 ` Sean Whitton
2023-06-30 22:09 ` Stefan Monnier via Emacs development discussions.
2023-06-17 6:00 ` Eli Zaretskii
2023-06-17 6:57 ` Po Lu
2023-06-17 7:10 ` Po Lu
2023-06-17 7:21 ` Eli Zaretskii
2023-06-17 7:33 ` Po Lu
2023-06-17 7:54 ` Alfred M. Szmidt
2023-06-17 8:02 ` Po Lu
2023-06-17 8:43 ` Eli Zaretskii
2023-06-17 16:47 ` Alfred M. Szmidt
2023-06-18 0:36 ` Po Lu
2023-06-19 2:13 ` Richard Stallman
2023-06-19 7:51 ` Manuel Giraud via Emacs development discussions.
2023-06-19 8:22 ` Po Lu
2023-06-19 16:42 ` Eli Zaretskii
2023-06-19 17:54 ` Eli Zaretskii
2023-06-18 1:10 ` Dmitry Gutov
2023-06-18 1:24 ` Po Lu
2023-06-18 2:07 ` Óscar Fuentes
2023-06-20 13:29 ` Po Lu
2023-06-22 22:49 ` Gregory Heytings
2023-06-23 0:22 ` Po Lu
2023-06-23 7:37 ` Gregory Heytings
2023-06-23 8:52 ` Po Lu
2023-06-26 15:18 ` Gregory Heytings
2023-06-27 0:39 ` Po Lu
2023-07-01 14:13 ` Gregory Heytings
2023-06-24 12:17 ` Óscar Fuentes
2023-06-24 13:01 ` Po Lu
2023-06-24 13:57 ` Óscar Fuentes
2023-06-25 0:07 ` Po Lu
2023-06-25 2:02 ` Óscar Fuentes
2023-06-25 4:04 ` Po Lu
2023-07-01 19:02 ` Spencer Baugh
2023-07-02 5:09 ` Po Lu
2023-07-02 12:50 ` Dmitry Gutov
2023-07-02 12:59 ` Po Lu
2023-07-02 13:15 ` Eli Zaretskii
2023-07-13 13:54 ` Gregory Heytings
2023-07-13 23:56 ` Po Lu
2023-07-02 13:16 ` Dmitry Gutov
2023-07-02 15:45 ` Spencer Baugh
2023-07-02 16:29 ` Dmitry Gutov
2023-07-02 17:28 ` Dmitry Gutov
2023-07-02 18:48 ` Spencer Baugh
2023-07-02 23:53 ` Po Lu
2023-07-02 23:51 ` Po Lu
2023-07-04 12:34 ` Jean Louis
2023-07-04 15:46 ` Dmitry Gutov
2023-07-05 0:18 ` Jean Louis
2023-07-11 20:53 ` Bryce
2023-07-02 9:31 ` Arsen Arsenović
2023-07-02 11:29 ` Po Lu
2023-07-02 14:52 ` Dr. Arne Babenhauserheide
2023-07-02 15:26 ` Arsen Arsenović
2023-07-03 0:03 ` Po Lu
2023-07-04 18:59 ` Arsen Arsenović
2023-06-25 4:45 ` Takesi Ayanokoji
2023-06-25 5:56 ` Po Lu
2023-06-25 10:07 ` Takesi Ayanokoji
2023-06-25 10:21 ` Po Lu
2023-06-25 11:35 ` Eli Zaretskii
2023-06-26 6:11 ` Takesi Ayanokoji
2023-06-18 2:46 ` Dmitry Gutov
2023-06-18 3:05 ` Po Lu
2023-06-18 22:35 ` Dmitry Gutov
2023-06-19 0:39 ` Po Lu
2023-06-19 12:04 ` Dmitry Gutov
2023-06-18 5:31 ` Eli Zaretskii
2023-06-18 5:48 ` Po Lu
2023-06-18 7:33 ` Eli Zaretskii
2023-06-18 22:26 ` Dmitry Gutov
2023-06-21 0:50 ` Richard Stallman
2023-06-21 11:32 ` Eli Zaretskii
2023-06-23 1:47 ` Richard Stallman
2023-06-23 7:04 ` Eli Zaretskii
2023-06-23 9:05 ` Po Lu
2023-06-23 10:23 ` Eli Zaretskii
2023-06-23 11:38 ` Po Lu
2023-06-23 12:08 ` Eli Zaretskii
2023-06-24 1:19 ` Po Lu
2023-06-24 6:54 ` Eli Zaretskii
2023-06-24 15:19 ` Robert Pluim
2023-06-24 18:56 ` Alan Mackenzie
2023-06-25 0:12 ` Po Lu
2023-06-29 20:34 ` Filipp Gunbin
2023-06-30 0:35 ` Po Lu
2023-06-30 3:21 ` Takesi Ayanokoji
2023-06-30 4:54 ` Jean Louis
2023-06-24 1:39 ` Dmitry Gutov
2023-06-24 7:06 ` Eli Zaretskii
2023-06-24 22:23 ` Dmitry Gutov
2023-06-25 0:10 ` Po Lu
2023-06-25 2:26 ` Dmitry Gutov
2023-06-25 4:15 ` Po Lu
2023-06-25 5:10 ` Jean Louis
2023-06-25 5:57 ` Po Lu
2023-06-30 4:57 ` Jean Louis
2023-06-30 5:12 ` Po Lu
2023-07-04 12:27 ` Jean Louis
2023-06-26 2:12 ` Richard Stallman
2023-06-23 12:33 ` Dr. Arne Babenhauserheide
2023-06-24 7:30 ` Sean Whitton
2023-06-25 2:25 ` Richard Stallman
2023-06-25 2:40 ` Po Lu
2023-06-27 1:07 ` Richard Stallman
2023-06-25 5:38 ` Eli Zaretskii
2023-06-27 1:07 ` Richard Stallman
2023-06-17 23:16 ` Gregory Heytings
2023-06-18 0:42 ` Po Lu
2023-06-18 6:20 ` Gregory Heytings
2023-06-18 6:56 ` Po Lu
2023-06-18 22:53 ` Gregory Heytings
2023-06-19 0:34 ` Po Lu
2023-06-19 14:27 ` Gregory Heytings
2023-06-21 0:52 ` Richard Stallman
2023-06-21 9:20 ` Gregory Heytings
[not found] ` <87r0q53vi7.fsf@dick>
2023-06-23 1:47 ` Richard Stallman
2023-06-19 16:19 ` Eli Zaretskii
2023-06-20 1:13 ` Po Lu
2023-06-20 5:57 ` chad
2023-06-20 11:25 ` Eli Zaretskii
2023-06-21 9:19 ` Gregory Heytings
2023-06-18 0:57 ` Po Lu
2023-06-30 21:53 ` Stefan Monnier via Emacs development discussions.
2023-07-01 14:13 ` Gregory Heytings
2023-07-01 14:35 ` Stefan Monnier
2023-07-01 15:09 ` Gregory Heytings
2023-07-02 15:43 ` Stefan Monnier
2023-07-13 13:55 ` Gregory Heytings
2023-07-13 16:53 ` Stefan Monnier
2023-07-13 23:55 ` Po Lu
2023-07-17 1:50 ` Po Lu
2023-08-10 11:28 ` Gregory Heytings
2023-08-10 12:50 ` Po Lu
2023-08-10 13:26 ` Eric S Fraga
2023-08-10 13:45 ` Eli Zaretskii
2023-08-10 13:33 ` Stefan Monnier
2023-07-02 9:00 ` Dr. Arne Babenhauserheide
2023-06-18 20:39 ` Thanos Apollo
2023-06-19 16:08 ` Eli Zaretskii
2023-06-30 21:44 ` Stefan Monnier via Emacs development discussions.
2023-06-25 23:37 ` Björn Bidar
2023-06-30 21:40 ` Stefan Monnier
-- strict thread matches above, loose matches on Subject: below --
2022-09-07 20:01 Contributing to Emacs João Paulo Labegalini de Carvalho
2022-09-07 20:32 ` Mattias Engdegård
2022-09-08 16:26 ` João Paulo Labegalini de Carvalho
2022-09-08 16:39 ` Eli Zaretskii
2022-09-07 21:33 ` Christopher Dimech
2022-09-08 5:40 ` Eli Zaretskii
2022-09-08 10:22 ` Christopher Dimech
2022-09-08 11:57 ` Christopher Dimech
2022-09-08 12:27 ` Robert Pluim
2022-09-08 13:11 ` Christopher Dimech
2022-09-08 13:25 ` Robert Pluim
2022-09-08 13:38 ` Óscar Fuentes
2022-09-08 14:13 ` Robert Pluim
2022-09-08 14:48 ` Óscar Fuentes
2022-09-08 15:21 ` Christopher Dimech
2022-09-08 12:12 ` Christopher Dimech
2022-09-08 13:47 ` Eli Zaretskii
2022-09-08 14:49 ` Christopher Dimech
2022-09-08 14:55 ` Visuwesh
2022-09-08 15:16 ` Christopher Dimech
2022-09-08 15:24 ` Robert Pluim
2022-09-08 15:34 ` Christopher Dimech
2022-09-08 15:37 ` Visuwesh
2022-09-08 15:39 ` Robert Pluim
2022-09-08 16:43 ` Christopher Dimech
2022-09-08 16:11 ` Eli Zaretskii
2022-09-08 16:38 ` Christopher Dimech
2022-09-08 16:08 ` Eli Zaretskii
2022-09-09 15:09 ` Stefan Monnier
2013-03-20 5:44 Jacob Criner
2013-03-21 7:49 ` Xue Fuqiao
2013-03-26 16:58 ` Stefan Monnier
2013-03-26 17:33 ` Drew Adams
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=eb82ec00b6c4603b5a7e4e616fd73873770e99e5.camel@yandex.ru \
--to=hi-angel@yandex.ru \
--cc=ams@gnu.org \
--cc=arne_bab@web.de \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=luangruo@yahoo.com \
--cc=spwhitton@spwhitton.name \
/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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
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.