git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [GSoC] Update: Week 2
@ 2017-05-29 20:41 Prathamesh Chavan
  0 siblings, 0 replies; 8+ messages in thread
From: Prathamesh Chavan @ 2017-05-29 20:41 UTC (permalink / raw)
  To: git; +Cc: Stefan Beller, Christian Couder

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:

As planned for the second week, I continued working on completing the porting
of submodule subcommand foreach[2][3][4] and status.[5][6] An updated version
of these was added to the mailing list as well.

For the submodule-status, I have implemented the suggestions received on the
previous patch. But for submodule-foreach, still, some issues are left to be
solved.

Apart from this, in this week, porting of submodule subcommand sync was  also
carried out. But instead of adding anymore floating patches on the  mailing
list, I have started discussing the patch with my mentors itself, so that on
the mailing list, the focus would remain with the ported submodule subcommands
status and foreach patches.

I have also taken up with the submodule subcommand summary for porting.

PLAN FOR WEEK-3 (30 May 2017 to 5 June 2017):

As suggested by my mentors, in this week, instead of adding more floating
patches to the mailing list and porting more submodule subcommand, I would
like to polish the existing patches and try to resolve the issues they
currently have, eventually aiming for getting them merged.

Also, since I have also completed porting of submodule subcommand sync, after
reviewing the patches with mentors I'll soon be posting it on the  mailing
list.

Additionally, I will also try to complete porting of submodule-subcommand
summary in this week itself.

[1]: https://docs.google.com/document/d/1krxVLooWl--75Pot3dazhfygR3wCUUWZWzTXtK1L-xU/
[2]: https://public-inbox.org/git/20170526151713.10974-1-pc44800@gmail.com/
[3]: https://public-inbox.org/git/20170526151713.10974-2-pc44800@gmail.com/
[4]: https://public-inbox.org/git/20170526151713.10974-3-pc44800@gmail.com/
[5]: https://public-inbox.org/git/20170521122711.22021-1-pc44800@gmail.com/
[6]: https://public-inbox.org/git/20170521122711.22021-2-pc44800@gmail.com/

^ permalink raw reply	[flat|nested] 8+ messages in thread
* [GSoC Update] Week 3
  2016-05-15 17:45 ` [GSOC Update] Week 2 Pranit Bauva
@ 2016-05-22 19:58 Pranit Bauva
  2016-05-30  5:37 ` [GSOC Update] Week 2 Pranit Bauva
  1 sibling, 1 reply; 8+ messages in thread
From: Pranit Bauva @ 2016-05-22 19:58 UTC (permalink / raw)
  To: git; +Cc: larsxschneider, chriscool, christian.couder, Pranit Bauva

============================ INTRODUCTION ==============================
The purpose of this project is to convert the git-bisect utility which
partly exists in the form of shell scripts to C code so as to make it more
portable. I plan to do this by converting each function to C and then
calling it from git-bisect.sh so as to use the existing test suite to test
the function which is converted.

Mentors:
Christian Couder <chriscool@tuxfamily.org>
Lars Schneider <larsxschneider@gmail.com>

============================== UPDATES =================================
Things which were done in this week:

 * My patches for write_terms()[1] and bisect_log()/voc()[2] have collected
   some reviews from Eric Sunshine and Johannes Schindelin.

 * As advised in the reviews I have mainly read about git_path() and other
   related functions from cache.h

 * Also read up on the refs stuff like for_each_ref_in() which Junio
   mentioned in the previous update email.

 * I have made 2 commits[3] which I am keeping on hold for now as they are
   followup for a commit made by Jeff King which I came across while
   reading about git_path() and related stuff.

 * I have kind of finished writing bisect_clean_state() function. But I
   am still working on that as I suspect there might be something missing.

============================ NEXT STEPS ================================
Since I wasn't able to cover up many things this week (which I had
initially planned), those things have now been carried forward along with
a few other stuff. I plan to work more this week and the coming few ones
to make up for the lost time.

Things which would be done in the coming week:

 * Finish off (finally) bisect_clean_state() conversion.

 * Convert the function bisect_head(). I plan to convert this function and
   add it as a subcommand to test the implementation but I will only send
   the function without the subcommand to the mailing list because its a
   too small function. Though the subcommand version will be put up on
   github for everyone to verify whether it is passing the test suite like
   I have done it for bisect_voc().

 * Convert the function bisect_write(). I plan to convert this function
   and add it as a subcommand.

 * Investigate why test no. 43 and 44 are failing in t6030 with `|| exit`
   in --write-terms.

