The command is :
java -jar /d/bfg-1.13.0.jar --convert-to-git-lfs "*.{png,dll,exe,ppt,pptx,doc,docx,docm,dot,dotx,dotm,xls,(... and many more)}" --no-blob-protection "/direction"
It changes some files but for examples some png files are not changed to lfs and I do not know why.
Also how can I modify the script (or the command?) so that the endings of the files (.png) will change also if its like .PNG, or .PnG etc.
I am new to git and the lfs system, so I would appreciate every little help. Thank you very much!
My understanding is that BFG LFS support is experimental and the LFS team recommend other tools which you should explore.
Thank you for the answer. I will look for other tools too, but I would be glad if someone could help me with this problem.
I have found no where information that this feature is experimental. I faces the same issue - after fixing the issue with multiple patterns in git attributes file.
On a really large repository (so difficult to investigate), it took me hours to consider I am facing a tool bug.
So a basic test with only "*.zip" pattern makes it obvious it is buggy...
I am post-processing a Git repository produced from a Subversion migration, and I would expect to be able to discard files and folders and migrate some patterns in Git LFS in a single pass (and then fix commit notes with revisions details)
To whoever may find this issue in the future: I can attest to this happening with v1.13.0. On a big repo with several years of history and 700K Git objects (as denoted by git rev-list --objects --all | wc -l), it missed about 400 LFS objects on a total of 2600.
A correct result was achieved with git lfs migrate, which seems to be the more modern way to migrate LFS objects anyway, contrary to what the GitLab documentation might imply.
bfg --convert-to-git-lfs "*.{png,gif}" # instead of that
git lfs migrate import --everything --include="*.png,*.gif" # use this
Also, since it is likely people ending up reading this are unfamiliar with .gitattributes: know that Git filters are case sensitive. Therefore, when tracking files with LFS, it is usually a good idea to use glob patterns in order to make sure you track files in a case insensitive manner:
git lfs track "*.png" # will only track files ending in ".png"
git lfs track "*.[pP][nN][gG]" # will track both files ending ".png" and ".PNG", as well as any mix of the two
This mechanism is identical for git lfs migrate, e.g.:
git lfs migrate import --everything --include="*.[pP][nN][gG]"`