From: Prathamesh Chavan <pc44800@gmail.com>
To: gitster@pobox.com
Cc: christian.couder@gmail.com, git@vger.kernel.org,
pc44800@gmail.com, sbeller@google.com
Subject: [GSoC][PATCH v2 0/4] submodule: Incremental rewrite of git-submodules
Date: Wed, 23 Aug 2017 23:45:02 +0530 [thread overview]
Message-ID: <20170823181506.8557-1-pc44800@gmail.com> (raw)
In-Reply-To: <xmqqinhf1bjf.fsf@gitster.mtv.corp.google.com>
Changes in v2:
* In the function get_submodule_displaypath(), I tried avoiding the extra
memory allocation, but it rather invoked test 5 from
t7406-submodule-update. The details of the test failiure can be seen
in the build report as well. (Build #162)
This failure occured as even though the function relative_path(),
returned the value correctly, NULL was stored in sb.buf
Hence currently the function is still using the old way of
allocating extra memory and releasing the strbuf first, and return
the extra allocated memory.
* It was observed that strbuf_reset was being done just before the strbuf
was being reused. It made more sense to reset them just after their use
instead. Hence, these function calls of strbuf_reset() were moved
accordingly.
(The above change was limited to the function init_submodule() only,
since already there was a deletion of one such funciton call,
and IMO, it won't be suitable to carryout the operation for the complete
file in the same commit.)
* The function name for_each_submodule_list() was changed to
for_each_submodule().
* Instead of passing the complete list to the function for_each_submodule(),
only its pointer is passed to avoid the compiler from making copy of the
list, and to make the code more efficient.
* The function names of print_name_rev() and get_name_rev() were changed
to get_rev_name() and compute_rev_name(). Now the function get_rev_name()
acts as the front end of the subcommand and calls the function
compute_rev_name() for generating and receiving the value of revision name.
* The above change was also accompanied by the change in names of some
variables used internally in the functions.
As before you can find this series at:
https://github.com/pratham-pc/git/commits/week-14-1
And the build report is available at:
https://travis-ci.org/pratham-pc/git/builds/
Branch: week-14-1
Build #163
Prathamesh Chavan (4):
submodule--helper: introduce get_submodule_displaypath()
submodule--helper: introduce for_each_submodule()
submodule: port set_name_rev() from shell to C
submodule: port submodule subcommand 'status' from shell to C
builtin/submodule--helper.c | 294 ++++++++++++++++++++++++++++++++++++++++----
git-submodule.sh | 61 +--------
2 files changed, 273 insertions(+), 82 deletions(-)
--
2.13.0
next prev parent reply other threads:[~2017-08-23 18:19 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-21 16:15 [GSoC][PATCH 1/4] submodule--helper: introduce get_submodule_displaypath() Prathamesh Chavan
2017-08-21 16:15 ` [GSoC][PATCH 2/4] submodule--helper: introduce for_each_submodule_list() Prathamesh Chavan
2017-08-22 22:37 ` Junio C Hamano
2017-08-21 16:15 ` [GSoC][PATCH 3/4] submodule: port set_name_rev() from shell to C Prathamesh Chavan
2017-08-21 16:47 ` Heiko Voigt
2017-08-21 17:24 ` Prathamesh Chavan
2017-08-21 16:15 ` [GSoC][PATCH 4/4] submodule: port submodule subcommand 'status' " Prathamesh Chavan
2017-08-22 22:29 ` [GSoC][PATCH 1/4] submodule--helper: introduce get_submodule_displaypath() Junio C Hamano
2017-08-23 18:15 ` Prathamesh Chavan [this message]
2017-08-23 18:15 ` [GSoC][PATCH v2 " Prathamesh Chavan
2017-08-23 18:15 ` [GSoC][PATCH v2 2/4] submodule--helper: introduce for_each_submodule() Prathamesh Chavan
2017-08-23 19:13 ` Junio C Hamano
2017-08-23 19:31 ` Stefan Beller
2017-08-23 19:52 ` Junio C Hamano
2017-08-24 19:50 ` [GSoC][PATCH v3 0/4] Incremental rewrite of git-submodules Prathamesh Chavan
2017-08-24 19:50 ` [GSoC][PATCH v3 1/4] submodule--helper: introduce get_submodule_displaypath() Prathamesh Chavan
2017-08-24 19:50 ` [GSoC][PATCH v3 2/4] submodule--helper: introduce for_each_listed_submodule() Prathamesh Chavan
2017-08-24 19:50 ` [GSoC][PATCH v3 3/4] submodule: port set_name_rev() from shell to C Prathamesh Chavan
2017-08-24 19:50 ` [GSoC][PATCH v3 4/4] submodule: port submodule subcommand 'status' " Prathamesh Chavan
2017-08-25 18:51 ` [GSoC][PATCH v3 0/4] Incremental rewrite of git-submodules Junio C Hamano
2017-08-25 19:15 ` Stefan Beller
2017-08-25 20:32 ` Junio C Hamano
2017-08-27 11:50 ` Prathamesh Chavan
2017-08-28 11:55 ` [GSoC][PATCH v4 " Prathamesh Chavan
2017-08-28 11:55 ` [GSoC][PATCH v4 1/4] submodule--helper: introduce get_submodule_displaypath() Prathamesh Chavan
2017-09-21 15:06 ` Han-Wen Nienhuys
2017-08-28 11:55 ` [GSoC][PATCH v4 2/4] submodule--helper: introduce for_each_listed_submodule() Prathamesh Chavan
2017-08-28 11:55 ` [GSoC][PATCH v4 3/4] submodule: port set_name_rev() from shell to C Prathamesh Chavan
2017-09-21 15:31 ` Han-Wen Nienhuys
2017-08-28 11:55 ` [GSoC][PATCH v4 4/4] submodule: port submodule subcommand 'status' " Prathamesh Chavan
2017-09-21 16:10 ` Han-Wen Nienhuys
2017-09-24 12:08 ` [PATCH v5 0/4] Incremental rewrite of git-submodules Prathamesh Chavan
2017-09-24 12:08 ` [PATCH v5 1/4] submodule--helper: introduce get_submodule_displaypath() Prathamesh Chavan
2017-09-25 3:35 ` Junio C Hamano
2017-09-24 12:08 ` [PATCH v5 2/4] submodule--helper: introduce for_each_listed_submodule() Prathamesh Chavan
2017-09-25 3:43 ` Junio C Hamano
2017-09-24 12:08 ` [PATCH v5 3/4] submodule: port set_name_rev() from shell to C Prathamesh Chavan
2017-09-25 3:51 ` Junio C Hamano
2017-09-25 3:55 ` Junio C Hamano
2017-09-24 12:08 ` [PATCH v5 4/4] submodule: port submodule subcommand 'status' " Prathamesh Chavan
2017-09-25 5:06 ` Junio C Hamano
2017-09-29 9:44 ` [PATCH v6 0/3] Incremental rewrite of git-submodules Prathamesh Chavan
2017-09-29 9:44 ` [PATCH v6 1/3] submodule--helper: introduce get_submodule_displaypath() Prathamesh Chavan
2017-10-02 0:44 ` Junio C Hamano
2017-09-29 9:44 ` [PATCH v6 2/3] submodule--helper: introduce for_each_listed_submodule() Prathamesh Chavan
2017-10-02 0:55 ` Junio C Hamano
2017-09-29 9:44 ` [PATCH v6 3/3] submodule: port submodule subcommand 'status' from shell to C Prathamesh Chavan
2017-10-02 1:08 ` Junio C Hamano
2017-10-06 13:24 ` [PATCH v7 0/3] Incremental rewrite of git-submodules Prathamesh Chavan
2017-10-06 13:24 ` [PATCH v7 1/3] submodule--helper: introduce get_submodule_displaypath() Prathamesh Chavan
2017-10-06 21:12 ` Eric Sunshine
2017-10-06 13:24 ` [PATCH v7 2/3] submodule--helper: introduce for_each_listed_submodule() Prathamesh Chavan
2017-10-06 21:56 ` Eric Sunshine
2017-10-06 13:24 ` [PATCH v7 3/3] submodule: port submodule subcommand 'status' from shell to C Prathamesh Chavan
2017-10-07 8:51 ` [PATCH v7 0/3] Incremental rewrite of git-submodules Junio C Hamano
2017-10-07 9:35 ` Eric Sunshine
2017-10-02 0:39 ` [PATCH v6 " Junio C Hamano
2017-08-23 18:15 ` [GSoC][PATCH v2 3/4] submodule: port set_name_rev() from shell to C Prathamesh Chavan
2017-08-23 18:15 ` [GSoC][PATCH v2 4/4] submodule: port submodule subcommand 'status' " Prathamesh Chavan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170823181506.8557-1-pc44800@gmail.com \
--to=pc44800@gmail.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=sbeller@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).