[PATCH 03 of 11] py3: raw stringify various things in the LFS server module

Matt Harbison mharbison72 at gmail.com
Sat Feb 2 18:23:18 UTC 2019


On Mon, 28 Jan 2019 06:58:40 -0500, Yuya Nishihara <yuya at tcha.org> wrote:

> On Mon, 28 Jan 2019 00:20:49 -0500, Matt Harbison wrote:
>> # HG changeset patch
>> # User Matt Harbison <matt_harbison at yahoo.com>
>> # Date 1548568239 18000
>> #      Sun Jan 27 00:50:39 2019 -0500
>> # Node ID 9a35d8754bdfaac20d1931dbd6a82233d11f4722
>> # Parent  7768ad6f53d8e08e90918e50201fc2fab4f9eff6
>> py3: raw stringify various things in the LFS server module
>
>> -    operation = lfsreq.get('operation')
>> -    if operation not in ('upload', 'download'):
>> +    operation = lfsreq.get(r'operation')
>> +    operation = pycompat.bytestr(operation)
>
> If we don't care non-ASCII "operation" value and don't want Unicode  
> exception,
> using pycompat.sysbytes() is safer.

I don't think we care, because there are only 3 defined values, and they  
are all ASCII.  From a philosophical POV, wouldn't we *want* it to explode  
if someone put a garbage value in, instead of masking it by either  
ignoring or replacing bad bytes?  The only difference I guess is between a  
4xx and 500 error code.


More information about the Mercurial-devel mailing list