On Thu, 2021-08-19 at 14:09 -0700, Junio C Hamano wrote: > Adam Williamson <awilliam@xxxxxxxxxx> writes: > > > Hi folks! So I ran into an odd issue with git today. I'm kinda > > surprised I can't find any prior discussion of it, but oh well. The > > situation is this: I ran git format-patch on a commit that adds three > > empty files to a repository - this commit: > > https://github.com/mesonbuild/meson/commit/5c87167a34c6ed703444af180fffd8a45a7928ee > > the relevant lines from the patch file it produced look like this: > > > > === > > > > diff --git a/test cases/common/56 array methods/a.txt b/test cases/common/56 array methods/a.txt > > new file mode 100644 > > index 000000000..e69de29bb > > diff --git a/test cases/common/56 array methods/b.txt b/test cases/common/56 array methods/b.txt > > new file mode 100644 > > index 000000000..e69de29bb > > diff --git a/test cases/common/56 array methods/c.txt b/test cases/common/56 array methods/c.txt > > new file mode 100644 > > index 000000000..e69de29bb > > I do not have very ancient build of Git handy, but I know Git as old > as v1.3.0 (which I consider is one of the two versions of historical > importance, the other being v1.5.3) behaved this way and we haven't > changed it ever since, so I am surprised too to learn that "GNU > patch" cannot grok it. Even though you didn't mention it, am I > correct to assume that "patch" has a similar issue with a change > that removes an empty file? Hi Junio! I didn't test that. It does seem likely, though. > I do not think our patch injestion machinery in "git apply" minds if > we added the "--- /dev/null" + "+++ b/<path>" headers (and the > reverse for removal of an empty file) to the current output, and I > am not fundamentally opposed to such a change. > > But because it is such a rare event (and a discouraged practice) to > record a completely empty file, I wouldn't place a high priority on > doing so myself. Thanks. -- Adam Williamson Fedora QA IRC: adamw | Twitter: adamw_ha https://www.happyassassin.net