SUMMARY OF MY PROJECT: Git submodule subcommands are currently implemented by using shell script 'git-submodule.sh'. There are several reasons why we'll prefer not to use the shell script. My project intends to convert the subcommands into C code, thus making them builtins. This will increase Git's portability and hence the efficiency of working with the git-submodule commands. Link to the complete proposal: [1] Mentors: Stefan Beller <sbeller@xxxxxxxxxx> Christian Couder <christian.couder@xxxxxxxxx> UPDATES: Following are the updates about my ongoing project: * Following patches were updated after the previous reviews: - set_name_rev() submodule subcommands: - status - sync - deinit - summary - foreach * Reviews from both Christian Couder <christian.couder@xxxxxxxxx> and Brandon Williams <bmwill@xxxxxxxxxx> helped in improvising these patches and their suggestions were implemented. * Porting of submodule subcommand add is still underway. Its progess can be viewed at [2]. PLAN FOR WEEK-12 (1 August 2017 to 7 August 2017): * summary: One of the problems pointed out by Brandon this week was that the function print_submodule_summary() was too big to keep track of all the things that are happening. Hence, I will be splitting the function into smaller functions. * displaypath: There is some confusion produced with the way the value of displaypath is being generated, using super-prefix. [3] Via having discussion on this, I'll try to resolve the issues regarding it. In the patches following the update, I have addressed this issue as well. * add: Porting of this subcommand is still underway and will be working on to completely port this subcommand. A complete build report of these series of patches is available at: [4]. Build #145 Branch: week-11 The work is push on github and is available at: [5]. [1]: https://docs.google.com/document/d/1krxVLooWl--75Pot3dazhfygR3wCUUWZWzTXtK1 L-xU/ [2]: https://github.com/pratham-pc/git/commits/sub-add [3]: https://public-inbox.org/git/20170724213028.GB92874@xxxxxxxxxx/ [4]: https://travis-ci.org/pratham-pc/git/builds/ [5]: https://github.com/pratham-pc/git/commits/week-11 submodule--helper: introduce get_submodule_displaypath() submodule--helper: introduce for_each_submodule_list() submodule: port set_name_rev() from shell to C submodule: port submodule subcommand 'status' from shell to C submodule: port submodule subcommand 'sync' from shell to C submodule: port submodule subcommand 'deinit' from shell to C diff: change scope of the function count_lines() submodule: port submodule subcommand 'summary' from shell to C submodule foreach: correct '$path' in nested submodules from a subdirectory submodule foreach: document '$sm_path' instead of '$path' submodule foreach: clarify the '$toplevel' variable documentation submodule foreach: document variable '$displaypath' submodule: port submodule subcommand 'foreach' from shell to C Documentation/git-submodule.txt | 15 +- builtin/submodule--helper.c | 1175 ++++++++++++++++++++++++++++++++++++++- diff.c | 2 +- diff.h | 1 + git-submodule.sh | 394 +------------ t/t7407-submodule-foreach.sh | 38 +- 6 files changed, 1207 insertions(+), 418 deletions(-) -- 2.13.0