WebIDE delete/replace LFS File, replaces with non-LFS file.

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Summary

When creating/replacing LFS files within the WebIDE, replaced files are no longer in LFS. And future clones will now fail as the pointer is incorrect.

Reproduced on gitlab.com https://gitlab.com/davinwalker/lfs-webide-upload/-/tree/master

Steps to reproduce

  1. New Project
  2. Add .gitattributes

*.png filter=lfs diff=lfs merge=lfs -text

  1. Upload *.png image via the WebIDE (first.png)
  2. Delete, Upload new file (same name, first.png).
  3. Git Clone
git clone https://gitlab.com/davinwalker/lfs-webide-upload.git
Cloning into 'lfs-webide-upload'...
remote: Enumerating objects: 19, done.
remote: Counting objects: 100% (19/19), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 19 (delta 5), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (19/19), done.
Checking connectivity... done.
Downloading delete.png (2.8 KB)
Pointer file error: Unable to parse pointer at: "first.png"

Example Project

https://gitlab.com/davinwalker/lfs-webide-upload/-/tree/master

What is the current bug behavior?

LFS File is replaced with non-LFS file, causing pointer to fail.

What is the expected correct behavior?

Correctly replace LFS File

Potentially related issue: #35099 (closed)

Internal ZD

Edited by 🤖 GitLab Bot 🤖