Added a comment
This commit is contained in:
parent
201759dce9
commit
449173389e
1 changed files with 76 additions and 0 deletions
|
@ -0,0 +1,76 @@
|
|||
[[!comment format=mdwn
|
||||
username="https://www.google.com/accounts/o8/id?id=AItOawmhfodZquCI_EEl-f3h7HkROTszlsQL6yA"
|
||||
nickname="Joe"
|
||||
subject="comment 4"
|
||||
date="2013-06-16T17:27:18Z"
|
||||
content="""
|
||||
I have a workaround that requires a small patch. I'm not sure why it's not creating the mapping, but I noticed that git annex fsck has a verifyDirectMapping which will create the mapping if it doesn't exist.
|
||||
|
||||
git annex fsck will throw an error on fixLinks and won't proceed to verifyDirectMapping if the map file doesn't exist. So, I needed a way to call verifyDirectMapping directly. My hack is to add an argument to git annex fsck to call verifyDirectMapping.
|
||||
|
||||
My workflow is this:
|
||||
|
||||
**repo1**:
|
||||
[[!format sh \"\"\"
|
||||
echo a > new.txt
|
||||
git annex add .
|
||||
git commit -m \"add a\"
|
||||
git copy --to origin
|
||||
git annex sync
|
||||
\"\"\"]]
|
||||
|
||||
**repo2**:
|
||||
[[!format sh \"\"\"
|
||||
git annex sync
|
||||
git annex pull origin synced/master
|
||||
git annex fsck --verifyDirectMapping
|
||||
git annex get .
|
||||
\"\"\"]]
|
||||
|
||||
The new file comes down cleanly.
|
||||
|
||||
I'm sure there's a better way to do this to fix the core issue, but here's how I patched Fsck.hs as a minimal workaround
|
||||
|
||||
[[!format diff \"\"\"
|
||||
|
||||
diff --git a/Command/Fsck.hs b/Command/Fsck.hs
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
index 9af6a4a..97aabb8
|
||||
--- a/Command/Fsck.hs
|
||||
+++ b/Command/Fsck.hs
|
||||
@@ -59,12 +60,16 @@ incrementalScheduleOption :: Option
|
||||
incrementalScheduleOption = Option.field [] \"incremental-schedule\" paramTime
|
||||
\"schedule incremental fscking\"
|
||||
|
||||
+verifyDirectMappingOption :: Option
|
||||
+verifyDirectMappingOption = Option.flag [] \"verifyDirectMapping\" \"verifies direct mappings are consistent\"
|
||||
+
|
||||
options :: [Option]
|
||||
options =
|
||||
[ fromOption
|
||||
, startIncrementalOption
|
||||
, moreIncrementalOption
|
||||
, incrementalScheduleOption
|
||||
+ , verifyDirectMappingOption
|
||||
]
|
||||
|
||||
seek :: [CommandSeek]
|
||||
@@ -107,18 +112,23 @@ withIncremental = withValue $ do
|
||||
start :: Maybe Remote -> Incremental -> FilePath -> (Key, Backend) -> CommandStart
|
||||
start from inc file (key, backend) = do
|
||||
numcopies <- numCopies file
|
||||
- case from of
|
||||
- Nothing -> go $ perform key file backend numcopies
|
||||
- Just r -> go $ performRemote key file backend numcopies r
|
||||
+ verify <- Annex.getFlag (Option.name verifyDirectMappingOption)
|
||||
+ if verify
|
||||
+ then go $ verifyDirectMapping key file
|
||||
+ else
|
||||
+ case from of
|
||||
+ Nothing -> go $ perform key file backend numcopies
|
||||
+ Just r -> go $ performRemote key file backend numcopies r
|
||||
|
||||
|
||||
\"\"\"]]
|
||||
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue