summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-12-05 16:05:07 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-12-05 16:05:07 -0400
commit19a01d9bf469607d4b491c1d2302ce6547fc80a2 (patch)
treec8a01d2367f76e10a466c7de9a768b57c58a3d99
parent57a01d90316d18d55a9e9120d74f65782c7d5cf8 (diff)
lock: Require --force.
-rw-r--r--Command/Lock.hs3
-rw-r--r--debian/changelog1
-rw-r--r--doc/bugs/git_annex_lock_dangerous.mdwn2
3 files changed, 6 insertions, 0 deletions
diff --git a/Command/Lock.hs b/Command/Lock.hs
index 6dc58df74..bceba4a91 100644
--- a/Command/Lock.hs
+++ b/Command/Lock.hs
@@ -10,6 +10,7 @@ module Command.Lock where
import Common.Annex
import Command
import qualified Annex.Queue
+import qualified Annex
def :: [Command]
def = [notDirect $ command "lock" paramPaths seek SectionCommon
@@ -21,6 +22,8 @@ seek = [withFilesUnlocked start, withFilesUnlockedToBeCommitted start]
start :: FilePath -> CommandStart
start file = do
showStart "lock" file
+ unlessM (Annex.getState Annex.force) $
+ error "Locking this file would discard any changes you have made to it. Use 'git annex add' to stage your changes. (Or, use --force to override)"
next $ perform file
perform :: FilePath -> CommandPerform
diff --git a/debian/changelog b/debian/changelog
index a6aa40341..155dc72f9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -16,6 +16,7 @@ git-annex (5.20131131) UNRELEASED; urgency=low
command to find DNS server, since there is no resolv.conf.
* import: Add --skip-duplicates option.
* Windows: watch and assistant work! (very experimental)
+ * lock: Require --force.
-- Joey Hess <joeyh@debian.org> Sun, 01 Dec 2013 13:57:58 -0400
diff --git a/doc/bugs/git_annex_lock_dangerous.mdwn b/doc/bugs/git_annex_lock_dangerous.mdwn
index f7b204784..ae0ff24b6 100644
--- a/doc/bugs/git_annex_lock_dangerous.mdwn
+++ b/doc/bugs/git_annex_lock_dangerous.mdwn
@@ -15,3 +15,5 @@ If you want my opinion, `git annex lock` should either require `-f` to throw awa
### What version of git-annex are you using? On what operating system?
git version 1.8.1.2, git-annex version: 4.20130815, Kubuntu 13.04
+
+> Agreed; [[done]] --[[Joey]]