Junio C Hamano venit, vidit, dixit 01.09.2011 20:25: > Suggested reading: > > http://git-blame.blogspot.com/2011/08/how-to-inject-malicious-commit-to-git.html > > I am wondering if we are better off applying something along the lines of > this patch, so that with the default configuration, users can notice if > their upstream unexpectedly rewound their branches. > > It would produce > > [remote] > url = git://.../git.git/ > fetch = refs/heads/*:refs/remotes/origin/* > > upon cloning from my repository, and your "git fetch" will fail because > the pu (proposed updates) branch is constantly unwinding, but that can be > easily fixed with > > > [remote] > url = git://.../git.git/ > fetch = refs/heads/*:refs/remotes/origin/* > fetch = +refs/heads/pu:refs/remotes/origin/pu > > as the explicit refspec trumps the wildcard one. > > builtin/remote.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) My first thought was "Oh no", even though I saw it coming since I read your blog entry. But I realized that it was probably due to the usual inertia when habits have to change. Thinking more about it, we try to encourage a workflow where locally history may be rewritten a lot, and distribution points fast-forward only. We have defaults and settings to discourage (pushes to checked out branches and) non-ff pushes, for example. So I think the above change is pretty much in line with that reasoning. The kernel.org problems gave git some pretty good PR even without that change, but with it we have an even stronger stop put in. On the other hand, adding "+" to the config for "pu" (and peff...) isn't that much of an issue, though we might also want "fetch -f" as an override - I guess we have that already. Plus fetch with fsck, yes. To "I don't need backups, I let others clone." add "I don't need intrusion detection, I let others fetch." ;) Michael -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html