update proxied exporttree=yes remote on receive of sync branch
Since git-annex sync sends the sync branch first, and only displays the output of the push to the sync branch, this makes git-annex post-retrieve's output when updating the exported tree be visible when syncing. This also makes syncing with a non-bare repository still update the exported tree, even when the checked out branch is not able to be updated. The sync branch gets sent regardless.
This commit is contained in:
parent
55adbb6694
commit
01edd186e9
3 changed files with 4 additions and 4 deletions
|
@ -22,6 +22,7 @@ import Git.Types
|
||||||
import Git.Sha
|
import Git.Sha
|
||||||
import qualified Git.Ref
|
import qualified Git.Ref
|
||||||
import Command.Export (filterExport, getExportCommit, seekExport)
|
import Command.Export (filterExport, getExportCommit, seekExport)
|
||||||
|
import Command.Sync (syncBranch)
|
||||||
|
|
||||||
import qualified Data.Set as S
|
import qualified Data.Set as S
|
||||||
import qualified Data.ByteString as B
|
import qualified Data.ByteString as B
|
||||||
|
@ -59,7 +60,8 @@ proxyExportTree = do
|
||||||
pushedbranches <- liftIO $
|
pushedbranches <- liftIO $
|
||||||
S.fromList . map snd . parseHookInput
|
S.fromList . map snd . parseHookInput
|
||||||
<$> B.hGetContents stdin
|
<$> B.hGetContents stdin
|
||||||
let waspushed = flip S.member pushedbranches
|
let waspushed b = S.member b pushedbranches
|
||||||
|
|| S.member (syncBranch b) pushedbranches
|
||||||
case filter (waspushed . Git.Ref.branchRef . fst . snd) rbs of
|
case filter (waspushed . Git.Ref.branchRef . fst . snd) rbs of
|
||||||
[] -> return ()
|
[] -> return ()
|
||||||
rbs' -> forM_ rbs' $ \((r, b), _) -> go r b
|
rbs' -> forM_ rbs' $ \((r, b), _) -> go r b
|
||||||
|
|
|
@ -28,6 +28,7 @@ module Command.Sync (
|
||||||
parseUnrelatedHistoriesOption,
|
parseUnrelatedHistoriesOption,
|
||||||
SyncOptions(..),
|
SyncOptions(..),
|
||||||
OperationMode(..),
|
OperationMode(..),
|
||||||
|
syncBranch,
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Command
|
import Command
|
||||||
|
|
|
@ -33,9 +33,6 @@ Planned schedule of work:
|
||||||
* Working on `exportreeplus` branch which is groundwork for proxying to
|
* Working on `exportreeplus` branch which is groundwork for proxying to
|
||||||
exporttree=yes special remotes. Need to merge it to master.
|
exporttree=yes special remotes. Need to merge it to master.
|
||||||
|
|
||||||
* `git-annex sync` hides output of git-annex post-retreive, which is a
|
|
||||||
problem when it's doing things that are expensive.
|
|
||||||
|
|
||||||
* Handle cases where a single key is used by multiple files in the exported
|
* Handle cases where a single key is used by multiple files in the exported
|
||||||
tree. Need to download from the special remote in order to export
|
tree. Need to download from the special remote in order to export
|
||||||
multiple copies to it. (In particular, this is needed when using
|
multiple copies to it. (In particular, this is needed when using
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue