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 :: CommandStart
|
||||||
start = next $ next $ do
|
start = next $ next $ do
|
||||||
Annex.Branch.commit "update"
|
Annex.Branch.commit "update"
|
||||||
runhook =<< (inRepo $ Git.hookPath "annex-content")
|
_ <- runhook =<< (inRepo $ Git.hookPath "annex-content")
|
||||||
|
return True
|
||||||
where
|
where
|
||||||
runhook (Just hook) = liftIO $ boolSystem hook []
|
runhook (Just hook) = liftIO $ boolSystem hook []
|
||||||
runhook Nothing = return True
|
runhook Nothing = return True
|
||||||
|
|
|
@ -290,10 +290,13 @@ rsyncParamsRemote r sending key file = do
|
||||||
then return $ o ++ eparam ++ [dummy, File file]
|
then return $ o ++ eparam ++ [dummy, File file]
|
||||||
else return $ o ++ eparam ++ [File file, dummy]
|
else return $ o ++ eparam ++ [File file, dummy]
|
||||||
where
|
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,
|
-- goes, so the source/dest parameter can be a dummy value,
|
||||||
-- that just enables remote rsync mode.
|
-- 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 :: Git.Repo -> Annex [CommandParam]
|
||||||
rsyncParams r = do
|
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.
|
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
|
* git-annex-shell: Runs hooks/annex-content after content is received
|
||||||
or dropped.
|
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
|
-- 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