Joey Hess
b66a2d6c5b
wired up global options
...
Note that I ran into a problem where parsing the global options looped
forever, eating memory. It was somehow caused by stacking
combineGlobalSetters inside a combineGlobalSetters. Maybe due to both
using "many"? Anyway, changed things to avoid that.
2015-07-10 02:03:03 -04:00
Joey Hess
adb9fddfdd
convert global options (still not used)
2015-07-10 01:39:06 -04:00
Joey Hess
820b92abab
wip
...
Current status:
* building again, but several commands are commented out
* still need to implement global options, file matching options, etc
2015-07-09 19:03:24 -04:00
Joey Hess
e59ba5a70b
refactor
2015-07-09 16:20:30 -04:00
Joey Hess
a7f58634b8
wip
2015-07-09 16:05:45 -04:00
Joey Hess
8ad927dbc6
converted copy and move
...
Got a little tricky..
2015-07-09 15:23:14 -04:00
Joey Hess
032e6485fa
use Alternative for parsing KeyOptions
2015-07-09 12:44:03 -04:00
Joey Hess
8a9d2a6e9d
let optparse-applicative handle the usage display when run w/o command or bad command
...
Still generating the list of commands myself, to get it sorted into
sections and with short synopses.
2015-07-09 11:52:47 -04:00
Joey Hess
c1c64ec76c
formatting
2015-07-09 10:42:28 -04:00
Joey Hess
d0cf4b2dd4
let bash completion complete files
2015-07-09 02:01:27 -04:00
Joey Hess
d8d1499229
finalOpt is the same as optional
2015-07-09 01:02:27 -04:00
Joey Hess
3332df2c52
improve --help display for commands
2015-07-08 18:31:44 -04:00
Joey Hess
60806dd191
wip
2015-07-08 17:59:06 -04:00
Joey Hess
92d8f80bff
support cmdnorepo actions, also using getopt-applicative there
2015-07-08 15:39:05 -04:00
Joey Hess
6e5c1f8db3
convert all commands to work with optparse-applicative
...
Still no options though.
2015-07-08 15:08:02 -04:00
Joey Hess
3125da54f6
display cmdparamdesc in optparse-applicative usage messages
...
Since optparse-applicative display "FOO" as "[FOO]", the paramOptional
modifier which wrapped it in square brackets was removed from most places.
2015-07-08 13:39:11 -04:00
Joey Hess
a2ba701056
started converting to use optparse-applicative
...
This is a work in progress. It compiles and is able to do basic command
dispatch, including git autocorrection, while using optparse-applicative
for the core commandline parsing.
* Many commands are temporarily disabled before conversion.
* Options are not wired in yet.
* cmdnorepo actions don't work yet.
Also, removed the [Command] list, which was only used in one place.
2015-07-08 13:36:25 -04:00
Joey Hess
1529add61a
Brought back the setkey plumbing command that was removed in 2011, since we found a use case for it. Note that the command's syntax was changed for consistency.
2015-07-02 17:44:25 -04:00
Joey Hess
29c03145e6
sync: Add support for --all and --unused.
2015-06-16 16:50:03 -04:00
Joey Hess
f8ab3bc449
dead --key: Can be used to mark a key as dead.
2015-06-09 14:52:05 -04:00
Joey Hess
d28e8fbfd5
get --incomplete: New option to resume any interrupted downloads.
2015-06-02 14:20:38 -04:00
Joey Hess
86699ff861
unused: Add --used option, which can specify a set of refs to consider used, rather than the default of considering all refs used.
2015-05-14 15:31:38 -04:00
Joey Hess
e27b97d364
Merge branch 'master' into concurrentprogress
...
Conflicts:
Command/Fsck.hs
Messages.hs
Remote/Directory.hs
Remote/Git.hs
Remote/Helper/Special.hs
Types/Remote.hs
debian/changelog
git-annex.cabal
2015-05-12 13:23:22 -04:00
Joey Hess
eeb0359a2e
contentlocation, examinekey, lookupkey: Added --batch mode option.
2015-05-06 13:44:53 -04:00
Joey Hess
efb37e7c78
Improve behavior when a git-annex command is told to operate on a file that doesn't exist. It will now continue to other files specified after that on the command line, and only error out at the end.
2015-04-30 15:28:17 -04:00
Joey Hess
461b967966
refactor
2015-04-30 15:04:01 -04:00
Joey Hess
ef2202fd94
required: New command, like wanted, but for required content.
...
Also refactored some code to reduce duplication.
2015-04-18 16:04:35 -04:00
Joey Hess
9971c82ead
refactor
2015-04-10 17:53:58 -04:00
Joey Hess
8077ccbd54
get, move, copy, mirror: Concurrent downloads and uploads are now supported!
...
This works, and seems fairly robust. Clean get of 20 files at -J3. At -J10,
there are some messages about ssh multiplexing, probably due to a race
spinning up the ssh connection cacher. But, it manages to get all the files
ok regardless.
The progress bars are a scrambled mess though, due to bugs in
ascii-progress, which I've already filed. Particularly this one:
https://github.com/yamadapc/haskell-ascii-progress/issues/8
2015-04-10 17:08:07 -04:00
Joey Hess
ce0a82f493
contentlocationn: New plumbing command.
2015-04-09 15:34:47 -04:00
Joey Hess
9445556c97
rethought distributed fsck; instead add activity.log and expire command
...
This is much more space efficient!
2015-04-05 12:50:02 -04:00
Joey Hess
8aa6b5f2a6
Fix truncation of parameters that could occur when using xargs git-annex.
...
This will only ever result in a few more git-ls-files being run than were run
before. (Only 1 more is really needed, but around 10 more are currently run
for a max length command line.)
So, no need to worry about the extra zombie, or lost laziness due to concat.
2015-04-02 01:20:07 -04:00
Joey Hess
cd6b62f35e
--auto is no longer a global option; only get, drop, and copy accept it.
...
Not a behavior change unless you were passing it to a command that ignored it.
2015-03-25 17:06:14 -04:00
Joey Hess
e6158130c6
checkpresentkey: New plumbing command to check if a key can be verified to be present on a remote.
2015-03-20 11:44:46 -04:00
Joey Hess
50ef4105e3
readpresentkey: New plumbing command for checking location log.
2015-03-20 11:22:27 -04:00
Joey Hess
c88ec4c482
forgot one thing
2015-03-15 14:55:44 -04:00
Joey Hess
abfe3c09b2
registerurl: New plumbing command for mass-adding urls to keys.
2015-03-15 14:37:33 -04:00
Joey Hess
3439ea4bdc
git-annex-shell: Improve error message when the specified repository doesn't exist or git config fails for some reason.
2015-03-05 21:45:42 -04:00
Joey Hess
15107d2c5a
propigate ssh-options everywhere ssh caching is used
...
* sync: Use the ssh-options git config when doing git pull and push.
* remotedaemon: Use the ssh-options git config.
Note that the rename env var means that if a new git-annex calls an old one
for git-annex ssh, or a new calls an old, nothing much will go wrong;
just ssh caching won't happen.
2015-02-12 16:14:53 -04:00
Joey Hess
f153079152
metadata: When setting metadata, do not recurse into directories by default, since that can be surprising behavior and difficult to recover from. The old behavior is available by using --force.
2015-02-10 16:06:53 -04:00
Joey Hess
9312d2b4ed
better option handling
...
At least it avoids the big truth table lookup
2015-02-08 15:04:58 -04:00
Joey Hess
8066a1c3cc
The file matching options are now only accepted by commands that can actually use them.
2015-02-06 17:16:41 -04:00
Joey Hess
b94eb9b22c
relFile does not have to be relative; rename to currFile
2015-02-06 16:03:02 -04:00
Joey Hess
dfab5e6ff4
import: Support file matching options such as --exclude, --include, --smallerthan, --largerthan
2015-02-06 15:58:06 -04:00
Joey Hess
febb1c2082
groupwanted: New command to set the groupwanted preferred content expression.
2015-02-06 15:12:42 -04:00
Joey Hess
afc5153157
update my email address and homepage url
2015-01-21 12:50:09 -04:00
Joey Hess
3bab5dfb1d
revert parentDir change
...
Reverts 965e106f24
Unfortunately, this caused breakage on Windows, and possibly elsewhere,
because parentDir and takeDirectory do not behave the same when there is a
trailing directory separator.
2015-01-09 13:11:56 -04:00
Joey Hess
965e106f24
made parentDir return a Maybe FilePath; removed most uses of it
...
parentDir is less safe than takeDirectory, especially when working
with relative FilePaths. It's really only useful in loops that
want to terminate at /
This commit was sponsored by Audric SCHILTKNECHT.
2015-01-06 18:55:56 -04:00
Joey Hess
e9a5e4d6c6
Run shutdown cleanup actions even if there were failures processing the command.
...
Amoung other fixes, this means that addurl will stage added files even if
adding one of the urls fails.
2014-12-30 12:49:34 -04:00
Joey Hess
43dc7f678f
setpresentkey: A new plumbing-level command.
2014-12-29 15:16:40 -04:00