Fix export of subdir of a branch.

Seems I forgot to fully test that feature when documenting it.

git rev-parse needs a colon after a branch to de-reference the tree
it points to, rather than the commit. But that had it adding an extra
colon when the user specified "branch:subdir". So, check if there is a
colon before adding one.

This commit was sponsored by Francois Marier on Patreon.
This commit is contained in:
Joey Hess 2017-10-30 12:02:18 -04:00
parent edafe8621e
commit 24883e01cd
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
3 changed files with 21 additions and 2 deletions

View file

@ -1,3 +1,9 @@
git-annex (6.20171027) UNRELEASED; urgency=medium
* Fix export of subdir of a branch.
-- Joey Hess <id@joeyh.name> Mon, 30 Oct 2017 12:01:45 -0400
git-annex (6.20171026) unstable; urgency=medium
* Windows: Fix reversion that caused the path used to link

View file

@ -136,8 +136,13 @@ delete oldvalue ref = run
{- Gets the sha of the tree a ref uses. -}
tree :: Ref -> Repo -> IO (Maybe Sha)
tree ref = extractSha <$$> pipeReadStrict
[ Param "rev-parse", Param (fromRef ref ++ ":") ]
tree (Ref ref) = extractSha <$$> pipeReadStrict
[ Param "rev-parse", Param ref' ]
where
ref' = if ':' `isInfixOf` ref
then ref
-- de-reference commit objects to the tree
else ref ++ ":"
{- Checks if a String is a legal git ref name.
-

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="joey"
subject="""Re: Problem with publishing subdir. Subdir does not exist, but it does."""
date="2017-10-30T15:53:33Z"
content="""
I reproduced export of master:subdir not working. It's a bug in git-annex,
now fixed!
"""]]