summaryrefslogtreecommitdiff
path: root/Command
Commit message (Collapse)AuthorAge
* other 80% of avoding verification when hard linking to objects in shared repoGravatar Joey Hess2015-10-02
| | | | | | | | | | | | | | | | | | | | In c3b38fb2a075b4250e867ebd910324c65712c747, it actually only handled uploading objects to a shared repository. To avoid verification when downloading objects from a shared repository, was a lot harder. On the plus side, if the process of downloading a file from a remote is able to verify its content on the side, the remote can indicate this now, and avoid the extra post-download verification. As of yet, I don't have any remotes (except Git) using this ability. Some more work would be needed to support it in special remotes. It would make sense for tahoe to implicitly verify things downloaded from it; as long as you trust your tahoe server (which typically runs locally), there's cryptographic integrity. OTOH, despite bup being based on shas, a bup repo under an attacker's control could have the git ref used for an object changed, and so a bup repo shouldn't implicitly verify. Indeed, tahoe seems unique in being trustworthy enough to implicitly verify.
* Do verification of checksums of annex objects downloaded from remotes.Gravatar Joey Hess2015-10-01
| | | | | | | | | | | | | | | | * When annex objects are received into git repositories, their checksums are verified then too. * To get the old, faster, behavior of not verifying checksums, set annex.verify=false, or remote.<name>.annex-verify=false. * setkey, rekey: These commands also now verify that the provided file matches the key, unless annex.verify=false. * reinject: Already verified content; this can now be disabled by setting annex.verify=false. recvkey and reinject already did verification, so removed now duplicate code from them. fsck still does its own verification, which is ok since it does not use getViaTmp, so verification doesn't happen twice when using fsck --from.
* rename functionGravatar Joey Hess2015-10-01
|
* rename fsckKey to verifyKeyContentGravatar Joey Hess2015-10-01
| | | | No behavior changes.
* status: Show added but not yet committed files.Gravatar Joey Hess2015-09-22
| | | | | | | | | | | Seems easy, but git ls-files can't list the right subset of files. So, I wrote a whole new parser for git status output, and converted the status command to use that. There are a few other small behavior changes. The order changed. Unlocked files show as T. In indirect mode, deleted files were not shown before, and that's fixed. Regular files checked directly into git and modified were not shown before, and are now.
* cleanupGravatar Joey Hess2015-09-22
|
* info: Don't allow use in a non-git-annex repository, since it uses the ↵Gravatar Joey Hess2015-09-16
| | | | | | | git-annex branch and would create it if it were missing. I made the change to allow in 2014 without any rationalle or associated request that I can find.
* Special remotes configured with autoenable=true will be automatically ↵Gravatar Joey Hess2015-09-14
| | | | enabled when git-annex init is run.
* Improve bash completion, so it completes names of remotes and backends in ↵Gravatar Joey Hess2015-09-14
| | | | | | | | | appropriate places. Not necessarily everywhere, but a lot of the most often used places. Re the use of .Internal, see https://github.com/pcapriotti/optparse-applicative/issues/155
* sync: Add --no-commit, --no-pull, --no-push options to turn off parts of the ↵Gravatar Joey Hess2015-09-13
| | | | sync process, as well as supporting --commit, --pull, --push, and --no-content options to specify the (current) default behavior.
* Command/Unused.hs: Change --unused-refspec back to --used-refspecGravatar Øyvind A. Holm2015-09-09
| | | | | | Fix typo in commit aa96e9c ("convert Unused, and remove some dead code for old style option parsing", 2015-07-10), the "git-annex unused --used-refspec" option was incorrectly changed to --unused-refspec.
* info: Support querying info of individual files in direct mode.Gravatar Joey Hess2015-09-09
|
* Fix building without database.Gravatar Joey Hess2015-08-23
| | | | | | | | Ben Boeckel had a patch, but.. Actually, that was not the only place that used ScheduleIncremental when built w/o database. Since the data type doesn't need database stuff, I've instead fixed this build problem by exposing the ScheduleIncremental constructor to database-less builds.
* ImportFeed: fix signature of mkquvi without libquviGravatar Ben Boeckel2015-08-23
|
* make sync --no-content be acceptedGravatar Joey Hess2015-08-20
| | | | It's the default, but this is a step toward changing that default later..
* importfeed --relaxed: Avoid hitting the urls of items in the feed.Gravatar Joey Hess2015-08-19
|
* make whereis show urls when web remote does not have contentGravatar Joey Hess2015-08-17
| | | | This is needed when external special remotes register an url for a key.
* sync: Support --jobsGravatar Joey Hess2015-08-14
| | | | | | * sync: Support --jobs * sync --content: Avoid unnecessary second pull from remotes when no file transfers are made.
* add some debugs to get timingsGravatar Joey Hess2015-08-13
| | | | | | | Note that I had one in Annex.Action.startup too, but it resulted in a weird message printed by ssh, "channel 2: bad ext data". I don't know why, but it only happened when transferinfo was run, so I wonder if 1d71ad072e13c8ed1cb8b34367b57d59e651f0a9 introduced a fragility somehow.
* metadata: Fix reversion introduced in 5.20150727 that caused display of ↵Gravatar Joey Hess2015-08-11
| | | | metadata to not work.
* git-annex-shell: Don't let configlist auto-init repository when in readonly ↵Gravatar Joey Hess2015-08-05
| | | | | | | | | | mode. This was potentially a hole in the readonly mode armor even before my last commit. If the user could push a git-annex branch to a repo, they could get git-annex-shell to initialize the repo. After my last commit, the user didn't even need to be allowed to push a branch to init the repo, so this hole certianly needs to be closed now.
* Simplify setup process for a ssh remote.Gravatar Joey Hess2015-08-05
| | | | | | | | | | | | | | | | | | | | | | Now it suffices to run git remote add, followed by git-annex sync. Now the remote is automatically initialized for use by git-annex, where before the git-annex branch had to manually be pushed before using git-annex sync. Note that this involved changes to git-annex-shell, so if the remote is using an old version, the manual push is still needed. Implementation required git-annex-shell be changed, so configlist can autoinit a repository even when no git-annex branch has been pushed yet. Unfortunate because we'll have to wait for it to get deployed to servers before being able to rely on this change in the documentation. Did consider making git-annex sync push the git-annex branch to repos that didn't have a uuid, but this seemed difficult to do without complicating it in messy ways. It would be cleaner to split a command out from configlist to handle the initialization. But this is difficult without sacrificing backwards compatability, for users of old git-annex versions which would not use the new command.
* unused importGravatar Joey Hess2015-08-05
|
* reorgGravatar Joey Hess2015-08-04
|
* proxy: Fix removal of files deleted by the proxied command.Gravatar Joey Hess2015-08-04
| | | | | | | Git.Ref.headSha doesn't really work in direct mode as there's not a head, so it was actually diffing against the empty tree and so not removing any deleted files. Get the sha of the current branch instead, which is the same thing Command.Sync does.
* proxy: Fix proxy git commit of non-annexed files in direct mode.Gravatar Joey Hess2015-08-04
| | | | | | | * proxy: Fix proxy git commit of non-annexed files in direct mode. * proxy: If a non-proxied git command, such as git revert would normally fail because of unstaged files in the work tree, make the proxied command fail the same way.
* Improve shutdown due to --time-limit, especially for fsckGravatar Joey Hess2015-07-31
| | | | | | | | | | | | | | | * Perform a clean shutdown when --time-limit is reached. This includes running queued git commands, and cleanup actions normally run when a command is finished. * fsck: Commit incremental fsck database when --time-limit is reached. Previously, some of the last files fscked did not make it into the database when using --time-limit. Note that this changes Annex.addCleanup hooks, to run after --time-limit expires. Fsck was using such a hook to clean up after a --incremental-schedule, and that shouldn't run when --time-limit exipires it. So, instead, moved that cleanup code to be run by cleanupIncremental. Resulted in some data type juggling.
* The last release accidentially removed a number of options from the copy ↵Gravatar Joey Hess2015-07-30
| | | | command. (-J, file matching options, etc). These have been added back.
* Support building without persistent database on for systems that lack TH. ↵Gravatar Joey Hess2015-07-25
| | | | This removes support for incremental fsck.
* addurl now accepts --prefix and --suffix options to adjust the filenames usedGravatar Joey Hess2015-07-21
|
* importfeed: Look at not only permalinks, but now also guids to identify ↵Gravatar Joey Hess2015-07-20
| | | | | | | | | | | | | | | | | previously downloaded files. I've seen rss feeds that have no permalinks, only guids (which are sometimes in the form of permalinks, argh/sigh). I had previously avoided trusting guids to be globally unique, because my survey of rss feeds that I subscribe to shows a lot of pretty bad "guids" like "2 at http://serialpodcast.org" or even worse "oth20150401-hq". Worry was that two podcasts that are generating guids so badly, that there's no guarantee they're actually globally unique. But, I'm seeing too many url changes that result in redundant files, so let's try this. If feeds are so broken that guids overlap, they could just as well incorrectly call them permalinks too.
* sync --content: Fix bug that caused files to be uploaded to eg, more archive ↵Gravatar Joey Hess2015-07-20
| | | | remotes than wanted copies, only to later be dropped to satisfy the preferred content settings.
* wire tasty's option parser into the main program option parserGravatar Joey Hess2015-07-13
| | | | | This makes bash completion work for git-annex test, and is generally cleaner.
* convert WebApp; avoid duplicate arg parsing for no repo modeGravatar Joey Hess2015-07-13
|
* converted Assistant and Watch; avoid duplicate arg parsing for no repo modeGravatar Joey Hess2015-07-13
|
* convert ImportGravatar Joey Hess2015-07-13
|
* converted ImportFeedGravatar Joey Hess2015-07-13
|
* converted addurlGravatar Joey Hess2015-07-13
|
* converted LogGravatar Joey Hess2015-07-13
|
* convert Dead, and allow multiple --key optionsGravatar Joey Hess2015-07-13
|
* converted MetaData, eliminating a global value from Annex state .. beautifulGravatar Joey Hess2015-07-12
|
* converted ContentLocation, ExampleKey, LookupKeyGravatar Joey Hess2015-07-11
|
* converted StatusGravatar Joey Hess2015-07-11
|
* converted InfoGravatar Joey Hess2015-07-11
|
* converted Forget and TestRemoteGravatar Joey Hess2015-07-11
|
* converted MirrorGravatar Joey Hess2015-07-10
|
* convert ListGravatar Joey Hess2015-07-10
|
* converted ViCfg (trivially)Gravatar Joey Hess2015-07-10
|
* convert FindRefGravatar Joey Hess2015-07-10
|
* convert WhereisGravatar Joey Hess2015-07-10
|