git-annex/Command
Joey Hess a3eac50fe9 bugfix: drop --from an unavailable remote no longer updates the location log, incorrectly, to say the remote does not have the key.
The comments correctly noted that the remote could drop the key and
yet False be returned due to some problem that occurred afterwards.
For example, if it's a network remote, it could drop the key just
as the network goes down, and so things timeout and a nonzero exit
from ssh is propigated through and False returned.

However... Most of the time, this scenario will not have happened.
False will mean the remote was not available or could not drop the key
at all.

So, instead of assuming the worst, just trust the status we have.

If we get it wrong, and the scenario above happened, our location
log will think the remote has the key. But the remote's location
log (assuming it has one) will know it dropped it, and the next sync
will regain consistency.

For a special remote, with no location log, our location log will be wrong,
but this is no different than the situation where someone else dropped
the key from the remote and we've not synced with them. The standard
paranoia about not trusting the location log to be the last word about
whether a remote has a key will save us from these situations. Ie,
if we try to drop the file, we'll actively check the remote,
and determine the inconsistency then.
2013-03-10 19:15:53 -04:00
..
Add.hs Makefile now builds using cabal, taking advantage of cabal's automatic detection of appropriate build flags. 2013-02-27 02:39:22 -04:00
AddUnused.hs block all commands that don't work in direct mode 2012-12-29 14:28:19 -04:00
AddUrl.hs add: Improved detection of files that are modified while being added. 2013-02-14 16:54:36 -04:00
Assistant.hs webapp: New preferences page allows enabling/disabling debug logging at runtime, as well as configuring numcopies and diskreserve. 2013-03-03 17:07:27 -04:00
Commit.hs where indentation 2012-11-12 01:05:04 -04:00
ConfigList.hs more descriptive name for oneshot 2012-09-15 20:46:38 -04:00
Copy.hs two types of byName 2013-03-05 15:43:56 -04:00
Dead.hs dead: Remove dead repository from all groups. 2012-10-10 15:39:13 -04:00
Describe.hs lint 2011-11-11 01:52:58 -04:00
Direct.hs git subcommand cleanup 2013-03-03 13:39:07 -04:00
Drop.hs bugfix: drop --from an unavailable remote no longer updates the location log, incorrectly, to say the remote does not have the key. 2013-03-10 19:15:53 -04:00
DropKey.hs more descriptive name for oneshot 2012-09-15 20:46:38 -04:00
DropUnused.hs two types of byName 2013-03-05 15:43:56 -04:00
Find.hs More commands work in direct mode repositories: find, whereis, move, copy, drop, log. 2013-01-05 17:17:04 -04:00
Fix.hs guard readSymbolicLink 2013-01-05 16:07:27 -04:00
FromKey.hs convert notBareRepo to a CommandCheck 2012-12-29 14:45:19 -04:00
Fsck.hs bugfix: drop --from an unavailable remote no longer updates the location log, incorrectly, to say the remote does not have the key. 2013-03-10 19:15:53 -04:00
Get.hs two types of byName 2013-03-05 15:43:56 -04:00
Group.hs simplify 2012-10-01 15:17:21 -04:00
Help.hs where indentation 2012-11-12 01:05:04 -04:00
Import.hs convert notBareRepo to a CommandCheck 2012-12-29 14:45:19 -04:00
InAnnex.hs where indentation 2012-11-12 01:05:04 -04:00
Indirect.hs git subcommand cleanup 2013-03-03 13:39:07 -04:00
Init.hs where indentation 2012-11-12 01:05:04 -04:00
InitRemote.hs whitespace fixes 2012-12-13 00:45:27 -04:00
Lock.hs block all commands that don't work in direct mode 2012-12-29 14:28:19 -04:00
Log.hs More commands work in direct mode repositories: find, whereis, move, copy, drop, log. 2013-01-05 17:17:04 -04:00
Map.hs where indentation 2012-11-12 01:05:04 -04:00
Merge.hs improve alwayscommit=false mode 2012-02-25 16:18:55 -04:00
Migrate.hs add: Improved detection of files that are modified while being added. 2013-02-14 16:54:36 -04:00
Move.hs two types of byName 2013-03-05 15:43:56 -04:00
PreCommit.hs pre-commit: Update direct mode mappings. 2013-02-06 12:44:19 -04:00
RecvKey.hs safe recv-key in direct mode 2013-01-11 16:03:45 -04:00
Reinject.hs block all commands that don't work in direct mode 2012-12-29 14:28:19 -04:00
ReKey.hs migrate, rekey: copy rather than hard linking in crippled filesystem mode 2013-02-15 13:51:50 -04:00
Semitrust.hs clean up check selection code 2011-10-29 15:19:05 -04:00
SendKey.hs Special remotes now all rollback storage of keys that get modified during the transfer, which can happen in direct mode. 2013-01-09 18:42:29 -04:00
Status.hs type based git config handling for remotes 2013-01-01 13:58:14 -04:00
Sync.hs git subcommand cleanup 2013-03-03 13:39:07 -04:00
Test.hs break dependency cycle by special casing running of test command 2013-02-27 15:51:28 -04:00
TransferInfo.hs fixes for transfer resume 2012-09-24 13:18:16 -04:00
TransferKey.hs two types of byName 2013-03-05 15:43:56 -04:00
Trust.hs clean up check selection code 2011-10-29 15:19:05 -04:00
Unannex.hs git subcommand cleanup 2013-03-03 13:39:07 -04:00
Ungroup.hs simplify 2012-10-01 15:17:21 -04:00
Uninit.hs git subcommand cleanup 2013-03-03 13:39:07 -04:00
Unlock.hs block all commands that don't work in direct mode 2012-12-29 14:28:19 -04:00
Untrust.hs clean up check selection code 2011-10-29 15:19:05 -04:00
Unused.hs two types of byName 2013-03-05 15:43:56 -04:00
Upgrade.hs annex.version is now set to 4 for direct mode repositories 2013-02-26 15:13:10 -04:00
Version.hs add build flags to version output 2013-03-09 14:57:23 -04:00
Vicfg.hs vicfg: Quote filename. Closes: #696193 2012-12-18 12:19:24 -04:00
Watch.hs convert notBareRepo to a CommandCheck 2012-12-29 14:45:19 -04:00
WebApp.hs webapp: New preferences page allows enabling/disabling debug logging at runtime, as well as configuring numcopies and diskreserve. 2013-03-03 17:07:27 -04:00
Whereis.hs More commands work in direct mode repositories: find, whereis, move, copy, drop, log. 2013-01-05 17:17:04 -04:00
XMPPGit.hs flush stdout 2012-11-09 14:33:34 -04:00