Derrick Stolee <stolee@xxxxxxxxx> writes: > What I _am_ saying is important is that if we are trying to write > a file to a known location and its parent directory doesn't exist, > then we should create it. Not doing so is a bug and should be > fixed, no matter how rare such a thing is to occur. As you've > shown, it is not required to have an info directory until we need > one (e.g. for sparse-checkout or an excludes file). > > If you're not planning to add that to this series, then I'll add it > to my list. I do think it would fit well into this one, though. Historically, "git init" relied on the templates to create necessary directories, and the subcommands in turn learned to depend on the presence of these directories. At the same time we allowed that the templates can be customized by the end users. It was a bug, exactly for the reason you said above. Before we talk about creating 'info' directory directly in "git init" or anything done in this topic, we should fix the existing bug, and the right fix is to use safe-create-leading-directories. With that, it may become unnecessary to have this "create 'info' in 'init'".