git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Johannes Sixt <j6t@kdbg.org>
Cc: Elijah Newren <newren@gmail.com>,
	Junio C Hamano <gitster@pobox.com>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: en/fast-export-encoding, was Re: What's cooking in git.git (May 2019, #01; Thu, 9)
Date: Fri, 10 May 2019 15:54:07 +0200 (CEST)	[thread overview]
Message-ID: <nycvar.QRO.7.76.6.1905101551110.44@tvgsbejvaqbjf.bet> (raw)
In-Reply-To: <f8eb246f-a936-e9df-4bb4-068b86a62baf@kdbg.org>

Hi Hannes & Elijah,

On Fri, 10 May 2019, Johannes Sixt wrote:

> Am 10.05.19 um 02:14 schrieb Elijah Newren:
> > Hi Johannes,
> >
> > On Thu, May 9, 2019 at 1:46 PM Johannes Schindelin
> > <Johannes.Schindelin@gmx.de> wrote:
> >>
> >> Hi Junio & Elijah,
> >>
> >> On Thu, 9 May 2019, Junio C Hamano wrote:
> >>
> >>> * en/fast-export-encoding (2019-05-07) 5 commits
> >>>  - fast-export: do automatic reencoding of commit messages only if requested
> >>>  - fast-export: differentiate between explicitly utf-8 and implicitly utf-8
> >>>  - fast-export: avoid stripping encoding header if we cannot reencode
> >>>  - fast-import: support 'encoding' commit header
> >>>  - t9350: fix encoding test to actually test reencoding
> >>>
> >>>  The "git fast-export/import" pair has been taught to handle commits
> >>>  with log messages in encoding other than UTF-8 better.
> >>
> >> This breaks on Windows, see
> >> https://dev.azure.com/gitgitgadget/git/_build/results?buildId=8298&view=ms.vss-test-web.build-test-results-tab
> >>
> >> Sadly, I ran out of time looking at it in detail.
> >
> > Thanks for the heads up, and for taking some time to check it out.
> > The error doesn't seem obvious from the log.  Does Azure Pipelines
> > have anything like CircleCI's "Debug with SSH" feature[1]?  (Where one
> > can click a "Rerun job with SSH", and it'll restart the pipeline but
> > also print out an ssh command someone can use to directly access the
> > box on which the test is running, in order to be able to investigate.)
> >  Failing that, assuming I can find a Windows system somewhere, is
> > there a list of steps for setting up a development environment and
> > building git on Windows?
>
> I'll just tell you why things go wrong here:
>
> In these cases, a byte that is intended to be an ISO8859-something
> characters is passed via the command line. This cannot work as intended
> on Windows, because the command line is not just a stream of bytes, but
> a string of characters. On Windows (and presumably also on macOS), the
> command line bytes are interpreted as UTF-8. As such, the bytes undergo
> some encoding conversions between UTF-8 and UTF-16LE. That cannot work
> when the bytes are not correct UTF-8 characters.
>
> To make the tests pass you have to pass the ISO8859-something characters
> via a file.

Thanks for the explanation. Yes, we cannot rely on command-lines (or for
that matter, environment variables) being opaque byte sequences, as that
does not work on Windows: byte sequences *always* have an encoding, and
are pretty much always converted into UTF-16 before continuing.

As to Debug with SSH: this is not possible in Azure Pipelines. What I
frequently do is to edit azure-pipelines.yml (usually restricting to one
particular job, e.g. Windows build, and to one particular test script) and
ci/ and t/ heavily, to get tons of debug information, then open a PR on
GitGitGadget to start a build.

That's how I investigated the macOS Mojave breakages, for example.

Ciao,
Dscho

  reply	other threads:[~2019-05-10 13:54 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-08 17:23 What's cooking in git.git (May 2019, #01; Thu, 9) Junio C Hamano
2019-05-08 17:48 ` Denton Liu
2019-05-08 18:02 ` Elijah Newren
2019-05-09 13:24 ` Phillip Wood
2019-05-10 13:49   ` Johannes Schindelin
2019-05-13 13:29     ` Phillip Wood
2019-05-09 13:44 ` Duy Nguyen
2019-05-09 20:45 ` en/fast-export-encoding, was " Johannes Schindelin
2019-05-10  0:14   ` Elijah Newren
2019-05-10  6:21     ` Johannes Sixt
2019-05-10 13:54       ` Johannes Schindelin [this message]
2019-05-09 20:54 ` nd/merge-quit, " Johannes Schindelin
2019-05-10  9:42   ` Duy Nguyen
2019-05-13 14:02     ` Johannes Schindelin
2019-05-13 14:06       ` Johannes Schindelin
2019-05-13 14:20         ` Eric Sunshine
2019-05-13 14:53           ` Johannes Schindelin
2019-05-13 18:32       ` [PATCH] tests: add a special setup where prerequisites fail Ævar Arnfjörð Bjarmason
2019-05-14  8:53         ` Johannes Schindelin
2019-05-14  9:41           ` Ævar Arnfjörð Bjarmason
2019-05-14 12:37             ` Johannes Schindelin
2019-05-14 13:39               ` Ævar Arnfjörð Bjarmason
2019-05-14 14:04                 ` Johannes Schindelin
2019-06-20 20:42         ` [PATCH] tests: mark two failing tests under FAIL_PREREQS Ævar Arnfjörð Bjarmason
2019-06-21 18:04           ` Johannes Schindelin
2019-06-21 18:26             ` Ævar Arnfjörð Bjarmason
2019-06-21 20:08               ` Junio C Hamano

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=nycvar.QRO.7.76.6.1905101551110.44@tvgsbejvaqbjf.bet \
    --to=johannes.schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=j6t@kdbg.org \
    --cc=newren@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.
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).