[GSOC] Interactive patch selection for commit/Mercurial Queues/record/import

Rafael Villar Burke pachi at rvburke.com
Mon Mar 30 07:19:21 CDT 2009


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.

Regards, and good luck with this project :)

Rafael Villar Burke


More information about the Mercurial mailing list