[GSoC][PATCH 00/13] Update: Week-12
- Date: Tue, 8 Aug 2017 02:48:47 +0530
- From: Prathamesh Chavan <pc44800@xxxxxxxxx>
- Subject: [GSoC][PATCH 00/13] Update: Week-12
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: 
Stefan Beller <sbeller@xxxxxxxxxx>
Christian Couder <christian.couder@xxxxxxxxx>
Following are the updates about my ongoing project:
* Following patches were updated after the previous reviews:
* summary: the function print_submodule_summary() is split-up
into two separate functions: generate_submodule_summary()
* porting of submodule subcommand 'add' is completed and I have
started with debugging ported function. Currently, the
entire function cmd_add() is ported to the function
module_add() in C. Soon, its first patch will be floated
here as well once debugging is completed. Its progress can be
viewed at .
* displaypath: Last week, there was some confusion produced
with the way, the value of displaypath is being generated,
which led to some discussion, which is available at: .
PLAN FOR WEEK-13 (8 August 2017 to 14 August 2017):
* patches: IMO, the patches till deinit are reviewed many times,
and hence will try to get at least these patches merged.
* add: As this subcommand is widely used in the test suite, there
are many tests this ported function is failing at. Hence,
debugging the subcommand would be another task for the next week.
* deinit: A bug was identified by Stefan in the last patch-series.
its details are available at: 
Currenlty, the bug was handled by adding a NEEDSWORK tagged
comment as suggest. If possible, I will also start working
on debugging the issue asap.
A complete build report of these series of patches is available at: .
The work is pushed on Github and is available at: .
Prathamesh Chavan (13):
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
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 | 1190 ++++++++++++++++++++++++++++++++++++++-
diff.c | 2 +-
diff.h | 1 +
git-submodule.sh | 396 +------------
t/t7407-submodule-foreach.sh | 38 +-
6 files changed, 1222 insertions(+), 420 deletions(-)