initial report on incorrect handling of empty files in adjusted branches mode
This commit is contained in:
parent
d717e9aca0
commit
578abf7b89
1 changed files with 93 additions and 0 deletions
|
@ -0,0 +1,93 @@
|
|||
### Please describe the problem.
|
||||
|
||||
Came up in the course of
|
||||
- [BF: allow for empty output directory to be specified to run](https://github.com/datalad/datalad/pull/7654#issuecomment-2334087030)
|
||||
|
||||
### What steps will reproduce the problem?
|
||||
|
||||
Here is a bash script
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
# https://github.com/datalad/datalad/pull/7654#issuecomment-2334087030
|
||||
|
||||
export PS4='> '
|
||||
set -x
|
||||
set -eu
|
||||
|
||||
cd "$(mktemp -d ${TMPDIR:-/tmp}/dl-XXXXXXX)"
|
||||
|
||||
function annexsync() {
|
||||
# call we have in datalad
|
||||
# git -c diff.ignoreSubmodules=none -c core.quotepath=false annex sync --no-push --no-pull --no-resolvemerge --no-content -c annex.dotfiles=true --no-commit
|
||||
git annex sync
|
||||
:
|
||||
}
|
||||
|
||||
git init
|
||||
git annex init
|
||||
|
||||
mkdir empty full
|
||||
touch emptyfile full/emptyfile
|
||||
|
||||
echo c1 > full/withcontent
|
||||
echo c2 > withcontent
|
||||
|
||||
git annex add *
|
||||
git commit -m 'Initial commit'
|
||||
|
||||
echo content >| empty/withcontent
|
||||
touch empty/emptyfile
|
||||
|
||||
git annex add empty/*
|
||||
git commit -m 'Added empty/ files'
|
||||
|
||||
annexsync
|
||||
|
||||
pwd
|
||||
ls -l
|
||||
|
||||
git status
|
||||
git diff
|
||||
|
||||
```
|
||||
|
||||
which if ran on TMPDIR to be on a crippled FS, e.g. vfat, it would report at the end `git diff` for all empty files, **but not for files with content**, e.g. using our [eval_under_testloopfs helper](https://github.com/datalad/datalad/blob/maint/tools/eval_under_testloopfs)
|
||||
|
||||
```shell
|
||||
❯ DATALAD_TESTS_TEMP_FSSIZE=300 tools/eval_under_testloopfs ../trash/adjusted-git-diff.sh
|
||||
...
|
||||
> ls -l
|
||||
total 24
|
||||
drwxr-xr-x 2 yoh root 8192 Sep 6 09:59 empty
|
||||
-rwxr-xr-x 1 yoh root 0 Sep 6 09:59 emptyfile
|
||||
drwxr-xr-x 2 yoh root 8192 Sep 6 09:59 full
|
||||
-rwxr-xr-x 1 yoh root 3 Sep 6 09:59 withcontent
|
||||
> git status
|
||||
On branch adjusted/master(unlocked)
|
||||
nothing to commit, working tree clean
|
||||
> git diff
|
||||
diff --git a/empty/emptyfile b/empty/emptyfile
|
||||
--- a/empty/emptyfile
|
||||
+++ b/empty/emptyfile
|
||||
@@ -1 +0,0 @@
|
||||
-/annex/objects/SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
||||
diff --git a/emptyfile b/emptyfile
|
||||
--- a/emptyfile
|
||||
+++ b/emptyfile
|
||||
@@ -1 +0,0 @@
|
||||
-/annex/objects/SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
||||
diff --git a/full/emptyfile b/full/emptyfile
|
||||
--- a/full/emptyfile
|
||||
+++ b/full/emptyfile
|
||||
@@ -1 +0,0 @@
|
||||
-/annex/objects/SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
||||
I: done, unmounting
|
||||
```
|
||||
|
||||
### What version of git-annex are you using? On what operating system?
|
||||
|
||||
first locally with 10.20240430 and then current `10.20240831+git21-gd717e9aca0-1~ndall+1`
|
||||
|
||||
[[!meta author=yoh]]
|
||||
[[!tag projects/repronim]]
|
Loading…
Reference in a new issue