Build with the git-lfs library when available
Otherwise use the vendored copy as before. The library is in Debian testing but not stable. Once it reaches stable, the vendored copy can be removed. Did not add it to debian/control because IIRC that's used to build git-annex on stable too, possibly. However, the Debian maintainer will probably want to make the package depend on libghc-git-lfs-dev. This commit was sponsored by Ilya Shlyakhter on Patreon.
This commit is contained in:
parent
aa1ad0b7ca
commit
01eb863a14
6 changed files with 25 additions and 2 deletions
|
@ -3,6 +3,8 @@ git-annex (8.20200618) UNRELEASED; urgency=medium
|
||||||
* Fix a deadlock that could occur after git-annex got an unlocked
|
* Fix a deadlock that could occur after git-annex got an unlocked
|
||||||
file, causing the command to hang indefinitely. Known to happen on
|
file, causing the command to hang indefinitely. Known to happen on
|
||||||
vfat filesystems, possibly others.
|
vfat filesystems, possibly others.
|
||||||
|
* Build with the git-lfs library when available, otherwise use the
|
||||||
|
vendored copy as before.
|
||||||
|
|
||||||
-- Joey Hess <id@joeyh.name> Thu, 18 Jun 2020 12:21:14 -0400
|
-- Joey Hess <id@joeyh.name> Thu, 18 Jun 2020 12:21:14 -0400
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
-}
|
-}
|
||||||
|
|
||||||
{-# LANGUAGE OverloadedStrings #-}
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
|
{-# LANGUAGE CPP #-}
|
||||||
|
|
||||||
module Remote.GitLFS (remote, gen, configKnownUrl) where
|
module Remote.GitLFS (remote, gen, configKnownUrl) where
|
||||||
|
|
||||||
|
@ -39,9 +40,14 @@ import Utility.SshHost
|
||||||
import Utility.Url
|
import Utility.Url
|
||||||
import Logs.Remote
|
import Logs.Remote
|
||||||
import Logs.RemoteState
|
import Logs.RemoteState
|
||||||
import qualified Utility.GitLFS as LFS
|
|
||||||
import qualified Git.Config
|
import qualified Git.Config
|
||||||
|
|
||||||
|
#ifdef WITH_GIT_LFS
|
||||||
|
import qualified Network.GitLFS as LFS
|
||||||
|
#else
|
||||||
|
import qualified Utility.GitLFS as LFS
|
||||||
|
#endif
|
||||||
|
|
||||||
import Control.Concurrent.STM
|
import Control.Concurrent.STM
|
||||||
import Data.String
|
import Data.String
|
||||||
import Network.HTTP.Types
|
import Network.HTTP.Types
|
||||||
|
|
|
@ -21,6 +21,9 @@
|
||||||
{-# LANGUAGE OverloadedStrings #-}
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
{-# LANGUAGE LambdaCase #-}
|
{-# LANGUAGE LambdaCase #-}
|
||||||
|
|
||||||
|
-- This is a vendored copy of Network.GitLFS from the git-lfs package,
|
||||||
|
-- and will be removed once that package is available in all build
|
||||||
|
-- environments.
|
||||||
module Utility.GitLFS (
|
module Utility.GitLFS (
|
||||||
-- * Transfer requests
|
-- * Transfer requests
|
||||||
TransferRequest(..),
|
TransferRequest(..),
|
||||||
|
|
|
@ -289,6 +289,10 @@ Flag NetworkBSD
|
||||||
Description: Build with network-3.0 which split out network-bsd
|
Description: Build with network-3.0 which split out network-bsd
|
||||||
Default: True
|
Default: True
|
||||||
|
|
||||||
|
Flag GitLfs
|
||||||
|
Description: Build with git-lfs library (rather than vendored copy)
|
||||||
|
Default: True
|
||||||
|
|
||||||
source-repository head
|
source-repository head
|
||||||
type: git
|
type: git
|
||||||
location: git://git-annex.branchable.com/
|
location: git://git-annex.branchable.com/
|
||||||
|
@ -407,6 +411,12 @@ Executable git-annex
|
||||||
else
|
else
|
||||||
Build-Depends: network (< 3.0.0.0), network (>= 2.6.3.0)
|
Build-Depends: network (< 3.0.0.0), network (>= 2.6.3.0)
|
||||||
|
|
||||||
|
if flag(GitLfs)
|
||||||
|
Build-Depends: git-lfs (>= 1.1.0)
|
||||||
|
CPP-Options: -DWITH_GIT_LFS
|
||||||
|
else
|
||||||
|
Other-Modules: Utility.GitLFS
|
||||||
|
|
||||||
if flag(S3)
|
if flag(S3)
|
||||||
Build-Depends: aws (>= 0.20)
|
Build-Depends: aws (>= 0.20)
|
||||||
CPP-Options: -DWITH_S3
|
CPP-Options: -DWITH_S3
|
||||||
|
@ -418,6 +428,7 @@ Executable git-annex
|
||||||
Other-Modules:
|
Other-Modules:
|
||||||
Remote.WebDAV
|
Remote.WebDAV
|
||||||
Remote.WebDAV.DavLocation
|
Remote.WebDAV.DavLocation
|
||||||
|
|
||||||
if flag(S3) || flag(WebDAV)
|
if flag(S3) || flag(WebDAV)
|
||||||
Other-Modules:
|
Other-Modules:
|
||||||
Remote.Helper.Http
|
Remote.Helper.Http
|
||||||
|
@ -1059,7 +1070,6 @@ Executable git-annex
|
||||||
Utility.FileSystemEncoding
|
Utility.FileSystemEncoding
|
||||||
Utility.Format
|
Utility.Format
|
||||||
Utility.FreeDesktop
|
Utility.FreeDesktop
|
||||||
Utility.GitLFS
|
|
||||||
Utility.Glob
|
Utility.Glob
|
||||||
Utility.Gpg
|
Utility.Gpg
|
||||||
Utility.Hash
|
Utility.Hash
|
||||||
|
|
|
@ -12,6 +12,7 @@ flags:
|
||||||
debuglocks: false
|
debuglocks: false
|
||||||
benchmark: false
|
benchmark: false
|
||||||
networkbsd: false
|
networkbsd: false
|
||||||
|
gitlfs: true
|
||||||
packages:
|
packages:
|
||||||
- '.'
|
- '.'
|
||||||
extra-deps:
|
extra-deps:
|
||||||
|
|
|
@ -12,6 +12,7 @@ flags:
|
||||||
debuglocks: false
|
debuglocks: false
|
||||||
benchmark: false
|
benchmark: false
|
||||||
networkbsd: false
|
networkbsd: false
|
||||||
|
gitlfs: true
|
||||||
packages:
|
packages:
|
||||||
- '.'
|
- '.'
|
||||||
extra-deps:
|
extra-deps:
|
||||||
|
|
Loading…
Reference in a new issue