From: "Jörn Engel" <joern@purestorage.com>
To: git@vger.kernel.org
Subject: new file mode 160000
Date: Tue, 10 Mar 2020 11:41:11 -0700 [thread overview]
Message-ID: <20200310184111.GD1443@cork> (raw)
Something weird happened to us and I have no idea how to reproduce it.
A developer managed to create a git commit with the following content:
diff --git a/foo b/foo
new file mode 160000
index 000000000000..b7e7816c1266
--- /dev/null
+++ b/foo
@@ -0,0 +1 @@
+one line of content
File name and content obfuscated, the rest is verbatim from the git
commit.
Now, file mode 160000 doesn't make sense to me. It doesn't correspond
to any known file type and I cannot explain how this commit was created
in the first place. But whatever the mechanism, the git client should
have refused it.
Next, the commit was pushed to our git server, which happily accepted
it. Again, I would argue that the git server should have refused the
push.
Finally, others including myself pulled and checked out a branch with
this commit. On checkout, an empty directory is being created and
caused various mayhem. I get:
error: 'foo' does not have a commit checked out
fatal: updating files failed
Not sure what the correct solution would be here. An empty directory is
a bad idea, but I cannot think of any "correct" way to handle things
once the bad commit is in the tree.
In case it matters, my client is: git version 2.25.0
Jörn
--
So, one might well ask, if Congress and the White House, Republicans
and Democrats, liberals and conservatives, all now agree on reform,
how meaningful can the reform be?
-- David Cole
next reply other threads:[~2020-03-10 18:41 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-10 18:41 Jörn Engel [this message]
2020-03-10 19:10 ` new file mode 160000 Andreas Schwab
2020-03-10 19:47 ` Junio C Hamano
2020-03-10 20:09 ` Andreas Schwab
2020-03-11 18:35 ` Junio C Hamano
2020-03-10 19:37 ` Bryan Turner
2020-03-10 19:46 ` Junio C Hamano
2020-03-10 19:57 ` Jörn Engel
2020-03-10 22:22 ` brian m. carlson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200310184111.GD1443@cork \
--to=joern@purestorage.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).