2011-06-30 18:55:03 +00:00
|
|
|
Name: git-annex
|
2023-04-07 17:37:03 +00:00
|
|
|
Version: 10.20230407
|
2022-07-16 18:57:29 +00:00
|
|
|
Cabal-Version: 1.12
|
2019-02-08 19:19:11 +00:00
|
|
|
License: AGPL-3
|
2015-01-21 16:50:09 +00:00
|
|
|
Maintainer: Joey Hess <id@joeyh.name>
|
2011-06-30 18:55:03 +00:00
|
|
|
Author: Joey Hess
|
|
|
|
Stability: Stable
|
2023-04-07 17:37:03 +00:00
|
|
|
Copyright: 2010-2023 Joey Hess
|
2012-09-24 19:20:28 +00:00
|
|
|
License-File: COPYRIGHT
|
2011-06-30 18:55:03 +00:00
|
|
|
Homepage: http://git-annex.branchable.com/
|
2013-02-28 23:18:56 +00:00
|
|
|
Build-type: Custom
|
2011-06-30 18:55:03 +00:00
|
|
|
Category: Utility
|
|
|
|
Synopsis: manage files with git, without checking their contents into git
|
|
|
|
Description:
|
|
|
|
git-annex allows managing files with git, without checking the file
|
|
|
|
contents into git. While that may seem paradoxical, it is useful when
|
|
|
|
dealing with files larger than git can currently easily handle, whether due
|
2012-02-15 23:43:15 +00:00
|
|
|
to limitations in memory, time, or disk space.
|
2011-06-30 18:55:03 +00:00
|
|
|
.
|
2014-10-03 18:12:01 +00:00
|
|
|
It can store large files in many places, from local hard drives, to a
|
|
|
|
large number of cloud storage services, including S3, WebDAV,
|
|
|
|
and rsync, with a dozen cloud storage providers usable via plugins.
|
|
|
|
Files can be stored encrypted with gpg, so that the cloud storage
|
|
|
|
provider cannot see your data. git-annex keeps track of where each file
|
|
|
|
is stored, so it knows how many copies are available, and has many
|
|
|
|
facilities to ensure your data is preserved.
|
|
|
|
.
|
|
|
|
git-annex can also be used to keep a folder in sync between computers,
|
|
|
|
noticing when files are changed, and automatically committing them
|
|
|
|
to git and transferring them to other computers. The git-annex webapp
|
|
|
|
makes it easy to set up and use git-annex this way.
|
2016-05-24 05:00:06 +00:00
|
|
|
-- The tarball uploaded to hackage does not include every non-haskell
|
2023-03-14 02:39:16 +00:00
|
|
|
-- file in the git repo. The website is left out, so is build machinery for
|
2016-05-24 05:00:06 +00:00
|
|
|
-- standalone apps, and packages. Include only files that are needed
|
|
|
|
-- make cabal install git-annex work.
|
|
|
|
Extra-Source-Files:
|
|
|
|
stack.yaml
|
|
|
|
README
|
|
|
|
CHANGELOG
|
|
|
|
NEWS
|
|
|
|
doc/license/GPL
|
|
|
|
doc/license/AGPL
|
|
|
|
doc/git-annex.mdwn
|
|
|
|
doc/git-annex-add.mdwn
|
|
|
|
doc/git-annex-addunused.mdwn
|
|
|
|
doc/git-annex-addurl.mdwn
|
|
|
|
doc/git-annex-adjust.mdwn
|
|
|
|
doc/git-annex-assistant.mdwn
|
2022-09-26 19:59:10 +00:00
|
|
|
doc/git-annex-backends.mdwn
|
2016-05-24 05:00:06 +00:00
|
|
|
doc/git-annex-calckey.mdwn
|
|
|
|
doc/git-annex-checkpresentkey.mdwn
|
2021-04-08 18:39:52 +00:00
|
|
|
doc/git-annex-config.mdwn
|
2016-05-24 05:00:06 +00:00
|
|
|
doc/git-annex-contentlocation.mdwn
|
|
|
|
doc/git-annex-copy.mdwn
|
|
|
|
doc/git-annex-dead.mdwn
|
|
|
|
doc/git-annex-describe.mdwn
|
|
|
|
doc/git-annex-diffdriver.mdwn
|
|
|
|
doc/git-annex-direct.mdwn
|
|
|
|
doc/git-annex-drop.mdwn
|
|
|
|
doc/git-annex-dropkey.mdwn
|
|
|
|
doc/git-annex-dropunused.mdwn
|
|
|
|
doc/git-annex-edit.mdwn
|
|
|
|
doc/git-annex-enableremote.mdwn
|
2016-11-21 21:27:38 +00:00
|
|
|
doc/git-annex-enable-tor.mdwn
|
2016-05-24 05:00:06 +00:00
|
|
|
doc/git-annex-examinekey.mdwn
|
|
|
|
doc/git-annex-expire.mdwn
|
2017-12-14 17:32:24 +00:00
|
|
|
doc/git-annex-export.mdwn
|
2021-07-14 17:49:20 +00:00
|
|
|
doc/git-annex-filter-branch.mdwn
|
2016-05-24 05:00:06 +00:00
|
|
|
doc/git-annex-find.mdwn
|
2023-01-17 18:42:29 +00:00
|
|
|
doc/git-annex-findkeys.mdwn
|
2016-05-24 05:00:06 +00:00
|
|
|
doc/git-annex-findref.mdwn
|
|
|
|
doc/git-annex-fix.mdwn
|
|
|
|
doc/git-annex-forget.mdwn
|
|
|
|
doc/git-annex-fromkey.mdwn
|
|
|
|
doc/git-annex-fsck.mdwn
|
|
|
|
doc/git-annex-fuzztest.mdwn
|
|
|
|
doc/git-annex-get.mdwn
|
|
|
|
doc/git-annex-group.mdwn
|
|
|
|
doc/git-annex-groupwanted.mdwn
|
|
|
|
doc/git-annex-import.mdwn
|
|
|
|
doc/git-annex-importfeed.mdwn
|
|
|
|
doc/git-annex-indirect.mdwn
|
|
|
|
doc/git-annex-info.mdwn
|
|
|
|
doc/git-annex-init.mdwn
|
|
|
|
doc/git-annex-initremote.mdwn
|
2017-12-28 15:46:39 +00:00
|
|
|
doc/git-annex-inprogress.mdwn
|
2016-05-24 05:00:06 +00:00
|
|
|
doc/git-annex-list.mdwn
|
|
|
|
doc/git-annex-lock.mdwn
|
|
|
|
doc/git-annex-log.mdwn
|
|
|
|
doc/git-annex-lookupkey.mdwn
|
|
|
|
doc/git-annex-map.mdwn
|
|
|
|
doc/git-annex-matchexpression.mdwn
|
|
|
|
doc/git-annex-matching-options.mdwn
|
|
|
|
doc/git-annex-merge.mdwn
|
|
|
|
doc/git-annex-metadata.mdwn
|
|
|
|
doc/git-annex-migrate.mdwn
|
|
|
|
doc/git-annex-mirror.mdwn
|
|
|
|
doc/git-annex-move.mdwn
|
2017-03-30 23:32:58 +00:00
|
|
|
doc/git-annex-multicast.mdwn
|
2016-05-24 05:00:06 +00:00
|
|
|
doc/git-annex-numcopies.mdwn
|
2016-11-30 18:35:24 +00:00
|
|
|
doc/git-annex-p2p.mdwn
|
2016-05-24 05:00:06 +00:00
|
|
|
doc/git-annex-pre-commit.mdwn
|
|
|
|
doc/git-annex-preferred-content.mdwn
|
|
|
|
doc/git-annex-proxy.mdwn
|
|
|
|
doc/git-annex-readpresentkey.mdwn
|
|
|
|
doc/git-annex-registerurl.mdwn
|
|
|
|
doc/git-annex-reinit.mdwn
|
|
|
|
doc/git-annex-reinject.mdwn
|
|
|
|
doc/git-annex-rekey.mdwn
|
|
|
|
doc/git-annex-remotedaemon.mdwn
|
2019-04-15 17:05:44 +00:00
|
|
|
doc/git-annex-renameremote.mdwn
|
2016-05-24 05:00:06 +00:00
|
|
|
doc/git-annex-repair.mdwn
|
|
|
|
doc/git-annex-required.mdwn
|
2022-09-26 19:59:10 +00:00
|
|
|
doc/git-annex-restage.mdwn
|
2016-05-24 05:00:06 +00:00
|
|
|
doc/git-annex-resolvemerge.mdwn
|
|
|
|
doc/git-annex-rmurl.mdwn
|
|
|
|
doc/git-annex-schedule.mdwn
|
|
|
|
doc/git-annex-semitrust.mdwn
|
|
|
|
doc/git-annex-setkey.mdwn
|
|
|
|
doc/git-annex-setpresentkey.mdwn
|
|
|
|
doc/git-annex-shell.mdwn
|
|
|
|
doc/git-annex-smudge.mdwn
|
|
|
|
doc/git-annex-status.mdwn
|
|
|
|
doc/git-annex-sync.mdwn
|
|
|
|
doc/git-annex-test.mdwn
|
|
|
|
doc/git-annex-testremote.mdwn
|
|
|
|
doc/git-annex-transferkey.mdwn
|
|
|
|
doc/git-annex-transferkeys.mdwn
|
|
|
|
doc/git-annex-trust.mdwn
|
|
|
|
doc/git-annex-unannex.mdwn
|
|
|
|
doc/git-annex-undo.mdwn
|
|
|
|
doc/git-annex-ungroup.mdwn
|
|
|
|
doc/git-annex-uninit.mdwn
|
|
|
|
doc/git-annex-unlock.mdwn
|
|
|
|
doc/git-annex-untrust.mdwn
|
2021-04-08 18:39:52 +00:00
|
|
|
doc/git-annex-unregisterurl.mdwn
|
2016-05-24 05:00:06 +00:00
|
|
|
doc/git-annex-unused.mdwn
|
|
|
|
doc/git-annex-upgrade.mdwn
|
|
|
|
doc/git-annex-vadd.mdwn
|
|
|
|
doc/git-annex-vcycle.mdwn
|
|
|
|
doc/git-annex-version.mdwn
|
|
|
|
doc/git-annex-vfilter.mdwn
|
|
|
|
doc/git-annex-vicfg.mdwn
|
|
|
|
doc/git-annex-view.mdwn
|
|
|
|
doc/git-annex-vpop.mdwn
|
|
|
|
doc/git-annex-wanted.mdwn
|
|
|
|
doc/git-annex-watch.mdwn
|
|
|
|
doc/git-annex-webapp.mdwn
|
|
|
|
doc/git-annex-whereis.mdwn
|
2021-07-14 18:25:52 +00:00
|
|
|
doc/git-annex-whereused.mdwn
|
2016-11-21 21:27:38 +00:00
|
|
|
doc/git-remote-tor-annex.mdwn
|
2016-05-24 05:00:06 +00:00
|
|
|
doc/logo.svg
|
|
|
|
doc/logo_16x16.png
|
|
|
|
Build/mdwn2man
|
|
|
|
Assistant/WebApp/routes
|
|
|
|
static/activityicon.gif
|
|
|
|
static/css/bootstrap.css
|
|
|
|
static/css/bootstrap-theme.css
|
|
|
|
static/js/jquery.ui.core.js
|
|
|
|
static/js/longpolling.js
|
|
|
|
static/js/jquery.full.js
|
|
|
|
static/js/jquery.ui.sortable.js
|
|
|
|
static/js/jquery.ui.mouse.js
|
|
|
|
static/js/jquery.ui.widget.js
|
|
|
|
static/js/bootstrap.js
|
|
|
|
static/syncicon.gif
|
|
|
|
static/favicon.ico
|
|
|
|
static/fonts/glyphicons-halflings-regular.woff
|
|
|
|
static/fonts/glyphicons-halflings-regular.eot
|
|
|
|
static/fonts/glyphicons-halflings-regular.svg
|
|
|
|
static/fonts/glyphicons-halflings-regular.ttf
|
|
|
|
templates/sidebar/main.hamlet
|
|
|
|
templates/sidebar/alert.hamlet
|
|
|
|
templates/bootstrap.hamlet
|
|
|
|
templates/error.cassius
|
|
|
|
templates/README
|
|
|
|
templates/error.hamlet
|
|
|
|
templates/documentation/license.hamlet
|
|
|
|
templates/documentation/repogroup.hamlet
|
|
|
|
templates/documentation/about.hamlet
|
|
|
|
templates/dashboard/main.hamlet
|
|
|
|
templates/dashboard/transfers.cassius
|
|
|
|
templates/dashboard/transfers.hamlet
|
|
|
|
templates/dashboard/metarefresh.hamlet
|
|
|
|
templates/page.cassius
|
|
|
|
templates/page.hamlet
|
|
|
|
templates/control/repairrepository.hamlet
|
|
|
|
templates/control/repairrepository/done.hamlet
|
|
|
|
templates/control/notrunning.julius
|
|
|
|
templates/control/notrunning.hamlet
|
|
|
|
templates/control/repositoryswitcher.hamlet
|
|
|
|
templates/control/shutdown.hamlet
|
|
|
|
templates/control/log.hamlet
|
|
|
|
templates/page.julius
|
|
|
|
templates/repolist.julius
|
|
|
|
templates/configurators/adddrive/combine.hamlet
|
|
|
|
templates/configurators/adddrive/setupmodal.hamlet
|
|
|
|
templates/configurators/adddrive/encrypt.hamlet
|
|
|
|
templates/configurators/newrepository.hamlet
|
|
|
|
templates/configurators/needglaciercli.hamlet
|
|
|
|
templates/configurators/adds3.hamlet
|
|
|
|
templates/configurators/genkeymodal.hamlet
|
|
|
|
templates/configurators/main.hamlet
|
|
|
|
templates/configurators/needconnection.hamlet
|
|
|
|
templates/configurators/newrepository/form.hamlet
|
|
|
|
templates/configurators/newrepository/first.hamlet
|
|
|
|
templates/configurators/newrepository/combine.hamlet
|
|
|
|
templates/configurators/enablewebdav.hamlet
|
|
|
|
templates/configurators/pairing/local/inprogress.hamlet
|
|
|
|
templates/configurators/pairing/local/prompt.hamlet
|
2016-12-27 20:36:05 +00:00
|
|
|
templates/configurators/pairing/wormhole/prompt.hamlet
|
|
|
|
templates/configurators/pairing/wormhole/start.hamlet
|
2016-05-24 05:00:06 +00:00
|
|
|
templates/configurators/pairing/disabled.hamlet
|
|
|
|
templates/configurators/addglacier.hamlet
|
|
|
|
templates/configurators/fsck.cassius
|
|
|
|
templates/configurators/edit/nonannexremote.hamlet
|
|
|
|
templates/configurators/edit/webrepository.hamlet
|
|
|
|
templates/configurators/edit/repository.hamlet
|
|
|
|
templates/configurators/unused.hamlet
|
|
|
|
templates/configurators/ssh/testmodal.hamlet
|
|
|
|
templates/configurators/ssh/expiredpassword.hamlet
|
|
|
|
templates/configurators/ssh/error.hamlet
|
|
|
|
templates/configurators/ssh/combine.hamlet
|
|
|
|
templates/configurators/ssh/enable.hamlet
|
|
|
|
templates/configurators/ssh/add.hamlet
|
|
|
|
templates/configurators/ssh/setupmodal.hamlet
|
|
|
|
templates/configurators/ssh/confirm.hamlet
|
|
|
|
templates/configurators/enableia.hamlet
|
|
|
|
templates/configurators/fsck.hamlet
|
|
|
|
templates/configurators/addrepository/archive.hamlet
|
|
|
|
templates/configurators/addrepository/cloud.hamlet
|
|
|
|
templates/configurators/addrepository/connection.hamlet
|
|
|
|
templates/configurators/addrepository/ssh.hamlet
|
|
|
|
templates/configurators/addrepository/misc.hamlet
|
2016-12-27 20:36:05 +00:00
|
|
|
templates/configurators/addrepository/wormholepairing.hamlet
|
2016-05-24 05:00:06 +00:00
|
|
|
templates/configurators/rsync.net/add.hamlet
|
|
|
|
templates/configurators/rsync.net/encrypt.hamlet
|
|
|
|
templates/configurators/needgcrypt.hamlet
|
2016-12-24 21:08:03 +00:00
|
|
|
templates/configurators/needtor.hamlet
|
|
|
|
templates/configurators/needmagicwormhole.hamlet
|
2016-05-24 05:00:06 +00:00
|
|
|
templates/configurators/enabledirectory.hamlet
|
|
|
|
templates/configurators/fsck/status.hamlet
|
|
|
|
templates/configurators/fsck/form.hamlet
|
|
|
|
templates/configurators/fsck/preferencesform.hamlet
|
|
|
|
templates/configurators/fsck/formcontent.hamlet
|
|
|
|
templates/configurators/delete/finished.hamlet
|
|
|
|
templates/configurators/delete/start.hamlet
|
|
|
|
templates/configurators/delete/currentrepository.hamlet
|
|
|
|
templates/configurators/unused/form.hamlet
|
|
|
|
templates/configurators/adddrive.hamlet
|
|
|
|
templates/configurators/preferences.hamlet
|
|
|
|
templates/configurators/addia.hamlet
|
|
|
|
templates/configurators/enableaws.hamlet
|
|
|
|
templates/configurators/addrepository.hamlet
|
|
|
|
templates/actionbutton.hamlet
|
|
|
|
templates/repolist.hamlet
|
|
|
|
templates/controlmenu.hamlet
|
|
|
|
templates/notifications/longpolling.julius
|
2021-02-01 16:00:56 +00:00
|
|
|
Utility/libkqueue.h
|
2011-06-30 18:55:03 +00:00
|
|
|
|
2012-06-26 13:15:47 +00:00
|
|
|
Flag Assistant
|
2022-08-29 19:21:00 +00:00
|
|
|
Description: Enable git-annex assistant, webapp, and watch command
|
|
|
|
Default: True
|
2012-07-26 01:26:13 +00:00
|
|
|
|
2012-09-07 23:44:20 +00:00
|
|
|
Flag Pairing
|
|
|
|
Description: Enable pairing
|
2012-09-07 18:54:00 +00:00
|
|
|
|
2013-02-27 05:41:01 +00:00
|
|
|
Flag Production
|
2013-02-27 06:30:26 +00:00
|
|
|
Description: Enable production build (slower build; faster binary)
|
|
|
|
|
2014-12-18 18:22:43 +00:00
|
|
|
Flag TorrentParser
|
|
|
|
Description: Use haskell torrent library to parse torrent files
|
|
|
|
|
2016-02-03 20:29:34 +00:00
|
|
|
Flag MagicMime
|
|
|
|
Description: Use libmagic to determine file MIME types
|
|
|
|
|
2016-01-12 17:01:44 +00:00
|
|
|
Flag Benchmark
|
|
|
|
Description: Enable benchmarking
|
2020-10-02 17:57:10 +00:00
|
|
|
Default: True
|
2016-01-12 17:01:44 +00:00
|
|
|
|
2018-11-19 19:00:24 +00:00
|
|
|
Flag DebugLocks
|
|
|
|
Description: Debug location of MVar/STM deadlocks
|
|
|
|
Default: False
|
|
|
|
|
2016-02-05 22:00:20 +00:00
|
|
|
Flag Dbus
|
|
|
|
Description: Enable dbus support
|
|
|
|
|
2023-01-04 21:33:29 +00:00
|
|
|
Flag GitLfs
|
|
|
|
Description: Build with git-lfs library (rather than vendored copy)
|
|
|
|
Default: True
|
|
|
|
|
2016-05-24 05:00:06 +00:00
|
|
|
source-repository head
|
|
|
|
type: git
|
|
|
|
location: git://git-annex.branchable.com/
|
|
|
|
|
2017-12-31 20:08:31 +00:00
|
|
|
custom-setup
|
2023-03-31 16:52:23 +00:00
|
|
|
Setup-Depends: base (>= 4.11.1.0 && < 5.0), split, unix-compat (< 0.7),
|
2022-07-12 18:53:32 +00:00
|
|
|
filepath, exceptions, bytestring, IfElse, data-default,
|
2020-11-10 15:15:14 +00:00
|
|
|
filepath-bytestring (>= 1.4.2.1.4),
|
2020-06-03 20:03:08 +00:00
|
|
|
process (>= 1.6.3),
|
2021-04-05 17:40:31 +00:00
|
|
|
time (>= 1.5.0),
|
2022-07-12 18:53:32 +00:00
|
|
|
directory (>= 1.2.7.0),
|
2023-01-26 19:31:29 +00:00
|
|
|
async, utf8-string, transformers, Cabal (< 4.0)
|
2017-12-31 20:08:31 +00:00
|
|
|
|
2011-06-30 18:55:03 +00:00
|
|
|
Executable git-annex
|
|
|
|
Main-Is: git-annex.hs
|
2015-05-10 21:03:20 +00:00
|
|
|
Build-Depends:
|
2019-07-05 19:09:37 +00:00
|
|
|
base (>= 4.11.1.0 && < 5.0),
|
2018-07-01 17:07:24 +00:00
|
|
|
network-uri (>= 2.6),
|
2019-07-05 19:09:37 +00:00
|
|
|
optparse-applicative (>= 0.14.1),
|
2019-10-10 19:46:12 +00:00
|
|
|
containers (>= 0.5.8),
|
2015-05-10 21:03:20 +00:00
|
|
|
exceptions (>= 0.6),
|
|
|
|
stm (>= 2.3),
|
|
|
|
mtl (>= 2),
|
2016-07-27 11:38:11 +00:00
|
|
|
uuid (>= 1.2.6),
|
2020-06-03 20:03:08 +00:00
|
|
|
process (>= 1.6.3),
|
2016-09-05 23:42:41 +00:00
|
|
|
data-default,
|
|
|
|
case-insensitive,
|
|
|
|
random,
|
|
|
|
dlist,
|
2023-03-31 16:52:23 +00:00
|
|
|
unix-compat (>= 0.5 && < 0.7),
|
2016-09-05 23:42:41 +00:00
|
|
|
SafeSemaphore,
|
|
|
|
async,
|
2022-07-12 18:53:32 +00:00
|
|
|
directory (>= 1.2.7.0),
|
2018-10-13 05:36:06 +00:00
|
|
|
disk-free-space,
|
2016-09-05 23:42:41 +00:00
|
|
|
filepath,
|
2020-01-05 00:18:40 +00:00
|
|
|
filepath-bytestring (>= 1.4.2.1.1),
|
2016-09-05 23:42:41 +00:00
|
|
|
IfElse,
|
2021-04-01 16:19:47 +00:00
|
|
|
monad-logger (>= 0.3.10),
|
2016-11-17 21:19:04 +00:00
|
|
|
free,
|
2016-09-05 23:42:41 +00:00
|
|
|
utf8-string,
|
|
|
|
bytestring,
|
|
|
|
text,
|
|
|
|
sandi,
|
|
|
|
monad-control,
|
|
|
|
transformers,
|
2019-07-05 19:09:37 +00:00
|
|
|
bloomfilter (>= 2.0.0),
|
2016-09-05 23:42:41 +00:00
|
|
|
edit-distance,
|
|
|
|
resourcet,
|
2018-06-19 23:41:30 +00:00
|
|
|
connection (>= 0.2.6),
|
2020-06-22 14:55:37 +00:00
|
|
|
http-client (>= 0.5.3),
|
2018-06-16 18:18:29 +00:00
|
|
|
http-client-tls,
|
2017-03-10 19:57:41 +00:00
|
|
|
http-types (>= 0.7),
|
2019-07-05 19:09:37 +00:00
|
|
|
http-conduit (>= 2.3.0),
|
2022-03-22 15:50:06 +00:00
|
|
|
http-client-restricted (>= 0.0.2),
|
2018-04-06 19:58:16 +00:00
|
|
|
conduit,
|
2019-07-05 19:09:37 +00:00
|
|
|
time (>= 1.5.0),
|
2016-09-05 23:42:41 +00:00
|
|
|
old-locale,
|
2019-07-05 19:09:37 +00:00
|
|
|
persistent-sqlite (>= 2.8.1),
|
|
|
|
persistent (>= 2.8.1),
|
2016-09-05 23:42:41 +00:00
|
|
|
persistent-template,
|
2019-09-26 16:24:03 +00:00
|
|
|
unliftio-core,
|
2018-10-30 17:47:38 +00:00
|
|
|
microlens,
|
2016-01-26 12:14:57 +00:00
|
|
|
aeson,
|
2018-02-19 19:28:38 +00:00
|
|
|
vector,
|
2017-11-28 16:50:30 +00:00
|
|
|
tagsoup,
|
2016-07-26 18:53:00 +00:00
|
|
|
unordered-containers,
|
2019-07-05 19:09:37 +00:00
|
|
|
feed (>= 1.0.0),
|
2016-11-21 21:27:38 +00:00
|
|
|
regex-tdfa,
|
2016-11-22 18:18:34 +00:00
|
|
|
socks,
|
2016-12-08 20:31:08 +00:00
|
|
|
byteable,
|
2016-12-09 18:52:38 +00:00
|
|
|
stm-chans,
|
2017-02-20 16:21:35 +00:00
|
|
|
securemem,
|
2017-02-25 00:56:26 +00:00
|
|
|
crypto-api,
|
2019-07-05 19:09:37 +00:00
|
|
|
cryptonite (>= 0.23),
|
2017-05-16 03:32:17 +00:00
|
|
|
memory,
|
2019-06-25 17:10:06 +00:00
|
|
|
deepseq,
|
2017-12-20 16:25:03 +00:00
|
|
|
split,
|
2021-03-24 15:54:16 +00:00
|
|
|
attoparsec (>= 0.13.2.2),
|
2019-07-05 19:09:37 +00:00
|
|
|
concurrent-output (>= 1.10),
|
|
|
|
QuickCheck (>= 2.10.0),
|
2022-03-22 14:59:22 +00:00
|
|
|
tasty (>= 1.2),
|
2017-12-20 16:25:03 +00:00
|
|
|
tasty-hunit,
|
|
|
|
tasty-quickcheck,
|
2020-09-08 16:42:59 +00:00
|
|
|
tasty-rerun,
|
2022-03-16 16:37:09 +00:00
|
|
|
ansi-terminal >= 0.9,
|
2020-09-08 16:42:59 +00:00
|
|
|
aws (>= 0.20),
|
2022-03-22 15:52:24 +00:00
|
|
|
DAV (>= 1.0),
|
|
|
|
network (>= 3.0.0.0),
|
2023-02-23 14:35:19 +00:00
|
|
|
network-bsd
|
2015-06-06 16:09:45 +00:00
|
|
|
CC-Options: -Wall
|
2020-04-13 19:56:10 +00:00
|
|
|
GHC-Options: -Wall -fno-warn-tabs -Wincomplete-uni-patterns
|
2020-10-19 15:14:01 +00:00
|
|
|
Default-Language: Haskell2010
|
2022-02-25 17:16:36 +00:00
|
|
|
Default-Extensions: LambdaCase
|
2020-05-04 19:49:14 +00:00
|
|
|
Other-Extensions: TemplateHaskell
|
2013-07-25 17:57:53 +00:00
|
|
|
-- Some things don't work with the non-threaded RTS.
|
|
|
|
GHC-Options: -threaded
|
2013-02-27 05:41:01 +00:00
|
|
|
|
2016-01-26 12:14:57 +00:00
|
|
|
-- Fully optimize for production.
|
|
|
|
if flag(Production)
|
2018-03-04 23:48:07 +00:00
|
|
|
-- Lower memory systems can run out of memory with -O2, so
|
|
|
|
-- optimise slightly less.
|
|
|
|
if arch(arm)
|
2018-10-30 04:49:59 +00:00
|
|
|
GHC-Options: -O2 -optlo-O2
|
2018-03-04 23:48:07 +00:00
|
|
|
else
|
|
|
|
GHC-Options: -O2
|
2021-05-05 05:30:30 +00:00
|
|
|
else
|
|
|
|
GHC-Options: -O0
|
2016-01-26 12:14:57 +00:00
|
|
|
|
2023-03-14 02:39:16 +00:00
|
|
|
-- Avoid linking with unused dynamic libraries.
|
2022-05-31 17:03:39 +00:00
|
|
|
if os(linux) || os(freebsd)
|
2015-07-07 17:19:13 +00:00
|
|
|
GHC-Options: -optl-Wl,--as-needed
|
|
|
|
|
2013-12-10 05:18:04 +00:00
|
|
|
if (os(windows))
|
2017-11-13 16:36:07 +00:00
|
|
|
Build-Depends:
|
2022-11-09 17:08:27 +00:00
|
|
|
Win32 ((>= 2.6.1.0 && < 2.12.0.0) || >= 2.13.4.0),
|
2017-11-13 16:36:07 +00:00
|
|
|
setenv,
|
2019-08-07 21:42:16 +00:00
|
|
|
process (>= 1.6.2.0),
|
2019-08-08 15:58:38 +00:00
|
|
|
silently (>= 1.2.5.1)
|
2013-12-10 05:18:04 +00:00
|
|
|
else
|
2018-10-30 02:22:36 +00:00
|
|
|
Build-Depends: unix (>= 2.7.2)
|
2013-05-10 20:08:53 +00:00
|
|
|
|
2023-01-04 21:33:29 +00:00
|
|
|
if flag(GitLfs)
|
|
|
|
Build-Depends: git-lfs (>= 1.2.0)
|
|
|
|
CPP-Options: -DWITH_GIT_LFS
|
|
|
|
else
|
|
|
|
Other-Modules: Utility.GitLFS
|
|
|
|
|
2018-09-05 15:47:00 +00:00
|
|
|
if flag(Assistant) && ! os(solaris) && ! os(gnu)
|
2022-08-29 19:21:00 +00:00
|
|
|
CPP-Options: -DWITH_ASSISTANT -DWITH_WEBAPP
|
2023-02-23 14:35:19 +00:00
|
|
|
Build-Depends:
|
|
|
|
mountpoints,
|
|
|
|
yesod (>= 1.4.3),
|
|
|
|
yesod-static (>= 1.5.1),
|
|
|
|
yesod-form (>= 1.4.8),
|
|
|
|
yesod-core (>= 1.6.0),
|
|
|
|
path-pieces (>= 0.2.1),
|
|
|
|
warp (>= 3.2.8),
|
|
|
|
warp-tls (>= 3.2.2),
|
|
|
|
wai,
|
|
|
|
wai-extra,
|
|
|
|
blaze-builder,
|
|
|
|
clientsession,
|
|
|
|
template-haskell,
|
|
|
|
shakespeare (>= 2.0.11)
|
2018-09-04 14:41:45 +00:00
|
|
|
Other-Modules:
|
|
|
|
Assistant
|
|
|
|
Assistant.Alert
|
|
|
|
Assistant.Alert.Utility
|
|
|
|
Assistant.BranchChange
|
|
|
|
Assistant.Changes
|
|
|
|
Assistant.Commits
|
|
|
|
Assistant.Common
|
|
|
|
Assistant.CredPairCache
|
|
|
|
Assistant.DaemonStatus
|
|
|
|
Assistant.DeleteRemote
|
|
|
|
Assistant.Drop
|
|
|
|
Assistant.Fsck
|
|
|
|
Assistant.Gpg
|
|
|
|
Assistant.Install
|
|
|
|
Assistant.MakeRemote
|
2022-08-29 19:21:00 +00:00
|
|
|
Assistant.MakeRepo
|
2018-09-04 14:41:45 +00:00
|
|
|
Assistant.Monad
|
|
|
|
Assistant.NamedThread
|
|
|
|
Assistant.Pairing
|
|
|
|
Assistant.Pairing.MakeRemote
|
|
|
|
Assistant.Pairing.Network
|
|
|
|
Assistant.Pushes
|
|
|
|
Assistant.RemoteControl
|
|
|
|
Assistant.Repair
|
|
|
|
Assistant.RepoProblem
|
|
|
|
Assistant.Restart
|
|
|
|
Assistant.ScanRemotes
|
|
|
|
Assistant.Ssh
|
|
|
|
Assistant.Sync
|
|
|
|
Assistant.Threads.Committer
|
|
|
|
Assistant.Threads.ConfigMonitor
|
|
|
|
Assistant.Threads.Cronner
|
|
|
|
Assistant.Threads.DaemonStatus
|
|
|
|
Assistant.Threads.Exporter
|
|
|
|
Assistant.Threads.Glacier
|
|
|
|
Assistant.Threads.Merger
|
|
|
|
Assistant.Threads.MountWatcher
|
|
|
|
Assistant.Threads.NetWatcher
|
2022-08-29 19:21:00 +00:00
|
|
|
Assistant.Threads.PairListener
|
2018-09-04 14:41:45 +00:00
|
|
|
Assistant.Threads.ProblemFixer
|
|
|
|
Assistant.Threads.Pusher
|
|
|
|
Assistant.Threads.RemoteControl
|
|
|
|
Assistant.Threads.SanityChecker
|
|
|
|
Assistant.Threads.TransferPoller
|
|
|
|
Assistant.Threads.TransferScanner
|
|
|
|
Assistant.Threads.TransferWatcher
|
|
|
|
Assistant.Threads.Transferrer
|
|
|
|
Assistant.Threads.UpgradeWatcher
|
|
|
|
Assistant.Threads.Upgrader
|
|
|
|
Assistant.Threads.Watcher
|
2022-08-29 19:21:00 +00:00
|
|
|
Assistant.Threads.WebApp
|
2018-09-04 14:41:45 +00:00
|
|
|
Assistant.TransferQueue
|
|
|
|
Assistant.TransferSlots
|
|
|
|
Assistant.Types.Alert
|
|
|
|
Assistant.Types.BranchChange
|
|
|
|
Assistant.Types.Changes
|
|
|
|
Assistant.Types.Commits
|
|
|
|
Assistant.Types.CredPairCache
|
|
|
|
Assistant.Types.DaemonStatus
|
|
|
|
Assistant.Types.NamedThread
|
|
|
|
Assistant.Types.Pushes
|
|
|
|
Assistant.Types.RemoteControl
|
|
|
|
Assistant.Types.RepoProblem
|
|
|
|
Assistant.Types.ScanRemotes
|
|
|
|
Assistant.Types.ThreadName
|
|
|
|
Assistant.Types.ThreadedMonad
|
|
|
|
Assistant.Types.TransferQueue
|
|
|
|
Assistant.Types.TransferSlots
|
|
|
|
Assistant.Types.UrlRenderer
|
|
|
|
Assistant.Unused
|
|
|
|
Assistant.Upgrade
|
2022-08-29 19:21:00 +00:00
|
|
|
Assistant.WebApp
|
|
|
|
Assistant.WebApp.Common
|
|
|
|
Assistant.WebApp.Configurators
|
|
|
|
Assistant.WebApp.Configurators.AWS
|
|
|
|
Assistant.WebApp.Configurators.Delete
|
|
|
|
Assistant.WebApp.Configurators.Edit
|
|
|
|
Assistant.WebApp.Configurators.Fsck
|
|
|
|
Assistant.WebApp.Configurators.IA
|
|
|
|
Assistant.WebApp.Configurators.Local
|
|
|
|
Assistant.WebApp.Configurators.Pairing
|
|
|
|
Assistant.WebApp.Configurators.Preferences
|
|
|
|
Assistant.WebApp.Configurators.Ssh
|
|
|
|
Assistant.WebApp.Configurators.Unused
|
|
|
|
Assistant.WebApp.Configurators.Upgrade
|
|
|
|
Assistant.WebApp.Configurators.WebDAV
|
|
|
|
Assistant.WebApp.Control
|
|
|
|
Assistant.WebApp.DashBoard
|
|
|
|
Assistant.WebApp.Documentation
|
|
|
|
Assistant.WebApp.Form
|
|
|
|
Assistant.WebApp.Gpg
|
|
|
|
Assistant.WebApp.MakeRemote
|
|
|
|
Assistant.WebApp.Notifications
|
|
|
|
Assistant.WebApp.OtherRepos
|
|
|
|
Assistant.WebApp.Page
|
|
|
|
Assistant.WebApp.Pairing
|
|
|
|
Assistant.WebApp.Repair
|
|
|
|
Assistant.WebApp.RepoId
|
|
|
|
Assistant.WebApp.RepoList
|
|
|
|
Assistant.WebApp.SideBar
|
|
|
|
Assistant.WebApp.Types
|
2018-09-04 14:41:45 +00:00
|
|
|
Command.Assistant
|
|
|
|
Command.Watch
|
2022-08-29 19:21:00 +00:00
|
|
|
Command.WebApp
|
2018-09-04 14:41:45 +00:00
|
|
|
Utility.Mounts
|
2022-08-29 19:21:00 +00:00
|
|
|
Utility.Yesod
|
|
|
|
Utility.WebApp
|
|
|
|
|
2018-10-13 05:36:06 +00:00
|
|
|
if os(linux)
|
2019-07-05 19:09:37 +00:00
|
|
|
Build-Depends: hinotify (>= 0.3.10)
|
2013-07-16 15:29:43 +00:00
|
|
|
CPP-Options: -DWITH_INOTIFY
|
2017-08-18 14:53:31 +00:00
|
|
|
Other-Modules: Utility.DirWatcher.INotify
|
2012-12-27 19:19:12 +00:00
|
|
|
else
|
2013-07-12 19:36:59 +00:00
|
|
|
if os(darwin)
|
|
|
|
Build-Depends: hfsevents
|
|
|
|
CPP-Options: -DWITH_FSEVENTS
|
2018-09-04 14:41:45 +00:00
|
|
|
Other-Modules:
|
|
|
|
Utility.DirWatcher.FSEvents
|
2013-07-12 19:36:59 +00:00
|
|
|
else
|
2013-11-12 18:54:02 +00:00
|
|
|
if os(windows)
|
|
|
|
Build-Depends: Win32-notify
|
|
|
|
CPP-Options: -DWITH_WIN32NOTIFY
|
2017-08-18 14:53:31 +00:00
|
|
|
Other-Modules: Utility.DirWatcher.Win32Notify
|
2013-11-12 18:54:02 +00:00
|
|
|
else
|
2018-02-18 15:09:16 +00:00
|
|
|
if (! os(solaris) && ! os(gnu) && ! os(linux))
|
2017-08-18 14:53:31 +00:00
|
|
|
CPP-Options: -DWITH_KQUEUE
|
|
|
|
C-Sources: Utility/libkqueue.c
|
2017-10-24 16:54:33 +00:00
|
|
|
Includes: Utility/libkqueue.h
|
2017-08-18 14:53:31 +00:00
|
|
|
Other-Modules: Utility.DirWatcher.Kqueue
|
2022-06-29 18:11:20 +00:00
|
|
|
|
2016-02-05 22:00:20 +00:00
|
|
|
if flag(Dbus)
|
|
|
|
if (os(linux))
|
|
|
|
Build-Depends: dbus (>= 0.10.7), fdo-notify (>= 0.3)
|
|
|
|
CPP-Options: -DWITH_DBUS -DWITH_DESKTOP_NOTIFY -DWITH_DBUS_NOTIFICATIONS
|
2017-08-18 14:53:31 +00:00
|
|
|
Other-Modules: Utility.DBus
|
2014-03-22 14:42:38 +00:00
|
|
|
|
2013-07-16 15:29:43 +00:00
|
|
|
if flag(Pairing)
|
2012-09-07 23:44:20 +00:00
|
|
|
Build-Depends: network-multicast, network-info
|
|
|
|
CPP-Options: -DWITH_PAIRING
|
2012-09-07 18:54:00 +00:00
|
|
|
|
2014-12-18 18:22:43 +00:00
|
|
|
if flag(TorrentParser)
|
|
|
|
Build-Depends: torrent (>= 10000.0.0)
|
|
|
|
CPP-Options: -DWITH_TORRENTPARSER
|
|
|
|
|
2016-02-03 20:29:34 +00:00
|
|
|
if flag(MagicMime)
|
2020-10-26 17:34:27 +00:00
|
|
|
Build-Depends: magic
|
|
|
|
CPP-Options: -DWITH_MAGICMIME
|
2016-02-03 20:29:34 +00:00
|
|
|
|
2016-01-12 17:01:44 +00:00
|
|
|
if flag(Benchmark)
|
2019-06-25 17:10:06 +00:00
|
|
|
Build-Depends: criterion
|
2016-01-12 17:01:44 +00:00
|
|
|
CPP-Options: -DWITH_BENCHMARK
|
2018-11-19 19:00:24 +00:00
|
|
|
|
|
|
|
if flag(DebugLocks)
|
|
|
|
CPP-Options: -DDEBUGLOCKS
|
2013-07-28 19:27:36 +00:00
|
|
|
|
2016-05-24 05:00:06 +00:00
|
|
|
Other-Modules:
|
|
|
|
Annex
|
|
|
|
Annex.Action
|
|
|
|
Annex.AdjustedBranch
|
2020-11-16 18:09:55 +00:00
|
|
|
Annex.AdjustedBranch.Merge
|
2018-10-19 19:17:48 +00:00
|
|
|
Annex.AdjustedBranch.Name
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.AutoMerge
|
|
|
|
Annex.BloomFilter
|
|
|
|
Annex.Branch
|
|
|
|
Annex.Branch.Transitions
|
|
|
|
Annex.BranchState
|
|
|
|
Annex.CatFile
|
2016-12-09 18:52:38 +00:00
|
|
|
Annex.ChangedRefs
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.CheckAttr
|
|
|
|
Annex.CheckIgnore
|
|
|
|
Annex.Common
|
|
|
|
Annex.Concurrent
|
2020-04-21 15:20:10 +00:00
|
|
|
Annex.Concurrent.Utility
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.Content
|
2020-11-16 15:21:33 +00:00
|
|
|
Annex.Content.Presence
|
2021-07-27 18:21:09 +00:00
|
|
|
Annex.Content.Presence.LowLevel
|
2018-08-22 18:41:09 +00:00
|
|
|
Annex.Content.LowLevel
|
|
|
|
Annex.Content.PointerFile
|
2021-04-14 18:06:43 +00:00
|
|
|
Annex.CopyFile
|
2018-10-19 19:17:48 +00:00
|
|
|
Annex.CurrentBranch
|
2021-04-06 19:14:00 +00:00
|
|
|
Annex.Debug
|
|
|
|
Annex.Debug.Utility
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.Difference
|
|
|
|
Annex.DirHashes
|
|
|
|
Annex.Drop
|
|
|
|
Annex.Environment
|
2017-09-18 17:57:25 +00:00
|
|
|
Annex.Export
|
2020-07-29 16:00:27 +00:00
|
|
|
Annex.ExternalAddonProcess
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.FileMatcher
|
|
|
|
Annex.Fixup
|
|
|
|
Annex.GitOverlay
|
|
|
|
Annex.HashObject
|
|
|
|
Annex.Hook
|
2019-02-21 21:32:59 +00:00
|
|
|
Annex.Import
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.Ingest
|
|
|
|
Annex.Init
|
|
|
|
Annex.InodeSentinal
|
|
|
|
Annex.Journal
|
|
|
|
Annex.Link
|
|
|
|
Annex.Locations
|
|
|
|
Annex.LockFile
|
|
|
|
Annex.LockPool
|
2019-01-23 16:39:02 +00:00
|
|
|
Annex.Magic
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.MetaData
|
|
|
|
Annex.MetaData.StandardFields
|
2017-03-30 23:32:58 +00:00
|
|
|
Annex.Multicast
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.Notification
|
|
|
|
Annex.NumCopies
|
|
|
|
Annex.Path
|
|
|
|
Annex.Perms
|
2020-08-26 16:20:56 +00:00
|
|
|
Annex.PidLock
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.Queue
|
|
|
|
Annex.ReplaceFile
|
2019-03-01 18:44:22 +00:00
|
|
|
Annex.RemoteTrackingBranch
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.SpecialRemote
|
2019-10-10 16:48:26 +00:00
|
|
|
Annex.SpecialRemote.Config
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.Ssh
|
2021-02-03 17:19:47 +00:00
|
|
|
Annex.StallDetection
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.TaggedPush
|
2019-01-17 19:40:44 +00:00
|
|
|
Annex.Tmp
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.Transfer
|
2020-12-07 16:50:48 +00:00
|
|
|
Annex.TransferrerPool
|
addurl --preserve-filename and a few related changes
* addurl --preserve-filename: New option, uses server-provided filename
without any sanitization, but with some security checking.
Not yet implemented for remotes other than the web.
* addurl, importfeed: Avoid adding filenames with leading '.', instead
it will be replaced with '_'.
This might be considered a security fix, but a CVE seems unwattanted.
It was possible for addurl to create a dotfile, which could change
behavior of some program. It was also possible for a web server to say
the file name was ".git" or "foo/.git". That would not overrwrite the
.git directory, but would cause addurl to fail; of course git won't
add "foo/.git".
sanitizeFilePath is too opinionated to remain in Utility, so moved it.
The changes to mkSafeFilePath are because it used sanitizeFilePath.
In particular:
isDrive will never succeed, because "c:" gets munged to "c_"
".." gets sanitized now
".git" gets sanitized now
It will never be null, because sanitizeFilePath keeps the length
the same, and splitDirectories never returns a null path.
Also, on the off chance a web server suggests a filename of "",
ignore that, rather than trying to save to such a filename, which would
fail in some way.
2020-05-08 20:09:29 +00:00
|
|
|
Annex.UntrustedFilePath
|
2017-02-17 19:21:39 +00:00
|
|
|
Annex.UpdateInstead
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.UUID
|
|
|
|
Annex.Url
|
2021-02-09 21:03:27 +00:00
|
|
|
Annex.VariantFile
|
2017-08-14 17:55:38 +00:00
|
|
|
Annex.VectorClock
|
2020-12-23 19:21:33 +00:00
|
|
|
Annex.VectorClock.Utility
|
2021-02-09 21:03:27 +00:00
|
|
|
Annex.Verify
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.Version
|
|
|
|
Annex.View
|
|
|
|
Annex.View.ViewedFile
|
|
|
|
Annex.Wanted
|
2020-04-17 18:36:45 +00:00
|
|
|
Annex.WorkerPool
|
2016-05-24 05:00:06 +00:00
|
|
|
Annex.WorkTree
|
2017-11-29 19:49:05 +00:00
|
|
|
Annex.YoutubeDl
|
2023-02-23 14:35:19 +00:00
|
|
|
Assistant.Install.AutoStart
|
|
|
|
Assistant.Install.Menu
|
2016-05-24 05:00:06 +00:00
|
|
|
Backend
|
2020-07-29 19:23:18 +00:00
|
|
|
Backend.External
|
2016-05-24 05:00:06 +00:00
|
|
|
Backend.Hash
|
|
|
|
Backend.URL
|
|
|
|
Backend.Utilities
|
|
|
|
Backend.WORM
|
2019-01-04 17:43:53 +00:00
|
|
|
Benchmark
|
2016-05-24 05:00:06 +00:00
|
|
|
Build.BundledPrograms
|
|
|
|
Build.Configure
|
2018-09-05 15:47:00 +00:00
|
|
|
Build.DesktopFile
|
2016-05-31 17:58:13 +00:00
|
|
|
Build.Mans
|
2016-05-24 05:00:06 +00:00
|
|
|
Build.TestConfig
|
|
|
|
Build.Version
|
2017-04-07 22:03:09 +00:00
|
|
|
BuildInfo
|
2018-01-02 17:47:51 +00:00
|
|
|
BuildFlags
|
2016-05-24 05:00:06 +00:00
|
|
|
CmdLine
|
|
|
|
CmdLine.Action
|
|
|
|
CmdLine.Batch
|
|
|
|
CmdLine.GitAnnex
|
|
|
|
CmdLine.GitAnnex.Options
|
|
|
|
CmdLine.GitAnnexShell
|
|
|
|
CmdLine.GitAnnexShell.Checks
|
|
|
|
CmdLine.GitAnnexShell.Fields
|
2022-06-29 17:28:08 +00:00
|
|
|
CmdLine.AnnexSetter
|
2016-05-24 05:00:06 +00:00
|
|
|
CmdLine.Option
|
2016-11-21 21:27:38 +00:00
|
|
|
CmdLine.GitRemoteTorAnnex
|
2016-05-24 05:00:06 +00:00
|
|
|
CmdLine.Seek
|
|
|
|
CmdLine.Usage
|
|
|
|
Command
|
|
|
|
Command.Add
|
|
|
|
Command.AddUnused
|
|
|
|
Command.AddUrl
|
|
|
|
Command.Adjust
|
2019-01-05 12:09:28 +00:00
|
|
|
Command.Benchmark
|
2016-05-24 05:00:06 +00:00
|
|
|
Command.CalcKey
|
|
|
|
Command.CheckPresentKey
|
2017-01-31 21:27:44 +00:00
|
|
|
Command.Config
|
2016-05-24 05:00:06 +00:00
|
|
|
Command.ConfigList
|
|
|
|
Command.ContentLocation
|
|
|
|
Command.Copy
|
|
|
|
Command.Dead
|
|
|
|
Command.Describe
|
|
|
|
Command.DiffDriver
|
|
|
|
Command.Direct
|
|
|
|
Command.Drop
|
|
|
|
Command.DropKey
|
|
|
|
Command.DropUnused
|
|
|
|
Command.EnableRemote
|
2016-11-30 18:35:24 +00:00
|
|
|
Command.EnableTor
|
2016-05-24 05:00:06 +00:00
|
|
|
Command.ExamineKey
|
|
|
|
Command.Expire
|
2017-09-13 18:21:08 +00:00
|
|
|
Command.Export
|
2021-05-14 14:59:48 +00:00
|
|
|
Command.FilterBranch
|
2021-11-04 19:02:36 +00:00
|
|
|
Command.FilterProcess
|
2016-05-24 05:00:06 +00:00
|
|
|
Command.Find
|
2023-01-17 18:42:29 +00:00
|
|
|
Command.FindKeys
|
2016-05-24 05:00:06 +00:00
|
|
|
Command.FindRef
|
|
|
|
Command.Fix
|
|
|
|
Command.Forget
|
|
|
|
Command.FromKey
|
|
|
|
Command.Fsck
|
|
|
|
Command.FuzzTest
|
|
|
|
Command.GCryptSetup
|
|
|
|
Command.Get
|
|
|
|
Command.Group
|
|
|
|
Command.GroupWanted
|
|
|
|
Command.Help
|
|
|
|
Command.Import
|
|
|
|
Command.ImportFeed
|
|
|
|
Command.InAnnex
|
|
|
|
Command.Indirect
|
|
|
|
Command.Info
|
|
|
|
Command.Init
|
|
|
|
Command.InitRemote
|
2017-12-28 15:46:39 +00:00
|
|
|
Command.Inprogress
|
2016-05-24 05:00:06 +00:00
|
|
|
Command.List
|
|
|
|
Command.Lock
|
|
|
|
Command.Log
|
|
|
|
Command.LookupKey
|
|
|
|
Command.Map
|
|
|
|
Command.MatchExpression
|
|
|
|
Command.Merge
|
|
|
|
Command.MetaData
|
|
|
|
Command.Migrate
|
|
|
|
Command.Mirror
|
|
|
|
Command.Move
|
2017-03-30 23:32:58 +00:00
|
|
|
Command.Multicast
|
2016-05-24 05:00:06 +00:00
|
|
|
Command.NotifyChanges
|
|
|
|
Command.NumCopies
|
2021-01-06 18:11:08 +00:00
|
|
|
Command.MinCopies
|
2016-11-30 18:35:24 +00:00
|
|
|
Command.P2P
|
2018-03-07 19:15:23 +00:00
|
|
|
Command.P2PStdIO
|
2017-02-17 18:04:43 +00:00
|
|
|
Command.PostReceive
|
2016-05-24 05:00:06 +00:00
|
|
|
Command.PreCommit
|
|
|
|
Command.Proxy
|
|
|
|
Command.ReKey
|
|
|
|
Command.ReadPresentKey
|
|
|
|
Command.RecvKey
|
|
|
|
Command.RegisterUrl
|
|
|
|
Command.Reinit
|
|
|
|
Command.Reinject
|
|
|
|
Command.RemoteDaemon
|
2019-04-15 17:05:44 +00:00
|
|
|
Command.RenameRemote
|
2016-05-24 05:00:06 +00:00
|
|
|
Command.Repair
|
|
|
|
Command.Required
|
|
|
|
Command.ResolveMerge
|
2022-09-23 20:29:28 +00:00
|
|
|
Command.Restage
|
2016-05-24 05:00:06 +00:00
|
|
|
Command.RmUrl
|
|
|
|
Command.Schedule
|
|
|
|
Command.Semitrust
|
|
|
|
Command.SendKey
|
|
|
|
Command.SetKey
|
|
|
|
Command.SetPresentKey
|
|
|
|
Command.Smudge
|
|
|
|
Command.Status
|
|
|
|
Command.Sync
|
|
|
|
Command.Test
|
|
|
|
Command.TestRemote
|
2020-12-09 17:21:20 +00:00
|
|
|
Command.Transferrer
|
2016-05-24 05:00:06 +00:00
|
|
|
Command.TransferKey
|
|
|
|
Command.TransferKeys
|
|
|
|
Command.Trust
|
|
|
|
Command.Unannex
|
|
|
|
Command.Undo
|
|
|
|
Command.Ungroup
|
|
|
|
Command.Uninit
|
|
|
|
Command.Unlock
|
2021-03-01 18:28:24 +00:00
|
|
|
Command.UnregisterUrl
|
2016-05-24 05:00:06 +00:00
|
|
|
Command.Untrust
|
|
|
|
Command.Unused
|
|
|
|
Command.Upgrade
|
|
|
|
Command.VAdd
|
|
|
|
Command.VCycle
|
|
|
|
Command.VFilter
|
|
|
|
Command.VPop
|
|
|
|
Command.Version
|
|
|
|
Command.Vicfg
|
|
|
|
Command.View
|
|
|
|
Command.Wanted
|
|
|
|
Command.Whereis
|
2021-07-14 18:25:52 +00:00
|
|
|
Command.WhereUsed
|
2016-05-24 05:00:06 +00:00
|
|
|
Common
|
|
|
|
Config
|
|
|
|
Config.Cost
|
|
|
|
Config.Files
|
2020-10-28 18:53:25 +00:00
|
|
|
Config.Files.AutoStart
|
2017-08-17 16:26:14 +00:00
|
|
|
Config.DynamicConfig
|
2017-02-03 17:40:14 +00:00
|
|
|
Config.GitConfig
|
2018-08-28 14:26:51 +00:00
|
|
|
Config.Smudge
|
2016-05-24 05:00:06 +00:00
|
|
|
Creds
|
|
|
|
Crypto
|
2019-10-29 19:16:15 +00:00
|
|
|
Database.Benchmark
|
2019-02-20 20:59:10 +00:00
|
|
|
Database.ContentIdentifier
|
2017-09-04 17:52:22 +00:00
|
|
|
Database.Export
|
2016-05-24 05:00:06 +00:00
|
|
|
Database.Fsck
|
|
|
|
Database.Handle
|
2017-02-13 21:30:28 +00:00
|
|
|
Database.Init
|
2016-05-24 05:00:06 +00:00
|
|
|
Database.Keys
|
|
|
|
Database.Keys.Handle
|
2022-10-12 19:21:19 +00:00
|
|
|
Database.Keys.Tables
|
2016-05-24 05:00:06 +00:00
|
|
|
Database.Keys.SQL
|
|
|
|
Database.Queue
|
|
|
|
Database.Types
|
2023-03-31 18:34:18 +00:00
|
|
|
Database.Utility
|
2016-05-24 05:00:06 +00:00
|
|
|
Git
|
|
|
|
Git.AutoCorrect
|
|
|
|
Git.Branch
|
|
|
|
Git.BuildVersion
|
|
|
|
Git.CatFile
|
|
|
|
Git.CheckAttr
|
|
|
|
Git.CheckIgnore
|
|
|
|
Git.Command
|
|
|
|
Git.Command.Batch
|
|
|
|
Git.Config
|
2017-02-17 18:04:43 +00:00
|
|
|
Git.ConfigTypes
|
2016-05-24 05:00:06 +00:00
|
|
|
Git.Construct
|
2019-09-24 16:32:54 +00:00
|
|
|
Git.Credential
|
2016-05-24 05:00:06 +00:00
|
|
|
Git.CurrentRepo
|
|
|
|
Git.DiffTree
|
|
|
|
Git.DiffTreeItem
|
|
|
|
Git.Env
|
|
|
|
Git.FileMode
|
|
|
|
Git.FilePath
|
2021-11-04 19:02:36 +00:00
|
|
|
Git.FilterProcess
|
2016-05-24 05:00:06 +00:00
|
|
|
Git.Fsck
|
|
|
|
Git.GCrypt
|
|
|
|
Git.HashObject
|
2019-04-24 18:55:49 +00:00
|
|
|
Git.History
|
2016-05-24 05:00:06 +00:00
|
|
|
Git.Hook
|
|
|
|
Git.Index
|
|
|
|
Git.LockFile
|
|
|
|
Git.LsFiles
|
|
|
|
Git.LsTree
|
|
|
|
Git.Merge
|
|
|
|
Git.Objects
|
2021-11-04 19:02:36 +00:00
|
|
|
Git.PktLine
|
2016-05-24 05:00:06 +00:00
|
|
|
Git.Queue
|
2023-04-12 21:18:29 +00:00
|
|
|
Git.Quote
|
2016-05-24 05:00:06 +00:00
|
|
|
Git.Ref
|
|
|
|
Git.RefLog
|
|
|
|
Git.Remote
|
|
|
|
Git.Remote.Remove
|
|
|
|
Git.Repair
|
|
|
|
Git.Sha
|
2017-03-17 20:02:47 +00:00
|
|
|
Git.Ssh
|
2016-05-24 05:00:06 +00:00
|
|
|
Git.Status
|
|
|
|
Git.Tree
|
|
|
|
Git.Types
|
|
|
|
Git.UnionMerge
|
|
|
|
Git.UpdateIndex
|
|
|
|
Git.Url
|
|
|
|
Git.Version
|
2017-02-24 17:42:30 +00:00
|
|
|
Key
|
2016-05-24 05:00:06 +00:00
|
|
|
Limit
|
|
|
|
Limit.Wanted
|
|
|
|
Logs
|
|
|
|
Logs.Activity
|
|
|
|
Logs.Chunk
|
|
|
|
Logs.Chunk.Pure
|
2017-01-31 21:27:44 +00:00
|
|
|
Logs.Config
|
2019-02-20 21:22:56 +00:00
|
|
|
Logs.ContentIdentifier
|
2019-02-20 19:36:09 +00:00
|
|
|
Logs.ContentIdentifier.Pure
|
2016-05-24 05:00:06 +00:00
|
|
|
Logs.Difference
|
|
|
|
Logs.Difference.Pure
|
2017-08-31 19:41:48 +00:00
|
|
|
Logs.Export
|
2021-04-13 18:06:40 +00:00
|
|
|
Logs.Export.Pure
|
2018-01-02 21:17:10 +00:00
|
|
|
Logs.File
|
2016-05-24 05:00:06 +00:00
|
|
|
Logs.FsckResults
|
|
|
|
Logs.Group
|
2016-05-27 16:15:01 +00:00
|
|
|
Logs.Line
|
2016-05-24 05:00:06 +00:00
|
|
|
Logs.Location
|
|
|
|
Logs.MapLog
|
|
|
|
Logs.MetaData
|
2018-09-05 17:20:10 +00:00
|
|
|
Logs.MetaData.Pure
|
2017-03-30 23:32:58 +00:00
|
|
|
Logs.Multicast
|
2016-05-24 05:00:06 +00:00
|
|
|
Logs.NumCopies
|
|
|
|
Logs.PreferredContent
|
|
|
|
Logs.PreferredContent.Raw
|
|
|
|
Logs.Presence
|
|
|
|
Logs.Presence.Pure
|
|
|
|
Logs.Remote
|
2019-10-14 19:38:07 +00:00
|
|
|
Logs.Remote.Pure
|
2016-05-24 05:00:06 +00:00
|
|
|
Logs.RemoteState
|
add restage log
When pointer files need to be restaged, they're first written to the
log, and then when the restage operation runs, it reads the log. This
way, if the git-annex process is interrupted before it can do the
restaging, a later git-annex process can do it.
Currently, this lets a git-annex get/drop command be interrupted and
then re-ran, and as long as it gets/drops additional files, it will
clean up after the interrupted command. But more changes are
needed to make it easier to restage after an interrupted process.
Kept using the git queue to run the restage action, even though the
list of files that it builds up for that action is not actually used by
the action. This could perhaps be simplified to make restaging a cleanup
action that gets registered, rather than using the git queue for it. But
I wasn't sure if that would cause visible behavior changes, when eg
dropping a large number of files, currently the git queue flushes
periodically, and so it restages incrementally, rather than all at the
end.
In restagePointerFiles, it reads the restage log twice, once to get
the number of files and size, and a second time to process it.
This seemed better than reading the whole file into memory, since
potentially a huge number of files could be in there. Probably the OS
will cache the file in memory and there will not be much performance
impact. It might be better to keep running tallies in another file
though. But updating that atomically with the log seems hard.
Also note that it's possible for calcRestageLog to see a different file
than streamRestageLog does. More files may be added to the log in
between. That is ok, it will only cause the filterprocessfaster heuristic to
operate with slightly out of date information, so it may make the wrong
choice for the files that got added and be a little slower than ideal.
Sponsored-by: Dartmouth College's DANDI project
2022-09-23 18:38:59 +00:00
|
|
|
Logs.Restage
|
2016-05-24 05:00:06 +00:00
|
|
|
Logs.Schedule
|
|
|
|
Logs.SingleValue
|
2018-09-05 17:20:10 +00:00
|
|
|
Logs.SingleValue.Pure
|
2018-10-25 18:43:13 +00:00
|
|
|
Logs.Smudge
|
2016-05-24 05:00:06 +00:00
|
|
|
Logs.Transfer
|
|
|
|
Logs.Transitions
|
|
|
|
Logs.Trust
|
|
|
|
Logs.Trust.Basic
|
|
|
|
Logs.Trust.Pure
|
|
|
|
Logs.UUID
|
|
|
|
Logs.UUIDBased
|
|
|
|
Logs.Unused
|
2022-01-19 19:51:04 +00:00
|
|
|
Logs.Upgrade
|
2016-05-24 05:00:06 +00:00
|
|
|
Logs.View
|
|
|
|
Logs.Web
|
|
|
|
Messages
|
|
|
|
Messages.Concurrent
|
|
|
|
Messages.Internal
|
|
|
|
Messages.JSON
|
|
|
|
Messages.Progress
|
2020-12-04 17:50:03 +00:00
|
|
|
Messages.Serialized
|
2016-11-29 21:30:27 +00:00
|
|
|
P2P.Address
|
2016-12-02 17:50:56 +00:00
|
|
|
P2P.Annex
|
2016-11-22 18:37:19 +00:00
|
|
|
P2P.Auth
|
2016-11-22 18:34:49 +00:00
|
|
|
P2P.IO
|
|
|
|
P2P.Protocol
|
2016-05-24 05:00:06 +00:00
|
|
|
Remote
|
2018-03-27 16:41:57 +00:00
|
|
|
Remote.Adb
|
2016-05-24 05:00:06 +00:00
|
|
|
Remote.BitTorrent
|
2020-12-18 20:03:51 +00:00
|
|
|
Remote.Borg
|
2016-05-24 05:00:06 +00:00
|
|
|
Remote.Bup
|
|
|
|
Remote.Ddar
|
|
|
|
Remote.Directory
|
|
|
|
Remote.Directory.LegacyChunked
|
|
|
|
Remote.External
|
2020-08-12 19:17:53 +00:00
|
|
|
Remote.External.AsyncExtension
|
2016-05-24 05:00:06 +00:00
|
|
|
Remote.External.Types
|
|
|
|
Remote.GCrypt
|
|
|
|
Remote.Git
|
2019-08-01 19:11:45 +00:00
|
|
|
Remote.GitLFS
|
2016-05-24 05:00:06 +00:00
|
|
|
Remote.Glacier
|
|
|
|
Remote.Helper.AWS
|
|
|
|
Remote.Helper.Chunked
|
|
|
|
Remote.Helper.Chunked.Legacy
|
|
|
|
Remote.Helper.Encryptable
|
2019-02-20 19:55:01 +00:00
|
|
|
Remote.Helper.ExportImport
|
2016-05-24 05:00:06 +00:00
|
|
|
Remote.Helper.Git
|
|
|
|
Remote.Helper.Hooks
|
2020-09-08 16:42:59 +00:00
|
|
|
Remote.Helper.Http
|
2016-05-24 05:00:06 +00:00
|
|
|
Remote.Helper.Messages
|
2018-03-08 20:11:00 +00:00
|
|
|
Remote.Helper.P2P
|
2016-05-24 05:00:06 +00:00
|
|
|
Remote.Helper.ReadOnly
|
2020-12-21 20:20:58 +00:00
|
|
|
Remote.Helper.ThirdPartyPopulated
|
2016-05-24 05:00:06 +00:00
|
|
|
Remote.Helper.Special
|
|
|
|
Remote.Helper.Ssh
|
2020-09-02 14:41:27 +00:00
|
|
|
Remote.HttpAlso
|
2016-05-24 05:00:06 +00:00
|
|
|
Remote.Hook
|
|
|
|
Remote.List
|
2020-05-27 15:54:39 +00:00
|
|
|
Remote.List.Util
|
2016-12-06 16:19:47 +00:00
|
|
|
Remote.P2P
|
2016-05-24 05:00:06 +00:00
|
|
|
Remote.Rsync
|
|
|
|
Remote.Rsync.RsyncUrl
|
2020-09-08 16:42:59 +00:00
|
|
|
Remote.S3
|
2016-05-24 05:00:06 +00:00
|
|
|
Remote.Tahoe
|
|
|
|
Remote.Web
|
2020-09-08 16:42:59 +00:00
|
|
|
Remote.WebDAV
|
|
|
|
Remote.WebDAV.DavLocation
|
2016-05-24 05:00:06 +00:00
|
|
|
RemoteDaemon.Common
|
|
|
|
RemoteDaemon.Core
|
|
|
|
RemoteDaemon.Transport
|
|
|
|
RemoteDaemon.Transport.GCrypt
|
2016-11-20 19:45:01 +00:00
|
|
|
RemoteDaemon.Transport.Tor
|
2016-05-24 05:00:06 +00:00
|
|
|
RemoteDaemon.Transport.Ssh
|
|
|
|
RemoteDaemon.Transport.Ssh.Types
|
|
|
|
RemoteDaemon.Types
|
|
|
|
Test
|
2018-02-18 15:48:48 +00:00
|
|
|
Test.Framework
|
2016-05-24 05:00:06 +00:00
|
|
|
Types
|
2016-08-08 14:41:54 +00:00
|
|
|
Types.ActionItem
|
2018-10-19 19:17:48 +00:00
|
|
|
Types.AdjustedBranch
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.Availability
|
|
|
|
Types.Backend
|
2019-01-04 17:43:53 +00:00
|
|
|
Types.Benchmark
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.BranchState
|
2020-04-20 17:53:27 +00:00
|
|
|
Types.CatFileHandles
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.CleanupActions
|
|
|
|
Types.Command
|
2016-09-09 16:57:42 +00:00
|
|
|
Types.Concurrency
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.Creds
|
|
|
|
Types.Crypto
|
|
|
|
Types.DeferredParse
|
|
|
|
Types.DesktopNotify
|
|
|
|
Types.Difference
|
2023-01-24 17:45:01 +00:00
|
|
|
Types.Direction
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.Distribution
|
2017-09-15 20:34:45 +00:00
|
|
|
Types.Export
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.FileMatcher
|
|
|
|
Types.GitConfig
|
|
|
|
Types.Group
|
2019-02-21 17:38:27 +00:00
|
|
|
Types.Import
|
2020-04-10 17:37:04 +00:00
|
|
|
Types.IndexFiles
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.Key
|
|
|
|
Types.KeySource
|
2021-03-02 16:47:23 +00:00
|
|
|
Types.Link
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.LockCache
|
|
|
|
Types.Messages
|
|
|
|
Types.MetaData
|
2019-04-30 15:58:06 +00:00
|
|
|
Types.Mime
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.NumCopies
|
2020-01-10 18:10:20 +00:00
|
|
|
Types.ProposedAccepted
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.RefSpec
|
|
|
|
Types.Remote
|
2020-01-13 16:35:39 +00:00
|
|
|
Types.RemoteConfig
|
add RemoteStateHandle
This solves the problem of sameas remotes trampling over per-remote
state. Used for:
* per-remote state, of course
* per-remote metadata, also of course
* per-remote content identifiers, because two remote implementations
could in theory generate the same content identifier for two different
peices of content
While chunk logs are per-remote data, they don't use this, because the
number and size of chunks stored is a common property across sameas
remotes.
External special remote had a complication, where it was theoretically
possible for a remote to send SETSTATE or GETSTATE during INITREMOTE or
EXPORTSUPPORTED. Since the uuid of the remote is typically generate in
Remote.setup, it would only be possible to pass a Maybe
RemoteStateHandle into it, and it would otherwise have to construct its
own. Rather than go that route, I decided to send an ERROR in this case.
It seems unlikely that any existing external special remote will be
affected. They would have to make up a git-annex key, and set state for
some reason during INITREMOTE. I can imagine such a hack, but it doesn't
seem worth complicating the code in such an ugly way to support it.
Unfortunately, both TestRemote and Annex.Import needed the Remote
to have a new field added that holds its RemoteStateHandle.
2019-10-14 16:33:27 +00:00
|
|
|
Types.RemoteState
|
2018-10-25 21:23:53 +00:00
|
|
|
Types.RepoVersion
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.ScheduledActivity
|
|
|
|
Types.StandardGroups
|
2020-12-08 19:22:18 +00:00
|
|
|
Types.StallDetection
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.StoreRetrieve
|
|
|
|
Types.Test
|
2016-08-08 14:41:54 +00:00
|
|
|
Types.Transfer
|
2020-12-09 17:28:16 +00:00
|
|
|
Types.Transferrer
|
2020-12-07 16:50:48 +00:00
|
|
|
Types.TransferrerPool
|
2021-12-28 17:23:32 +00:00
|
|
|
Types.Transitions
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.TrustLevel
|
|
|
|
Types.UUID
|
2022-01-19 17:06:31 +00:00
|
|
|
Types.Upgrade
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.UrlContents
|
2020-12-23 19:21:33 +00:00
|
|
|
Types.VectorClock
|
2016-05-24 05:00:06 +00:00
|
|
|
Types.View
|
2019-06-05 17:03:05 +00:00
|
|
|
Types.WorkerPool
|
2016-05-24 05:00:06 +00:00
|
|
|
Upgrade
|
|
|
|
Upgrade.V0
|
|
|
|
Upgrade.V1
|
|
|
|
Upgrade.V2
|
|
|
|
Upgrade.V3
|
|
|
|
Upgrade.V4
|
|
|
|
Upgrade.V5
|
2019-08-27 18:01:28 +00:00
|
|
|
Upgrade.V5.Direct
|
2018-10-25 21:23:53 +00:00
|
|
|
Upgrade.V6
|
2019-11-06 19:37:18 +00:00
|
|
|
Upgrade.V7
|
2022-01-11 18:52:50 +00:00
|
|
|
Upgrade.V8
|
2022-01-19 17:06:31 +00:00
|
|
|
Upgrade.V9
|
Fix mangling of --json output of utf-8 characters when not running in a utf-8 locale
As long as all code imports Utility.Aeson rather than Data.Aeson,
and no Strings that may contain utf-8 characters are used for eg, object
keys via T.pack, this is guaranteed to fix the problem everywhere that
git-annex generates json.
It's kind of annoying to need to wrap ToJSON with a ToJSON', especially
since every data type that has a ToJSON instance has to be ported over.
However, that only took 50 lines of code, which is worth it to ensure full
coverage. I initially tried an alternative approach of a newtype FileEncoded,
which had to be used everywhere a String was fed into aeson, and chasing
down all the sites would have been far too hard. Did consider creating an
intentionally overlapping instance ToJSON String, and letting ghc fail
to build anything that passed in a String, but am not sure that wouldn't
pollute some library that git-annex depends on that happens to use ToJSON
String internally.
This commit was supported by the NSF-funded DataLad project.
2018-04-16 19:42:45 +00:00
|
|
|
Utility.Aeson
|
2018-09-05 15:47:00 +00:00
|
|
|
Utility.Android
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.Applicative
|
2019-12-06 17:58:28 +00:00
|
|
|
Utility.Attoparsec
|
2016-11-22 18:18:34 +00:00
|
|
|
Utility.AuthToken
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.Base64
|
|
|
|
Utility.Batch
|
|
|
|
Utility.Bloom
|
|
|
|
Utility.CoProcess
|
|
|
|
Utility.CopyFile
|
|
|
|
Utility.Daemon
|
|
|
|
Utility.Data
|
|
|
|
Utility.DataUnits
|
2021-04-05 17:40:31 +00:00
|
|
|
Utility.Debug
|
2018-11-19 19:00:24 +00:00
|
|
|
Utility.DebugLocks
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.DirWatcher
|
|
|
|
Utility.DirWatcher.Types
|
|
|
|
Utility.Directory
|
2020-10-28 18:53:25 +00:00
|
|
|
Utility.Directory.Create
|
2017-12-31 20:08:31 +00:00
|
|
|
Utility.Directory.Stream
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.DiskFree
|
|
|
|
Utility.Dot
|
|
|
|
Utility.DottedVersion
|
|
|
|
Utility.Env
|
2017-12-31 20:08:31 +00:00
|
|
|
Utility.Env.Basic
|
|
|
|
Utility.Env.Set
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.Exception
|
|
|
|
Utility.FileMode
|
|
|
|
Utility.FileSize
|
|
|
|
Utility.FileSystemEncoding
|
|
|
|
Utility.Format
|
|
|
|
Utility.FreeDesktop
|
|
|
|
Utility.Glob
|
|
|
|
Utility.Gpg
|
|
|
|
Utility.Hash
|
2017-11-28 16:50:30 +00:00
|
|
|
Utility.HtmlDetect
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.HumanNumber
|
|
|
|
Utility.HumanTime
|
|
|
|
Utility.InodeCache
|
2018-06-16 22:44:27 +00:00
|
|
|
Utility.IPAddress
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.LockFile
|
|
|
|
Utility.LockPool
|
|
|
|
Utility.LockPool.LockHandle
|
2019-07-22 13:25:08 +00:00
|
|
|
Utility.LockPool.STM
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.LogFile
|
|
|
|
Utility.Lsof
|
2016-12-18 20:50:58 +00:00
|
|
|
Utility.MagicWormhole
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.Matcher
|
2019-07-28 18:27:33 +00:00
|
|
|
Utility.MD5
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.Metered
|
|
|
|
Utility.Misc
|
|
|
|
Utility.Monad
|
2020-11-05 22:45:37 +00:00
|
|
|
Utility.MoveFile
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.Network
|
|
|
|
Utility.NotificationBroadcaster
|
|
|
|
Utility.OptParse
|
2023-02-23 14:35:19 +00:00
|
|
|
Utility.OSX
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.PID
|
|
|
|
Utility.PartialPrelude
|
|
|
|
Utility.Path
|
2020-10-28 18:53:25 +00:00
|
|
|
Utility.Path.AbsRel
|
2017-12-31 20:08:31 +00:00
|
|
|
Utility.Path.Max
|
2020-11-10 00:07:31 +00:00
|
|
|
Utility.Path.Tests
|
2023-03-01 17:14:55 +00:00
|
|
|
Utility.Path.Windows
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.Percentage
|
|
|
|
Utility.Process
|
|
|
|
Utility.Process.Shim
|
2017-12-31 20:08:31 +00:00
|
|
|
Utility.Process.Transcript
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.QuickCheck
|
2019-01-14 19:19:20 +00:00
|
|
|
Utility.RawFilePath
|
2020-04-20 17:53:27 +00:00
|
|
|
Utility.ResourcePool
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.Rsync
|
|
|
|
Utility.SafeCommand
|
2023-04-10 17:38:14 +00:00
|
|
|
Utility.SafeOutput
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.Scheduled
|
|
|
|
Utility.Scheduled.QuickCheck
|
|
|
|
Utility.Shell
|
2020-11-10 00:07:31 +00:00
|
|
|
Utility.ShellEscape
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.SimpleProtocol
|
2017-05-16 03:32:17 +00:00
|
|
|
Utility.Split
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.SshConfig
|
2017-08-18 02:11:31 +00:00
|
|
|
Utility.SshHost
|
2016-12-20 21:40:36 +00:00
|
|
|
Utility.Su
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.SystemDirectory
|
2023-04-12 17:48:21 +00:00
|
|
|
Utility.Terminal
|
2018-10-30 03:13:36 +00:00
|
|
|
Utility.TimeStamp
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.TList
|
|
|
|
Utility.Tense
|
|
|
|
Utility.ThreadLock
|
|
|
|
Utility.ThreadScheduler
|
|
|
|
Utility.Tmp
|
2017-12-31 20:08:31 +00:00
|
|
|
Utility.Tmp.Dir
|
2016-11-14 17:26:34 +00:00
|
|
|
Utility.Tor
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.Touch
|
2017-05-16 03:32:17 +00:00
|
|
|
Utility.Tuple
|
2016-05-24 05:00:06 +00:00
|
|
|
Utility.Url
|
|
|
|
Utility.UserInfo
|
|
|
|
Utility.Verifiable
|
2017-08-18 14:53:31 +00:00
|
|
|
|
|
|
|
if (os(windows))
|
|
|
|
Other-Modules:
|
|
|
|
Utility.LockFile.Windows
|
|
|
|
Utility.LockPool.Windows
|
|
|
|
else
|
|
|
|
Other-Modules:
|
|
|
|
Utility.LockFile.Posix
|
|
|
|
Utility.LockPool.Posix
|
2019-07-22 13:08:05 +00:00
|
|
|
Annex.LockPool.PosixOrPid
|
2019-07-22 13:21:41 +00:00
|
|
|
Utility.LockFile.LockStatus
|
|
|
|
Utility.LockFile.PidLock
|
|
|
|
Utility.LockPool.PidLock
|
|
|
|
Utility.LinuxMkLibs
|