mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-22 06:42:41 +01:00
No description
6be5cfd104
Summary: See T1973. In T1675, we addressed parsing of diffs with `--no-prefix` or custom `--src-prefix` and `--dst-prefix` flags. However, this inadvetently broke diffing of files with spaces in their names, which Git does not quote. They look like this normally: diff --git a/old file b/new file Prior to D3744, we accidentally got this right by looking for the `a/` and `b/`. However, we no longer do, and instead produce nonsense results. This problem is difficult because for files with spaces, `git diff --no-prefix` may generate an ambiguous line like: diff --git a b c d e f g From this line, we have no way to deterine if this moves "a" to "b c d e f g", or "a b c d" to "e f g", or anything in between. In some diffs we have more information later on, but in some cases we do not, e.g. for binary diffs without `--binary`. Try to get this right in as many cases as possible: - If there are quotes, we can unambiguously get it right. This only happens for filenames with quotes or unicode characters, however. - If there is exactly one space, we can unambiguously get it right. - Interpret the common case of `a/<anything> b/<anything>` in the most-likely-correct way again. - Interpret the rare case of `<anything> <that same thing>` in the most-likely-correct way. - Complain about any `a b c d e f g` garbage. Test Plan: Ran unit tests. Created a diff of a file called "File With Spaces". Reviewers: vrana, btrahan Reviewed By: btrahan CC: aran, ReturnZero Maniphest Tasks: T1973 Differential Revision: https://secure.phabricator.com/D3818 |
||
---|---|---|
bin | ||
externals | ||
resources | ||
scripts | ||
src | ||
.arcconfig | ||
.divinerconfig | ||
.gitignore | ||
LICENSE | ||
README |
WHAT IS ARCANIST? Arcanist is the command-line tool for Phabricator. It allows you to interact with Phabricator installs to send code for review, download patches, transfer files, view status, make API calls, and various other things. You can find a complete user guide here: http://www.phabricator.com/docs/phabricator/article/Arcanist_User_Guide.html For more information about Phabricator, see: http://phabricator.org/