7

The file naaclhlt2016.tex is not empty on the client or in the repository, however GitHub Desktop displays "This file is empty". What could explain this?

enter image description here

The file naaclhlt2016.tex is present on GitHub repository:

enter image description here

git status:

enter image description here

It creates conflict when I try to sync:

enter image description here

Franck Dernoncourt
  • 62,576
  • 61
  • 286
  • 446

3 Answers3

7

After discussion, if the change of the tex file is only in term of metadata (and not actual file content change, after a latex recompilation), the GitHub Desktop might be unable to display any change.

Since it detects no change even though the git status list this file, it falls back to a "this file is empty" message.

VonC
  • 1,042,979
  • 435
  • 3,649
  • 4,283
1

In addition to the @VonC response.

To dissmiss this alert

Git desktop

  1. unselect all changed files

  2. select only the "this file is empty" files

  3. try to commit

  4. Git will display a commit error, saying that you can't do that. After closing the modal, Git should delete the files from the changes list.

Community
  • 1
  • 1
Julha
  • 1,027
  • 13
  • 12
  • I'd say this is the "solution" to this strange issue. Indeed trying to commit only these files results in an error, the commit is not done and the problem is gone. Thanks! – Shai Petel Feb 27 '18 at 18:53
0

I'm finding similar results when there is a mismatch between the autoCRLF setting (e.g. in ~/.gitconfig) and the storage of line breaks in a text file. I have .php files that were downloaded on one (Windows) machine, zipped up and unzipped in an Apache folder, then I copied those to a cloned repo and it sometimes complains about every file as changed. The files stored on GitHub seem to have been stored with CRLF (they are larger).

I have been unable to get GitHub Desktop to process my modified files. I have tried a full fresh clone with autoCRLF=true, autoCRLF=input, and autoCRLF=false, and yet GitHub Desktop either reports the files as empty or every line changed, depending on the autoCRLF setting.

I believe it is entirely because they were stored on GitHub with the CRLFs in the files, and GitHub Desktop seems to assume that the autoCRLF governs (only) the checked out files, and won't compare with CRLFs on GitHub, even with autoCRLF=false. They are byte-for-byte identical files, but they are LF-only, and it's either complaining every line has changed, or that the file is empty.

If I do a git diff on one of the files, in this case feed.php, I see: warning: CRLF will be replaced by LF in API/events/feed.php. The file will have its original line endings in your working directory.