Re: GSOC idea: build in scripts and cleanups
- From
Jeff King <peff@peff.net>
- Date
- Mar 28, 2011, 14:21 UTC
- Message-ID
- <20110328142121.GB14763@sigill.intra.peff.net>
- In-Reply-To
- <201103281055.23578.robert.david.public@gmail.com>
On Mon, Mar 28, 2011 at 10:55:22AM +0200, Robert David wrote:
Show 12 quoted lines
> > If I were considering cleaning up and porting add--interactive to C, I > > think I would probably start with just porting the "-p" patch loop > > first. I think it's the part that most people use, and most callers > > don't support a generic "-i" but just the "-p" interface (e.g., you can > > do "git add -i" or "git add -p", but only "git checkout -p"). And that > > cuts down the size of the task somewhat. > > I have read all the code in git-add--interactive. If I understand that > correct, you mean to separate -i and -p int two different commands. > And make the -p option more like the -i (but just only for patching). > > And consequently port them to C.
Sort of. The approach I would take would be:
1. write patch loop code in C (i.e., the code that is going to replace
the --patch code path from git-add--interactive.perl), and make it
call-able from within other C programs 2. write a new command, "git-add--interactive-patch", that behaves
like "git-add--interactive --patch", but is based on your new C
code. 3. Port C callers of "git-add--interactive --patch" to the new
interface from (1). This should be "add -p", "checkout -p", and
"reset -p". 4. Port non-C callers of "git-add--interactive --patch" to the new
command from (2). This should be git-add--interactive.perl and
git-stash.sh. 5. Remove the perl patch code in git-add--interactive.perl; you can
replace it with a call to git-add--interactive-patch.But that doesn't mean that's the way it has to be done. Just what I would do. :)
Show 5 quoted lines
> > As far as cleanup versus features, I think Thomas would have to comment > > on that. He is the one who did the most work on patch-mode, and > > therefore the one who most thinks it needs cleaned up. :) > > Is Thomas going to be a mentor in this task?
I hope so. I can also co-mentor if it helps.
-Peff