All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tao Klerks <tao@klerks.biz>
To: Joel Holdsworth <jholdsworth@nvidia.com>
Cc: "git@vger.kernel.org" <git@vger.kernel.org>,
	Luke Diamand <luke@diamand.org>,
	Junio C Hamano <gitster@pobox.com>,
	Eric Sunshine <sunshine@sunshineco.com>,
	Tzadik Vanderhoof <tzadik.vanderhoof@gmail.com>,
	Dorgon Chang <dorgonman@hotmail.com>,
	Joachim Kuebart <joachim.kuebart@gmail.com>,
	Daniel Levin <dendy.ua@gmail.com>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	Ben Keene <seraphire@gmail.com>,
	Andrew Oakley <andrew@adoakley.name>
Subject: Re: [PATCH v4 00/22] git-p4: Various code tidy-ups
Date: Tue, 5 Apr 2022 06:27:48 +0200	[thread overview]
Message-ID: <CAPMMpoggSvPox5tM3B_NZ0GwLzg7LtHkXGhby1mZqpkehZ1G0Q@mail.gmail.com> (raw)
In-Reply-To: <BL0PR12MB484938E9950EBCA08315544CC8E59@BL0PR12MB4849.namprd12.prod.outlook.com>

On Mon, Apr 4, 2022 at 4:46 PM Joel Holdsworth <jholdsworth@nvidia.com> wrote:
>
> I'm using pylint 2.12.2 on Python 3. I agree there are still many pylint warnings - especially if we start trying to cut down the disable list. However, quite a few of them are false positives.
>
[...]
>
> I used autopep8 to locate the issue I fixed here. It's not nearly as thorough as pylint, but PEP8 itself is very patchy in regard to the issues the authors chose to address.
>

Thx for the feedback! I will play.

>
> > I personally have an interest in making sure this script keeps running correctly
> > under python2, so I plan to test this when I can. I imagine this is already
> > accounted for in the t98xx suite somewhere, but I haven't found it.
>
> Can you give me a bit more information about this, because I was going to try and push for the git-p4 to discard Python 2 support later this year in a bid to simplify the code, reduce the testing burden, and move toward cleaner pylint output.
>

Now that you question it, I'm thinking a bit about how I got there:

I work with a Perforce repository that has a long and colorful
history, with users from many countries on at least three different
platforms (windows, linux, osx), and as such both user metadata and
changelist descriptions have used inconsistent encodings.

When running git-p4 under python2, any author and CL description
metadata that is not valid utf8 is simply carried over as-is, and the
"invalidly encoded" data just carries into the git repo. (that can
later be interesting when working with the resulting git repo in
python3, of course - at a minimum decoding errors then need to be
swallowed, when minor data loss is acceptable)

Under python3, the import fails when some of this stuff gets decoded
into unicode strings. Obviously the right thing to do is to figure out
exactly what fails under python3, and figure out how to fix it, but I
have historically just swept it under the rug and kept using python2
which doesn't bother trying to "interpret" the inconsistently-encoded
byte sequences.

I'll try to look into this and see whether git-p4 itself can be made
to be more forgiving under python3, or whether there is an even better
solution where inconsistently-encoded Perforce metadata can somehow be
harmonized. Either way, I'll try to contribute some
test_expect_failure tests.

  reply	other threads:[~2022-04-05  4:28 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-10 16:46 [PATCH v4 00/22] git-p4: Various code tidy-ups Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 01/22] git-p4: add blank lines between functions and class definitions Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 02/22] git-p4: remove unneeded semicolons from statements Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 03/22] git-p4: indent with 4-spaces Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 04/22] git-p4: improve consistency of docstring formatting Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 05/22] git-p4: convert descriptive class and function comments into docstrings Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 06/22] git-p4: remove commented code Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 07/22] git-p4: sort and de-duplcate pylint disable list Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 08/22] git-p4: remove padding from lists, tuples and function arguments Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 09/22] git-p4: remove spaces around default arguments Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 10/22] git-p4: removed brackets when assigning multiple return values Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 11/22] git-p4: place a single space after every comma Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 12/22] git-p4: remove extraneous spaces before function arguments Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 13/22] git-p4: remove redundant backslash-continuations inside brackets Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 14/22] git-p4: remove spaces between dictionary keys and colons Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 15/22] git-p4: ensure every comment has a single # Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 16/22] git-p4: ensure there is a single space around all operators Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 17/22] git-p4: normalize indentation of lines in conditionals Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 18/22] git-p4: compare to singletons with "is" and "is not" Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 19/22] git-p4: only seperate code blocks by a single empty line Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 20/22] git-p4: move inline comments to line above Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 21/22] git-p4: seperate multiple statements onto seperate lines Joel Holdsworth
2022-02-10 16:46 ` [PATCH v4 22/22] git-p4: sort imports Joel Holdsworth
2022-04-02 12:14 ` [PATCH v4 00/22] git-p4: Various code tidy-ups Tao Klerks
2022-04-02 17:45   ` Tao Klerks
2022-04-04 14:46   ` Joel Holdsworth
2022-04-05  4:27     ` Tao Klerks [this message]
2022-04-05 11:29       ` Tao Klerks
2022-04-05 12:04         ` Joel Holdsworth
2022-04-05 17:16           ` Tao Klerks
2022-04-11  9:54             ` Tao Klerks

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=CAPMMpoggSvPox5tM3B_NZ0GwLzg7LtHkXGhby1mZqpkehZ1G0Q@mail.gmail.com \
    --to=tao@klerks.biz \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=andrew@adoakley.name \
    --cc=dendy.ua@gmail.com \
    --cc=dorgonman@hotmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jholdsworth@nvidia.com \
    --cc=joachim.kuebart@gmail.com \
    --cc=luke@diamand.org \
    --cc=seraphire@gmail.com \
    --cc=sunshine@sunshineco.com \
    --cc=tzadik.vanderhoof@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.