[1]: http://thread.gmane.org/gmane.comp.version-control.git/294388
[2]: http://thread.gmane.org/gmane.comp.version-control.git/294571

^ permalink raw reply	[flat|nested] 8+ messages in thread
* [GSOC update] Week 1
@ 2016-05-08 11:27 Pranit Bauva
  2016-05-15 17:45 ` [GSOC Update] Week 2 Pranit Bauva
  0 siblings, 1 reply; 8+ messages in thread
From: Pranit Bauva @ 2016-05-08 11:27 UTC (permalink / raw)
  To: git; +Cc: christian.couder, chriscool, larsxschneider, Pranit Bauva

My public git.git is available here[1]. I regularly keep pushing my work so
anyone interested can track me there. Feel free to participate in the
discussions going on PRs with my mentors. Your comments are valuable.

The things I was able to do:

 * Finish off with my micro project[2] about adding a config variable for
   git-commit. There is still a little discussion going on about whether
   verbose should be retired and instead "commit.showDiff" should be used.
   Junio also made a little change to squash it with my patch to make the
   patch look more clearer to digest. Its difficult that this will be included
   in the release of 2.8.3

 * I converted the function check_term_format()[3] from shell to C as a
   subcommand. Faced some difficulty but was greatly helped by Christian
   Couder.

 * I converted the function bisect_log()[4] in a branch from the previous
   check-term-format branch as a subcommand. I was waiting for the first patch
   to get queued on maintainer's git.git repo so as to rebase it there and
   then send the patch.

 * I converted the function write_terms()[5] in a branch from the previous
   bisect-log branch as a subcommand and I removed check-term-format subcommand.
   I was waiting for the bisect-log patch to get queued on maintainer's git.git
   repo so as to rebase it there and send send the patch

 * I am currently introducing subcommands and calling them from git-bisect.sh .
   Eric Sunshine had proposed another top bottom approach wherein I first
   implement a skeleton and redirect it to git-bisect.sh so that the test
   suite is still passing. This method was used by Paul Tan in his last year
   GSoC project. Commit ids for reference, e1ea69fa4e and 73c2779f4 .

 * I ignored it and sent another revision of the series to which Junio wasn't
   quite enthusiastic over my reasoning for using subcommand approach. So
   I wrote an email[6] explaining how using subcommand way is beneficial to
   me, reviewers/testers, and my mentors.

 * I am currently waiting for that discussion to come to a conclusion. Till
   then I have paused on a bit.

 * I am now reading on the API part and planning how will I go about with the
   future functions. The functions I have converted till now were quite simple
   ones and the main difficulty lies ahead!

 * Anywhich ways I think this week was quite productive and if I follow this
   speed then the project is in a good shape to be completed well in time.

 * On a lighter note: I will be on a short vacation from 16th May to 19th May.
   So I will be unavailable till that time.

[1]: https://github.com/pranitbauva1997/git
[2]: http://thread.gmane.org/gmane.comp.version-control.git/293635
[3]: https://github.com/pranitbauva1997/git/pull/1
[4]: https://github.com/pranitbauva1997/git/pull/2
[5]: https://github.com/pranitbauva1997/git/pull/3
[6]: http://article.gmane.org/gmane.comp.version-control.git/293909

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-05-29 20:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-29 20:41 [GSoC] Update: Week 2 Prathamesh Chavan
  -- strict thread matches above, loose matches on Subject: below --
2016-05-22 19:58 [GSoC Update] Week 3 Pranit Bauva
2016-05-30  5:37 ` [GSOC Update] Week 2 Pranit Bauva
2016-05-30  5:45   ` Pranit Bauva
2016-05-08 11:27 [GSOC update] Week 1 Pranit Bauva
2016-05-15 17:45 ` [GSOC Update] Week 2 Pranit Bauva
2016-05-15 18:01   ` Matthieu Moy
2016-05-15 19:17     ` Junio C Hamano
2016-05-15 19:11   ` Junio C Hamano
2016-05-15 19:30     ` Pranit Bauva

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).