[GSoC][PATCH 00/13] Update: Week-11
- From
Prathamesh Chavan <pc44800@gmail.com>
- Date
- Jul 31, 2017, 20:56 UTC
- Message-ID
- <20170731205621.24305-1-pc44800@gmail.com>
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@google.com> Christian Couder <christian.couder@gmail.com>
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@gmail.com> and Brandon Williams <bmwill@google.com> 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@google.com/ [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 CDocumentation/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