work around git segfault
Work around bug in git 2.37 that causes a segfault when when core.untrackedCache is set, and broke git-annex init. Depending on when git gets fixed and how widely the buggy versions are used, this could be reverted quite soon, or need to linger for a long time. It only makes git-annex init a tiny bit slower in a new repo. Sponsored-by: Max Thoursie on Patreon
This commit is contained in:
parent
008204b2f3
commit
a23fd7349f
3 changed files with 23 additions and 0 deletions
|
@ -133,6 +133,11 @@ getBranch = maybe (hasOrigin >>= go >>= use) return =<< branchsha
|
||||||
fromMaybe (error $ "failed to create " ++ fromRef name)
|
fromMaybe (error $ "failed to create " ++ fromRef name)
|
||||||
<$> branchsha
|
<$> branchsha
|
||||||
go False = withIndex' True $ do
|
go False = withIndex' True $ do
|
||||||
|
-- Create the index file. This is not necessary,
|
||||||
|
-- except to avoid a bug in git that causes
|
||||||
|
-- git write-tree to segfault when the index file does not
|
||||||
|
-- exist.
|
||||||
|
inRepo $ flip Git.UpdateIndex.streamUpdateIndex []
|
||||||
cmode <- annexCommitMode <$> Annex.getGitConfig
|
cmode <- annexCommitMode <$> Annex.getGitConfig
|
||||||
cmessage <- createMessage
|
cmessage <- createMessage
|
||||||
inRepo $ Git.Branch.commitAlways cmode cmessage fullname []
|
inRepo $ Git.Branch.commitAlways cmode cmessage fullname []
|
||||||
|
|
|
@ -11,6 +11,8 @@ git-annex (10.20220725) UNRELEASED; urgency=medium
|
||||||
* Allow find --branch to be used in a bare repository, the same as
|
* Allow find --branch to be used in a bare repository, the same as
|
||||||
the deprecated findref can be.
|
the deprecated findref can be.
|
||||||
* add --dry-run: New option.
|
* add --dry-run: New option.
|
||||||
|
* Work around bug in git 2.37 that causes a segfault
|
||||||
|
when when core.untrackedCache is set, and broke git-annex init.
|
||||||
|
|
||||||
-- Joey Hess <id@joeyh.name> Mon, 25 Jul 2022 15:35:45 -0400
|
-- Joey Hess <id@joeyh.name> Mon, 25 Jul 2022 15:35:45 -0400
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="joey"
|
||||||
|
subject="""comment 6"""
|
||||||
|
date="2022-08-04T17:46:32Z"
|
||||||
|
content="""
|
||||||
|
Now 2 weeks since the segfault in git has been known, and they have not
|
||||||
|
fixed it.
|
||||||
|
|
||||||
|
Now feeling that it's might be worth git-annex init avoiding the
|
||||||
|
segfault, by making sure to do something that creates the index file before
|
||||||
|
write-tree. So I don't have to worry about when this gets fixed in git,
|
||||||
|
or the chances that a buggy release will start being widely used for a long
|
||||||
|
time.
|
||||||
|
|
||||||
|
Yeah, done so.
|
||||||
|
"""]]
|
Loading…
Reference in a new issue