{- This file is part of Vervis. - - Written in 2016 by fr33domlover <fr33domlover@riseup.net>. - - ♡ Copying is an act of love. Please copy, reuse and share. - - The author(s) have dedicated all copyright and related and neighboring - rights to this software to the public domain worldwide. This software is - distributed without any warranty. - - You should have received a copy of the CC0 Public Domain Dedication along - with this software. If not, see - <http://creativecommons.org/publicdomain/zero/1.0/>. -} module Network.Git.Local.ShallowUpdate.Put ( putShallowUpdate ) where putShallow :: ObjId -> Put putShallow oid = do let len = 7 + 1 + 40 putDataPkt True len $ do putByteString "shallow" putSpace putObjId oid putUnshallow :: ObjId -> Put putUnshallow oid = do let len = 9 + 1 + 40 putDataPkt True len $ do putByteString "unshallow" putSpace putObjId oid putShallowUpdate :: ShallowUpdate -> Put putShallowUpdate su = do traverse_ putShallow $ suShallows su traverse_ putUnshallow $ suUnshallows su putFlushPkt