Homec4science

Support arbitrarily long filenames in Differential

Authored by epriestley <git@epriestley.com> on Dec 15 2016, 20:27.

Description

Support arbitrarily long filenames in Differential

Summary:
Fixes T11660. Currently, if you try to diff a path with more than 255 total characters, we fail to create the diff because we have a text255 column.

There are actually two issues here:

  • File names may be arbitrarily long (T11660).
  • File names may not be UTF8 (T6633, etc). This is much more complicated and has other issues -- largely that we can't JSON-encode non-UTF8 filenames. I'm punting on that for now and will deal with it later. This doesn't specifically address non-UTF8 paths, although it is a change that's (probably?) required to eventually support them.

This will cause some potentially slow migrations, but better to do them now, if possible, so we have fewer complicated/slow upgrades overall.

Test Plan:
Created a change touching file: very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_directory_name/very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_long_filename.txt

{F2137737}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T11660

Differential Revision: https://secure.phabricator.com/D17062

Details

Committed
epriestley <git@epriestley.com>Dec 15 2016, 20:35
Pushed
aubortJan 31 2017, 17:16
Parents
rPH89d88dafcc41: Fix a Differential exception in invalid/missing fields
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPHde4d7e1b1064: Support arbitrarily long filenames in Differential (authored by epriestley <git@epriestley.com>).Dec 15 2016, 20:35