fix an old bug, open new bug I noticed while confirming the old bug was fixed
This commit is contained in:
parent
9df7718e15
commit
3b8c94fcbd
3 changed files with 56 additions and 0 deletions
|
@ -0,0 +1,41 @@
|
||||||
|
`git annex add` of an modified file when annex.largefiles is set
|
||||||
|
matches largerthan against the size of the old key, not the current
|
||||||
|
file size
|
||||||
|
|
||||||
|
mkdir /tmp/repo;
|
||||||
|
cd /tmp/repo;
|
||||||
|
git init;
|
||||||
|
git annex init;
|
||||||
|
git config annex.largefiles '(largerthan=5b)'
|
||||||
|
git add .gitattributes;
|
||||||
|
git commit -m 'added .gitattri';
|
||||||
|
echo 123456 > file;
|
||||||
|
git annex add file;
|
||||||
|
git commit -m add1;
|
||||||
|
#git config annex.largefiles '(largerthan=7b)'
|
||||||
|
git annex unlock file;
|
||||||
|
echo 123 >| file
|
||||||
|
git annex add file
|
||||||
|
|
||||||
|
This test case adds the file to the annex, even though it's smaller than
|
||||||
|
5b, because the old key is 6b. If the line is uncommented, it gets added to
|
||||||
|
git instead.
|
||||||
|
|
||||||
|
While the test case unlocks the file, deleting the annex link and writing
|
||||||
|
a new file and adding that has the same behavior.
|
||||||
|
|
||||||
|
Using `git add` also has the same behavior.
|
||||||
|
|
||||||
|
I'm pretty sure the user expects the file to be added to git in all
|
||||||
|
these situation. They configured annex.largefiles that way for a reason.
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
The root cause is that Limit.limitSize uses lookupFileKey.
|
||||||
|
|
||||||
|
It makes sense for that to look up the key and not look at the
|
||||||
|
current file content when it's being used by a preferred content expression,
|
||||||
|
or by --largerthan.
|
||||||
|
|
||||||
|
But, for matching largefiles, it needs to look at the actual file on disk,
|
||||||
|
not an old key.
|
|
@ -69,3 +69,5 @@ Expected behavior:
|
||||||
|
|
||||||
[[!meta author=yoh]]
|
[[!meta author=yoh]]
|
||||||
[[!tag projects/datalad]]
|
[[!tag projects/datalad]]
|
||||||
|
|
||||||
|
> [[fixed|done]] --[[Joey]]
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="joey"
|
||||||
|
subject="""comment 9"""
|
||||||
|
date="2019-09-30T19:43:43Z"
|
||||||
|
content="""
|
||||||
|
IIRC this involved v5 repositories and the pre-commit
|
||||||
|
hook's hacks to make v5 unlocked files work. Stuff that was one of the
|
||||||
|
motivations for v7.
|
||||||
|
|
||||||
|
I tried the script in a v7 repository, and the git commit
|
||||||
|
of the file succeeded, no "partial commit" complaint. So I think the
|
||||||
|
original bug is fixed.
|
||||||
|
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue