Re: [GSOC][RFC] Heed core.bare from template config file when no command line override given, as a microproject.
From: Ghanshyam Thakkar <hidden>
Date: 2024-01-04 10:39:15
On Thu Jan 4, 2024 at 3:54 PM IST, Christian Couder wrote:
On Tue, Jan 2, 2024 at 11:17 PM Ghanshyam Thakkar [off-list ref] wrote:quoted
Hello, I'm currently an undergrad beginning my journey of contributing to the Git project. I am seeking feedback on doing "Heed core.bare from template config file when no command line override given" described here https://lore.kernel.org/git/5b39c530f2a0edf3b1492fa13a1132d622a0678e.1684218850.git.gitgitgadget@gmail.com/ (local) by Elijah Newren, as a microproject. I would like to know from the community, if the complexity and scope of the project is appropriate for a microproject.Thanks for your interest in the next GSoC! My opinion is that it's too complex for a micro-project. Now maybe if Elijah or others are willing to help you on it, perhaps it will work out. I think it's safer to look at simpler micro-projects though.
Thank you for your feedback. I will wait for Elijah's response on this and perhaps look at other microprojects in the meantime. Although, I think I will be able to do this with others help.
quoted
e.g. in builtin/init-db.c : static int template_bare_config(const char *var, const char *value, const struct config_context *ctx, void *cb) { if(!strcmp(var,"core.bare")) {We like to have a space character between "if" and "(" as well as after a ","quoted
is_bare_repository_cfg = git_config_bool(var, value); } return 0; } int cmd_init_db(int argc, const char **argv, const char *prefix) { ... ... if(is_bare_repository_cfg==-1) {We like to have a space character both before and after "==" as well as between "if" and "(".quoted
if(!template_dir) git_config_get_pathname("init.templateDir", &template_dir); if(template_dir) { const char* template_config_path = xstrfmt("%s/config", struct stat st; if(!stat(template_config_path, &st) && !S_ISDIR(st.st_mode)) { git_config_from_file(template_bare_cfg, template_config_path, NULL); } } ... ... return init_db(git_dir, real_git_dir, template_dir, hash_algo, initial_branch, init_shared_repository, flags); } I also wanted to know if the global config files should have an effect in deciding if the repo is bare or not. Curious to know your thoughts on, if this is the right approach or does it require doing refactoring to bring all the logic in setup.c. Based on your feedback, I can quickly send a patch.I don't know this area of the code well, so I don't think I can help you much on this.
Appreciate your suggestions above. Will keep them in mind while sending the patch.
Best, Christian.
Thanks, Ghanshyam