Closed kna closed 8 years ago
git lfs command does not convert zero length file to a pointer file ref. https://github.com/github/git-lfs/blob/cd68f26c103b9ad474bd569c98a5e490e696b544/test/test-zero-len-file.sh#L37
But, git-lfs-migrate(v0.2.2) converts it.
$ mkdir git-lfs-migrate-test $ cd git-lfs-migrate-test/ $ git init $ touch empty.dat $ git add empty.dat $ git commit -m 'add files' $ cd .. $ git clone --mirror git-lfs-migrate-test git-lfs-migrate-test.git $ java -jar git-lfs-migrate.jar \ -s git-lfs-migrate-test.git \ -d git-lfs-migrate-test-converted.git \ "*.dat" $ cd git-lfs-migrate-test-converted.git $ git log -p | grep empty.dat -A 10 diff --git a/empty.dat b/empty.dat new file mode 100644 index 0000000..fc8e42b --- /dev/null +++ b/empty.dat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +size 0
When I push it to github, I can't clone it.
$ git lfs clone https://github.com/kna/git-lfs-migrate-test-converted Cloning into 'git-lfs-migrate-test-converted'... remote: Counting objects: 4, done. remote: Compressing objects: 100% (3/3), done. remote: Total 4 (delta 0), reused 4 (delta 0), pack-reused 0 Unpacking objects: 100% (4/4), done. Checking connectivity... done. Git LFS: (1 of 1 files) 0 B / 0 B Skipped checkout for empty.dat, content not local. Use fetch to download. Errors logged to /tmp/git-lfs-migrate-test-converted/.git/lfs/objects/logs/20161014T121953.084344008.log Use `git lfs logs last` to view the log. $ cat /tmp/git-lfs-migrate-test-converted/.git/lfs/objects/logs/20161014T121953.084344008.log git-lfs/1.4.2 (GitHub; linux amd64; go 1.7) git version 1.9.1 $ git-lfs clone https://github.com/kna/git-lfs-migrate-test-converted Skipped checkout for empty.dat, content not local. Use fetch to download. smudge: Error github.com/github/git-lfs/errors.newWrappedError /tmp/docker_run/src/github.com/github/git-lfs/amd64/obj-x86_64-linux-gnu/src/github.com/github/git-lfs/errors/types.go:166 github.com/github/git-lfs/errors.NewDownloadDeclinedError /tmp/docker_run/src/github.com/github/git-lfs/amd64/obj-x86_64-linux-gnu/src/github.com/github/git-lfs/errors/types.go:317 github.com/github/git-lfs/lfs.PointerSmudge /tmp/docker_run/src/github.com/github/git-lfs/amd64/obj-x86_64-linux-gnu/src/github.com/github/git-lfs/lfs/pointer_smudge.go:62 github.com/github/git-lfs/lfs.PointerSmudgeToFile /tmp/docker_run/src/github.com/github/git-lfs/amd64/obj-x86_64-linux-gnu/src/github.com/github/git-lfs/lfs/pointer_smudge.go:27 github.com/github/git-lfs/commands.checkoutWithChan /tmp/docker_run/src/github.com/github/git-lfs/amd64/obj-x86_64-linux-gnu/src/github.com/github/git-lfs/commands/command_checkout.go:194 github.com/github/git-lfs/commands.checkoutFromFetchChan.func1 /tmp/docker_run/src/github.com/github/git-lfs/amd64/obj-x86_64-linux-gnu/src/github.com/github/git-lfs/commands/command_checkout.go:70 runtime.goexit /usr/local/go/src/runtime/asm_amd64.s:2086 ENV: LocalWorkingDir=/tmp/git-lfs-migrate-test-converted LocalGitDir=/tmp/git-lfs-migrate-test-converted/.git LocalGitStorageDir=/tmp/git-lfs-migrate-test-converted/.git LocalMediaDir=/tmp/git-lfs-migrate-test-converted/.git/lfs/objects LocalReferenceDir= TempDir=/tmp/git-lfs-migrate-test-converted/.git/lfs/tmp ConcurrentTransfers=3 TusTransfers=false BasicTransfersOnly=false BatchTransfer=true SkipDownloadErrors=false FetchRecentAlways=false FetchRecentRefsDays=7 FetchRecentCommitsDays=0 FetchRecentRefsIncludeRemotes=true PruneOffsetDays=3 PruneVerifyRemoteAlways=false PruneRemoteName=origin AccessDownload=none AccessUpload=none DownloadTransfers=basic UploadTransfers=basic
git-lfs-migrate should not convert zero length file to a pointer file.
I created the pull-request to fix this issue -> #22
Thanks a lot. This issue is now fixed in 0.2.3 version.
Thank you!
git lfs command does not convert zero length file to a pointer file ref. https://github.com/github/git-lfs/blob/cd68f26c103b9ad474bd569c98a5e490e696b544/test/test-zero-len-file.sh#L37
But, git-lfs-migrate(v0.2.2) converts it.
When I push it to github, I can't clone it.
git-lfs-migrate should not convert zero length file to a pointer file.