git-annex/Git
Joey Hess d689a5b338
git style filename quoting controlled by core.quotePath
This is by no means complete, but escaping filenames in actionItemDesc does
cover most commands.

Note that for ActionItemBranchFilePath, the value is branch:file, and I
choose to only quote the file part (if necessary). I considered quoting the
whole thing. But, branch names cannot contain control characters, and while
they can contain unicode, git coes not quote unicode when displaying branch
names. So, it would be surprising for git-annex to quote unicode in a
branch name.

The find command is the most obvious command that still needs to be
dealt with. There are probably other places that filenames also get
displayed, eg embedded in error messages.

Some other commands use ActionItemOther with a filename, I think that
ActionItemOther should either be pre-sanitized, or should explicitly not
be used for filenames, so that needs more work.

When --json is used, unicode does not get escaped, but control
characters were already escaped in json.

(Key escaping may turn out to be needed, but I'm ignoring that for now.)

Sponsored-by: unqueued on Patreon
2023-04-08 14:52:26 -04:00
..
Command update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Remote Removed support for git versions older than 2.1 2019-09-11 16:14:43 -04:00
AutoCorrect.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
Branch.hs sync --quiet 2021-07-19 11:28:47 -04:00
BuildVersion.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CatFile.hs separate handles for cat-file and cat-file --batch-check 2021-09-24 13:16:13 -04:00
CheckAttr.hs mincopies 2021-01-06 14:15:19 -04:00
CheckIgnore.hs more RawFilePath conversion 2020-11-03 10:11:04 -04:00
Command.hs convert some error to giveup 2021-12-09 14:36:54 -04:00
Config.hs Revert "revert recent bug fix temporarily for release" 2023-02-14 14:11:23 -04:00
ConfigTypes.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Construct.hs Windows: Support urls like "file:///c:/path" 2023-03-27 13:38:02 -04:00
Credential.hs Windows: Support urls like "file:///c:/path" 2023-03-27 13:38:02 -04:00
CurrentRepo.hs Revert "revert recent bug fix temporarily for release" 2023-02-14 14:11:23 -04:00
DiffTree.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
DiffTreeItem.hs ByteString Ref continued 2020-04-07 11:54:27 -04:00
Env.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
FileMode.hs Fix ambigous typos 2023-03-17 15:14:47 -04:00
Filename.hs full emulation of git filename escaping 2023-04-07 17:17:31 -04:00
FilePath.hs git style filename quoting controlled by core.quotePath 2023-04-08 14:52:26 -04:00
FilterProcess.hs filter-process: Fix protocol for empty files 2022-07-13 17:13:54 -04:00
Fsck.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
GCrypt.hs sync: Fix parsing of gcrypt::rsync:// urls that use a relative path 2023-03-23 15:20:00 -04:00
HashObject.hs make hashFile support paths with newlines 2023-03-13 13:43:40 -04:00
History.hs convert to withCreateProcess for async exception safety 2020-06-03 15:48:09 -04:00
Hook.hs fix build warnings on windows 2023-03-21 18:41:23 -04:00
Index.hs more RawFilePath conversion 2020-11-05 18:45:37 -04:00
LockFile.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
LsFiles.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
LsTree.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Merge.hs sync --quiet 2021-07-19 11:28:47 -04:00
Objects.hs more RawFilePath conversion 2020-11-05 18:45:37 -04:00
PktLine.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
Queue.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
Ref.hs remove errant print debug 2021-10-03 18:18:04 -04:00
RefLog.hs ByteString Ref continued 2020-04-07 11:54:27 -04:00
Remote.hs sync: Fix parsing of gcrypt::rsync:// urls that use a relative path 2023-03-23 15:20:00 -04:00
Repair.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
Sha.hs started converting Ref from String to ByteString 2020-04-06 17:14:49 -04:00
Ssh.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Status.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
Tree.hs ImportableContentsChunkable 2021-10-08 13:15:22 -04:00
Types.hs skip checkRepoConfigInaccessible when git directory specified explicitly 2022-09-20 14:52:43 -04:00
UnionMerge.hs Fix ambigous typos 2023-03-17 15:14:47 -04:00
UpdateIndex.hs rawfilepath conversion 2023-02-27 15:06:32 -04:00
Url.hs avoid partial functions in Git.Url 2021-01-18 15:07:23 -04:00
Version.hs more RawFilePath conversion 2020-10-29 12:03:50 -04:00