git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: "Jeff King" <peff@peff.net>,
	"Martin Ågren" <martin.agren@gmail.com>,
	git@vger.kernel.org, "Eric Sunshine" <sunshine@sunshineco.com>
Subject: Re: [PATCH v3] doc-diff: don't `cd_to_toplevel`
Date: Tue, 05 Feb 2019 10:45:35 -0800	[thread overview]
Message-ID: <xmqqimxyrs4w.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <nycvar.QRO.7.76.6.1902051050090.41@tvgsbejvaqbjf.bet> (Johannes Schindelin's message of "Tue, 5 Feb 2019 11:34:54 +0100 (STD)")

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> In particular, the tests t2024 and t5552 are broken for
> ma/doc-diff-usage-fix on Windows. The reason seems to be that those are
> already broken for the base commit that Junio picked:
> jk/diff-rendered-docs (actually, not the tip of it, but the commit fixed
> by Martin's patch).
>
> Of course, I understand why Junio picks base commits that are far, far in
> the past (and have regressions that current `master` does not have), it
> makes sense from the point of view where the fixes should be as close to
> the commits they fix.  The downside is that we cannot automate regression
> testing more than we do now, with e.g. myself acting as curator of test
> failures.

I think by "regressions that current master does not have", you
actually meant "unrelated known breakages we have fixed since then".

If you use topic-branch workflow, it is unavoidable and expected, as
each topic has its focus and the topic to fix doc-diff are not about
making checkout test or fetch negotiator test to pass on all
platforms.

I am wondering if the automated testing can be made more useful by
limiting the scope of testing if it is run on individual topic.  For
four primary integration branches, we do want to ensure all tests
keep passing (or at least no tests that passed in the previous round
start failing), but it would match the topic-branch workflow better
if the automated testing allowed an individual topic to rely on
unrelated known breakages to be dealt with by other topics and newer
integration branches.

For a topic like doc-diff that is primarily meant for developers and
documenters, it does not matter much, but for an old but important
bug, forking the topic to fix it at a point close to the origin is
crucial---that is what would allow people to merge the fix to an
older maintenance track, without cherry-picking.  It is especially
true when the bug being fixed is more severe than unrelated
breakages that have been fixed since then.

Possible approaches I considered and rejected are:

 - Perhaps find updated tests in the topic and run only those?  We
   can complain a topic that is meant as a "fix" to something if it
   does not have test while trying to find such tests ;-)  But this
   does not work if a "fix" has unintended consequences and breaks
   existing tests that do not have apparent relation known to the
   author of the patch.

 - Perhaps find the fork point, run tests to find known breakages
   and exclude them?  This would simply be not practical, as it
   doubles the number of tests run, for individual topic branches
   because there are an order of magnitude more of them than the
   primary integration branches.

Possibly, if we limit the fork point to tagged releases, the latter
approach might turn out to be doable.  For ma/doc-diff-usage-fix,
the base commit ad51743007 was v2.20.0-rc0~232, so we could round up
and pick v2.20.0 as the base instead (the purpose of picking an older
point is to allow merging to older maintenance track, and it is
unlikely that people would keep using v2.20.0-rc0 as the base of
their forked distribution).  Then if the automated testing keeps
record of known breakages (whether they are later fixed or still
broken) for these tagged releases, testing a new topic forked from
one of them and deciding not to worry about breakages of tests that
are known to be broken (or perhaps deciding to skip these tests in
the first place) may become feasible.

I dunno.  Limiting fork points to tagged releases for topics that
are meant for the maintenance tracks may have other benefits by
restricting the shape of the resulting dag, so I am willing to try
it as an experiment, whether it would help your workflow or not.



  reply	other threads:[~2019-02-05 18:45 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-03  8:35 [PATCH] doc-diff: don't `cd_to_toplevel` before calling `usage` Martin Ågren
2019-02-03  9:08 ` Eric Sunshine
2019-02-03  9:11   ` Eric Sunshine
2019-02-03 10:35     ` Martin Ågren
2019-02-03 11:01       ` Eric Sunshine
2019-02-03 11:08         ` [PATCH v2] " Martin Ågren
2019-02-03 23:01           ` Jeff King
2019-02-04 20:50             ` [PATCH v3] doc-diff: don't `cd_to_toplevel` Martin Ågren
2019-02-04 23:34               ` Jeff King
2019-02-05 10:34                 ` Johannes Schindelin
2019-02-05 18:45                   ` Junio C Hamano [this message]
2019-02-06 12:20                     ` Johannes Schindelin
2019-02-06 17:24                       ` Junio C Hamano
2019-02-06 18:55                     ` Jeff King
2019-02-07 15:41                       ` Johannes Schindelin
2019-02-07 17:37                         ` Junio C Hamano
2019-02-07 21:34                           ` Johannes Schindelin
2019-02-07 20:49                         ` Jeff King
2019-02-07 21:42                           ` Johannes Schindelin
2019-02-06 18:49                   ` Jeff King
2019-02-07 14:26                     ` Johannes Schindelin
2019-02-07 20:45                       ` Jeff King
2019-02-07 21:57                         ` Johannes Schindelin
2019-02-08  2:53                           ` Jeff King
2019-02-08  4:34                             ` Jeff King
2019-02-08  0:58                         ` SZEDER Gábor
2019-02-08  2:51                           ` Jeff King

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=xmqqimxyrs4w.fsf@gitster-ct.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=martin.agren@gmail.com \
    --cc=peff@peff.net \
    --cc=sunshine@sunshineco.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).