git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: GSOC idea: build in scripts and cleanups

From
RDRobert David <robert.david.public@gmail.com>
Date
Apr 17, 2011, 18:50 UTC
Message-ID
<201104172050.28441.robert.david.public@gmail.com>
In-Reply-To
<20110411063444.GA6608@elie>
Dne pondělí 11 dubna 2011 08:34:44 Jonathan Nieder napsal(a):
Show 6 quoted lines
> Hi,
> 
> Robert David wrote:
> > I'm sending copy of my proposal to ml.
> 
> Thanks, and sorry for a slow response.
I'm also sorry for the late response, I was off for holiday now.
Show 41 quoted lines
> 
> Full disclosure: I locally use a patch[1] to teach a --patience option
> to add -p, checkout -p, etc (to use the "patience diff" algorithm).  I
> never submitted it since it wasn't clear to me how to integrate it
> (and other diff options) properly.  I will be very happy to see a
> cleaner add--interactive.
> 
> So I'm a likely early consumer of your code, although I don't think
> I'll have time to co-mentor.  Luckily there seems to be no shortage of
> willing mentors.
> 
> Some quick impressions.  This is off-the-cuff; please feel free to let
> me know if something sounds crazy.
> 
> > Today git code consists of the base written in C and many helper shell or
> > PERL scripts. While at a first time it is easier to write the script,
> > final code is supposed to be in C. One of these scripts is
> > git-add--interactive.
> 
> [...]
> 
> > But before that, it is need to clean and extend the current git-add--
> > interactive, to serve user needs at the best.
> 
> I see two goals in tension: (1) to integrate add--interactive as C
> code, and (2) to clean it up and change its feature set.  Either one
> could happen without the other, and for planning it would be useful to
> know which is going to drive decisions (e.g., what if time is short
> and something has to get cut?).
> 
> If (1) is the main goal, it might be easiest to first translate the
> existing code, perhaps modulo small preparatory changes that make the
> translation easier, into C and leave major changes for afterwards.
> Tracking down bugs due to a major change (like switch in
> implementation language) is a lot easier if the pre-change version is
> well tested and well understood.
> 
> If (2) is the main goal, it might be easiest to rewrite small parts of
> add--interactive in C where convenient rather than rewriting the whole
> thing.  In that story, the result is a series of small patches without
> any single world-changing patch. :)

As I updated the proposal, to focus mainly on the (2) way to go. I agree with your suggestions and I think it will be part of the second round, when the git-add--interactive will be done and tested enough.

Show 28 quoted lines
> 
> [...]
> 
> > How to consider this project has success? That is pretty easy, the
> > already done functionality will be integrated in git-add and the user
> > usage would be consistent.
> 
> After each patch, the test suite should pass.  If some important
> functionality is not exercised in the test suite, ideally it can be
> added to the test suite.  (Though that's no replacement for trying the
> changes in day-to-day use, of course.)
> 
> [...]
> 
> > The official time-line consists of 12 coding week, starting 24th May. The
> > mid- evaluation is in the 8th week.
> > So the plan is written in week order beginning on the first coding week.
> 
> Jeff and Junio's advice seems sane to me.  More advice that might help
> with writing a timeline: [2] and Christian's reply.
> 
> Because of the uncertainty I mentioned above, it's hard to give an
> example, but an ideal proposal would include a timeline that gives a
> technical plan for the summer.
> 
> Also during the bonding time or even earlier it would be nice to get
> used to sending patches and reviewing them (as explained in
> Documentation/SubmittingPatches) if you find time for it.

I'm planing to submit some patches as soon as it will have more time to fully get in the code, I think it will be something like perl style cleanups.

Thanks for your attention, Robert.

Show 7 quoted lines
> 
> Thanks again, and hope that helps.
> Jonathan
> 
> [1] http://bugs.debian.org/522361
> [2]
> http://thread.gmane.org/gmane.comp.version-control.git/142623/focus=142877
Previous: Jonathan Nieder
Message 20 of 20 in “GSOC idea: build in scripts and cleanups”
  1. Robert DavidMar 26, 2011
  2. Jonathan NiederMar 26, 2011
  3. Jeff KingMar 26, 2011
  4. Robert DavidMar 28, 2011
  5. Jeff KingMar 28, 2011
  6. Thomas RastMar 30, 2011
  7. Robert DavidMar 30, 2011
  8. Robert DavidApr 3, 2011
  9. Robert DavidApr 4, 2011
  10. Junio C HamanoApr 4, 2011
  11. Robert DavidApr 4, 2011
  12. Jeff KingApr 5, 2011
  13. Junio C HamanoApr 5, 2011
  14. Jeff KingApr 5, 2011
  15. Robert DavidApr 5, 2011
  16. Robert DavidApr 7, 2011
  17. Junio C HamanoApr 7, 2011
  18. Robert DavidApr 8, 2011
  19. Jonathan NiederApr 11, 2011
  20. Robert DavidApr 17, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.