[GSOC] Interactive patch selection for commit/Mercurial Queues/record/import
Peter Arrenbrecht
peter.arrenbrecht at gmail.com
Mon Mar 30 09:24:19 CDT 2009
On Mon, Mar 30, 2009 at 2:19 PM, Rafael Villar Burke <pachi at rvburke.com> wrote:
> Justin Peng wrote:
>>
>> Hi ,all.
>>
>> I've chosen ' Interactive patch selection for commit/Mercurial
>> Queues/record/import' as my project idea for this year's GSOC. To get
>> a clearer knowledge about it before submitting my application, I 'm
>> here to ask for your comments and advice on it.
>>
>
>> B. My thinking about better granularity of selection.
>>
>> IMO, the problem includes a set of granularities but not simply only
>> one optimal granularity in fact.
>>
>> The set of granularities can be considered as a tree whose root is
>> just 'all changes of a project', and be arranged in hierarchy as:
>>
>> changes of a project
>> |
>> |---- changes of a folder
>> |
>> |---- changes of a module/file
>> |
>> |---- changes of a hunk
>> |
>> |---- changes of a class in a hunk
>> |
>> |----changes of a function in a class
>>
>> As the figure shows, changes in a hunk are the subtlest, as a hunk may
>> be divided into some elements such as classes or functions, all the
>> elements should be able to process (commit or skip) respectively. For
>> instance, after adding some new classes into a module in working
>> directory, it's possible to choose which classes, and which functions
>> of those chosen classes to commit, in an interactive way.
>>
> IMHO, you should consider at least line granularity. Being able to
> choose at the line level granularity may be enough for most users and
> wouldn't need complex heuristics, as detecting classes, functions or
> other elements that may vary from language to language or even for
> different file formats.
Seconded. Also note that the CRecord extension already supports this.
-parren
More information about the Mercurial
mailing list