From: Mateo Patino Date: Sun, 22 Mar 2026 06:55:09 GMT Subject: [RFC] [GSoC]: STRBUF_INIT_CONST: initialize `strbuf` to constant string Message-ID: <20260322065509.5384-1-mateopatinodev@gmail.com> Hello, My name is Mateo, and I'm a new contributor to Git. I'm a 1st year undergrad at Columbia University studying CS and applied math. I wanted to ask the community for feedback on a project proposal regarding the `strbuf` API. Seven years ago, a macro to initialize a `strbuf` to a constant string literal was proposed in GitGitGadget [1] called `STRBUF_INIT_CONST`. This macro would work just like `STRBUF_INIT` but it would set `alloc` to 0 (i.e. the buffer would not be heap-allocated). Someone made a pull request to implement this feature [2], but their changes were not merged. Later, Robear Selwans made a patch series [3] attempting to implement this same feature. Robear got extensive feedback, but his patches were not accepted. The same GitHub user from [2] sent a patch here [4], but his changes were not accepted. More recently, the potential need for `STRBUF_INIT_CONST` was mentioned in this patch series [5] by Patrick Steinhardt, though it was marked as a #leftoverbit and not directly addressed. `STRBUF_INIT_CONST` has been mentioned for a long time in this list, but it has not been implemented yet. My Request For Comment is the following: is `STRBUF_INIT_CONST` a feature that is still of interest to the community? If so, I would like to make a GSoC proposal around it. The past email threads have already laid out the considerations of implementing `STRBUF_INIT_CONST` or something equivalent, so I would like to propose this as GSoC idea if the community would find it worthwhile. I would love to hear any thoughts about this. Thanks! Mateo [1] https://github.com/gitgitgadget/git/issues/398 [2] https://github.com/gitgitgadget/git/pull/824 [3] https://lore.kernel.org/git/20200218041805.10939-1-robear.selwans@outlook.com/ [4] https://lore.kernel.org/git/20210105064502.725307-1-adlternative@gmail.com/ [5] https://lore.kernel.org/git/Zrm9ix5aN_g76Qxq@tanuki/