Page MenuHomePhabricator

patch: handle filenames with trailing spaces

Authored by spectral on Jan 12 2021, 1:33 PM.



I have no idea if this is *actually* supported by the patch file format, but at
least when reading from a patch file created by running hg shelve, it is
written out such that there's a trailing space after the second (b) filename.
When we read the patch file, we remove the space before parsing the filenames,
so it doesn't end up matching the other sources of what files are in the shelve.

We observed this internally due to a wrapper around unshelve that called into
patch.changedfiles, but hg patch is able to reproduce the issue as well, so
I've included both tests.

Diff Detail

rHG Mercurial
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

spectral created this revision.Jan 12 2021, 1:33 PM
martinvonz accepted this revision.Jan 12 2021, 1:53 PM
martinvonz added a subscriber: martinvonz.

I have no idea if this is *actually* supported by the patch file format,

At least Git seems to preserve the filename even if it has a trailing space.

This patch looks good to me. I'll just give others a chance to comment before I queue.

This revision is now accepted and ready to land.Jan 12 2021, 1:53 PM
This revision was automatically updated to reflect the committed changes.