Merge branch 'master' into bloom
Conflicts: Command/Commit.hs debian/changelog
This commit is contained in:
commit
342fc28437
5 changed files with 33 additions and 3 deletions
|
@ -22,7 +22,8 @@ seek = [withNothing start]
|
|||
start :: CommandStart
|
||||
start = next $ next $ do
|
||||
Annex.Branch.commit "update"
|
||||
runhook =<< (inRepo $ Git.hookPath "annex-content")
|
||||
_ <- runhook =<< (inRepo $ Git.hookPath "annex-content")
|
||||
return True
|
||||
where
|
||||
runhook (Just hook) = liftIO $ boolSystem hook []
|
||||
runhook Nothing = return True
|
||||
|
|
|
@ -290,10 +290,13 @@ rsyncParamsRemote r sending key file = do
|
|||
then return $ o ++ eparam ++ [dummy, File file]
|
||||
else return $ o ++ eparam ++ [File file, dummy]
|
||||
where
|
||||
-- the rsync shell parameter controls where rsync
|
||||
-- The rsync shell parameter controls where rsync
|
||||
-- goes, so the source/dest parameter can be a dummy value,
|
||||
-- that just enables remote rsync mode.
|
||||
dummy = Param ":"
|
||||
-- For maximum compatability with some patched rsyncs,
|
||||
-- the dummy value needs to still contain a hostname,
|
||||
-- even though this hostname will never be used.
|
||||
dummy = Param "dummy:"
|
||||
|
||||
rsyncParams :: Git.Repo -> Annex [CommandParam]
|
||||
rsyncParams r = do
|
||||
|
|
1
debian/changelog
vendored
1
debian/changelog
vendored
|
@ -18,6 +18,7 @@ git-annex (3.20120310) UNRELEASED; urgency=low
|
|||
detect then it's too small for the number of keys in a repository.
|
||||
* git-annex-shell: Runs hooks/annex-content after content is received
|
||||
or dropped.
|
||||
* Work around a bug in rsync (IMHO) introduced by openSUSE's SIP patch.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Sat, 10 Mar 2012 14:03:22 -0400
|
||||
|
||||
|
|
14
doc/forum/post-copy__47__sync_hook.mdwn
Normal file
14
doc/forum/post-copy__47__sync_hook.mdwn
Normal file
|
@ -0,0 +1,14 @@
|
|||
Hi,
|
||||
|
||||
I have the following setup:
|
||||
- normal git repository with website code.
|
||||
- git annex repository to hold large set of binary data (pdfs, flashmovies, etc) that belongs to the site.
|
||||
|
||||
I use git annex so I (and other developers) don't need to copy 1.4Gb+ of binary data for every working copy. (Data that is mostly left untouched.) Using git annex copy --to=origin I can simply only add new additions to this media/binary repository, without first pulling all the data. So far so good.
|
||||
|
||||
When commits are pushed to a certain branch on the normal git repository, a post-receive hook exports (GIT_WORK_TREE=/data/site/ git checkout $branch -f) the updated repository to an apache documentroot. Thereby updating the staging server of the website.
|
||||
|
||||
My question is, how can I do the same thing for my git annex repository? Since post-receive fires on receiving the annex hashes, and not the actual files. Those are rsynced, and I cannot find a way to trigger an action after all files are copied by git annex via rsync.
|
||||
|
||||
Any tips?
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
[[!comment format=mdwn
|
||||
username="http://joey.kitenet.net/"
|
||||
nickname="joey"
|
||||
subject="comment 1"
|
||||
date="2012-03-14T16:23:25Z"
|
||||
content="""
|
||||
I've made git-annex-shell run the git `hooks/annex-content` after content is received or dropped.
|
||||
|
||||
Note that the clients need to be running at least git-annex version 3.20120227 , which runs git-annex-shell commit, which runs the hook.
|
||||
|
||||
"""]]
|
Loading…
Reference in a new issue