On Fri, May 8, 2015 at 12:09 AM, Fredrik Gustafsson <iveqy@xxxxxxxxx> wrote: > On Fri, May 08, 2015 at 08:54:59AM +0200, Kevin Daudt wrote: >> My experience in #git is that people want to prevent other people >> accidentelly adding large files, resulting in all sorts of problems, >> which takes a lot of effort to fix if you're not an experienced user. > > I second this. In #git@freenode we often get people trying to reduce > repo size since they or a collegue accidental added a huge binary file. > > They do a filter branch and remove that file. However then they need to > do a forced push. And the person (the collegue) that didn't had enough > git experience to understand why it was a mistake to add a big file, now > ends up with having to sync with a rewritten remote. > > So I can really see that there's a demand for such a feature. However, I > wonder if this shouldn't just be a pre-recieve hook? > > If we want to inform the user, we might just add a pre-commit hook for > this. > > The problem with pre-commit hooks is distribution of them. As it is with > making this a configuration option. There's really no good way to share > configuration and hooks between git repos today as I know of. (Yes, I'm > aware of this beeing a hard problem due to security concerns). > Any problem in computer science can be solved with another layer of indirection they said. So: Maybe we can just distribute some good defaults (or your internal distribution for git can ship adapted versions of the default). And instead of just running a hook, maybe the clone/fetch could tell the client to enable these predefined hooks. so maybe we'd need a fetch capability "recommended-hooks" which could look like recommended-hooks=<name>,<sha1> The name would indicate what hook you're interested in such as .git/hooks/pre-commit-warn-huge-size.sample and the sha1 would be the sha1 of that default hook to ensure nobody has tampered with that script. I am not sure if we need the sha1, maybe that's overengineered. I mean trusting a default script is as much as trusting the git binary on your system, isn't it? -- 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