git-annex/Command
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
..
Add.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
AddUnused.hs get rid of racy addLink 2022-06-14 14:47:15 -04:00
AddUrl.hs addurl, importfeed: Fix failure when annex.securehashesonly is set 2023-03-27 15:10:46 -04:00
Adjust.hs rename to --unlock-present and better reverse adjusting 2020-11-13 14:56:43 -04:00
Assistant.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
Benchmark.hs improve benchmark --databases 2019-11-21 17:25:20 -04:00
CalcKey.hs addurl, importfeed: Fix failure when annex.securehashesonly is set 2023-03-27 15:10:46 -04:00
CheckPresentKey.hs --batch-keys 2021-08-25 14:21:12 -04:00
Config.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
ConfigList.hs don't frontload reconcileStaged in git-annex init 2022-11-18 13:58:47 -04:00
ContentLocation.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
Copy.hs use transfer stages for copy --from 2023-01-24 14:07:49 -04:00
Dead.hs improve usage 2022-10-03 13:49:42 -04:00
Describe.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
DiffDriver.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Direct.hs Automatically convert direct mode repositories to v7 with adjusted unlocked branches 2019-08-26 15:05:25 -04:00
Drop.hs registerurl, unregisterurl: Added --remote option 2023-04-05 15:54:41 -04:00
DropKey.hs remove --backend from global options 2022-06-29 13:33:25 -04:00
DropUnused.hs move several readonly values to AnnexRead 2022-06-28 15:40:19 -04:00
EnableRemote.hs better handling of multiple repositories with the same name 2023-02-13 14:31:09 -04:00
EnableTor.hs Make git-annex enable-tor work when using the linux standalone build 2022-10-26 15:45:08 -04:00
ExamineKey.hs remove --backend from global options 2022-06-29 13:33:25 -04:00
Expire.hs Future proof activity log parsing 2021-06-14 14:18:19 -04:00
Export.hs registerurl, unregisterurl: Added --remote option 2023-04-05 15:54:41 -04:00
FilterBranch.hs remove --backend from global options 2022-06-29 13:33:25 -04:00
FilterProcess.hs smudge: Warn when encountering a pointer file that has other content appended to it 2022-02-23 15:17:08 -04:00
Find.hs findkeys: New command, very similar to git-annex find but operating on keys 2023-01-17 14:51:57 -04:00
FindKeys.hs findkeys: New command, very similar to git-annex find but operating on keys 2023-01-17 14:51:57 -04:00
FindRef.hs remove --backend from global options 2022-06-29 13:33:25 -04:00
Fix.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Forget.hs Fix ambigous typos 2023-03-17 15:14:47 -04:00
FromKey.hs Windows: Support urls like "file:///c:/path" 2023-03-27 13:38:02 -04:00
Fsck.hs git style filename quoting controlled by core.quotePath 2023-04-08 14:52:26 -04:00
FuzzTest.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
GCryptSetup.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
Get.hs registerurl, unregisterurl: Added --remote option 2023-04-05 15:54:41 -04:00
Group.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
GroupWanted.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
Help.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Import.hs registerurl, unregisterurl: Added --remote option 2023-04-05 15:54:41 -04:00
ImportFeed.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
InAnnex.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
Indirect.hs Automatically convert direct mode repositories to v7 with adjusted unlocked branches 2019-08-26 15:05:25 -04:00
Info.hs git style filename quoting controlled by core.quotePath 2023-04-08 14:52:26 -04:00
Init.hs don't frontload reconcileStaged in git-annex init 2022-11-18 13:58:47 -04:00
InitRemote.hs renameremote: Better handling of case where there are multiple special remotes with a name 2022-01-05 15:24:02 -04:00
Inprogress.hs more RawFilePath conversion 2020-11-02 16:31:28 -04:00
List.hs remove --backend from global options 2022-06-29 13:33:25 -04:00
Lock.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Log.hs remove --backend from global options 2022-06-29 13:33:25 -04:00
LookupKey.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
Map.hs move several readonly values to AnnexRead 2022-06-28 15:40:19 -04:00
MatchExpression.hs split ProvidedInfo and UserProvidedInfo 2020-09-28 12:12:38 -04:00
Merge.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
MetaData.hs use lookupKeyStaged in --batch code paths 2022-10-26 14:43:06 -04:00
Migrate.hs addurl, importfeed: Fix failure when annex.securehashesonly is set 2023-03-27 15:10:46 -04:00
MinCopies.hs prevent numcopies or mincopies being configured to 0 2022-03-28 15:20:34 -04:00
Mirror.hs improve concurrency of move/copy --from --to 2023-01-24 13:59:39 -04:00
Move.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
Multicast.hs avoid unix-compat's rename 2022-07-12 14:55:02 -04:00
NotifyChanges.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
NumCopies.hs prevent numcopies or mincopies being configured to 0 2022-03-28 15:20:34 -04:00
P2P.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
P2PStdIO.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
PostReceive.hs remove direct mode remnant of merging unrelated histories 2021-07-19 11:41:26 -04:00
PreCommit.hs understand adjusted view branch names 2023-02-27 14:57:58 -04:00
Proxy.hs Automatically convert direct mode repositories to v7 with adjusted unlocked branches 2019-08-26 15:05:25 -04:00
ReadPresentKey.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
RecvKey.hs avoid flushing keys db queue after each Annex action 2022-10-12 14:12:23 -04:00
RegisterUrl.hs restore old registerurl location tracking behavior 2023-04-05 17:06:44 -04:00
Reinit.hs don't frontload reconcileStaged in git-annex init 2022-11-18 13:58:47 -04:00
Reinject.hs addurl, importfeed: Fix failure when annex.securehashesonly is set 2023-03-27 15:10:46 -04:00
ReKey.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
RemoteDaemon.hs fix build warnings on windows 2023-03-21 18:41:23 -04:00
RenameRemote.hs better handling of multiple repositories with the same name 2023-02-13 14:31:09 -04:00
Repair.hs move several readonly values to AnnexRead 2022-06-28 15:40:19 -04:00
Required.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
ResolveMerge.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
Restage.hs restage: New git-annex command, handles restaging unlocked files 2022-09-23 16:29:59 -04:00
RmUrl.hs restore old registerurl location tracking behavior 2023-04-05 17:06:44 -04:00
Schedule.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
Semitrust.hs improve usage 2022-10-03 13:49:42 -04:00
SendKey.hs addurl, importfeed: Fix failure when annex.securehashesonly is set 2023-03-27 15:10:46 -04:00
SetKey.hs use RawFilePath version of rename 2022-06-22 16:47:34 -04:00
SetPresentKey.hs reject batch options combined with non-batch options 2022-01-26 13:00:19 -04:00
Smudge.hs smudge: Warn when encountering a pointer file that has other content appended to it 2022-02-23 15:17:08 -04:00
Status.hs deprecate git-annex status w/o runtime warning 2023-02-28 16:34:31 -04:00
Sync.hs sync: Fix parsing of gcrypt::rsync:// urls that use a relative path 2023-03-23 15:20:00 -04:00
Test.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
TestRemote.hs move several readonly values to AnnexRead 2022-06-28 15:40:19 -04:00
TransferKey.hs plumb VerifyConfig into retrieveKeyFile 2021-08-17 12:43:13 -04:00
TransferKeys.hs plumb VerifyConfig into retrieveKeyFile 2021-08-17 12:43:13 -04:00
Transferrer.hs plumb VerifyConfig into retrieveKeyFile 2021-08-17 12:43:13 -04:00
Trust.hs improve usage 2022-10-03 13:49:42 -04:00
Unannex.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Undo.hs finished this stage of the RawFilePath conversion 2020-11-04 14:20:37 -04:00
Ungroup.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
Uninit.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Unlock.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
UnregisterUrl.hs restore old registerurl location tracking behavior 2023-04-05 17:06:44 -04:00
Untrust.hs improve usage 2022-10-03 13:49:42 -04:00
Unused.hs move several readonly values to AnnexRead 2022-06-28 15:40:19 -04:00
Upgrade.hs don't frontload reconcileStaged in git-annex init 2022-11-18 13:58:47 -04:00
VAdd.hs understand adjusted view branch names 2023-02-27 14:57:58 -04:00
VCycle.hs understand adjusted view branch names 2023-02-27 14:57:58 -04:00
Version.hs fix spelling of upgradeable 2022-01-19 12:14:50 -04:00
VFilter.hs understand adjusted view branch names 2023-02-27 14:57:58 -04:00
Vicfg.hs vicfg: Include mincopies configuration 2022-09-15 15:11:59 -04:00
View.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
VPop.hs understand adjusted view branch names 2023-02-27 14:57:58 -04:00
Wanted.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
Watch.hs remotedaemon: Don't list --stop in help since it's not supported. 2019-09-30 14:40:46 -04:00
WebApp.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
Whereis.hs remove --backend from global options 2022-06-29 13:33:25 -04:00
WhereUsed.hs remove --backend from global options 2022-06-29 13:33:25 -04:00