1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-11-22 14:52:40 +01:00
No description
Find a file
epriestley 0e35dc64a9 Fix escaping of "git log ---format" command on Windows
Summary:
On Windows, the PHP function escapeshellarg() replaces '%' with ' ' (space). This is apparently because there is no safe way to escape % inside of strings.

cmd.exe does use "^" as an escape character, so I think replacing "xyz" with "^x^y^z" might work for arbitrary strings (maybe?), or at least some subset of strings, but I don't know cmd.exe well enough to make that call without being concerned I'm introducing a security issue.

Although this patch is dumb, it's certinaly safe, and can only do something wrong if the user has environmental variables like H, P, T, or x01, in which case they're sort of asking for it.

cmd.exe also truncates output on \0, so use \1 as a delimiter instead.

Seriously it's like this thing was written in 1982 and never ever changed.

Test Plan: Created D1783 successfully after applying this patch.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran, epriestley

Maniphest Tasks: T124

Differential Revision: https://secure.phabricator.com/D1785
2012-03-05 13:22:41 -08:00
bin Initial commit. 2011-01-09 15:22:25 -08:00
externals arc lint: fix/enable PEP8 linter 2011-05-18 16:47:23 -07:00
resources Add support for zsh completion to bash-completion 2012-01-09 11:52:51 -08:00
scripts Improve arc compatibility on Windows 2012-03-05 10:02:37 -08:00
src Fix escaping of "git log ---format" command on Windows 2012-03-05 13:22:41 -08:00
.arcconfig Automatically detect when to mark revisions committed 2011-09-27 11:06:02 -07:00
.divinerconfig Updated .divinerconfig. 2011-03-02 15:25:45 -08:00
.gitignore Pre-fill template fields under "arc diff --create" in git 2012-02-28 17:00:35 -08:00
LICENSE Initial commit. 2011-01-09 15:22:25 -08:00
README Update Arcanist README text 2011-11-06 18:12:50 -08:00

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/