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

Justin Peng justin.peng.sw at gmail.com
Tue Apr 7 10:23:17 CDT 2009


Hi, Rocco. Thanks for your advice. I agree with them totally.


2009/4/4 Rocco Rutte <pdmef at gmx.net>:
>
> Others have written enough about the troublesome pah of advertising
> syntactical parsing of all sorts of languages. I, too, vote for
> line-based selection in addition.

I have adopted the line-based granularity in my application, and
believe it can work well on line-based files.

>
> Another problem I have with record now is that it's hard to visually
> identify the chunk you're asked about.  A nice solution would be a
> configurable pager-mode like using less(1).

Good suggestion. This is also what I feel uncomfortable on when using Record.
I also compare it to CRecord and TortoiseHg, which are based on
text-gui and GUI respectively. They can meet our requirement well.
However, I think a CUI-based command is neccessary for better
portability, i.e. we hope it works well on wcurses. So far I don't
have any idea on implementing less-like pager-display on a CUI. Maybe
some global view options can be provided when asking users to choose,
users can choose them to browse the chunk. This idea is not mature
now, wish for more advice!

>
> And even a last-chance edit option would be nice so that when at the
> last file you notice something's still not right you don't have to go
> through the whole record process again (possibly selection only
> particular chunks from many different files).

This is very helpful for users!
A simple way to realise it is to add a last-chance option, to ask
users whether to apply the last selection for the current granularity
which is higher than line-granularity. For example, when operating on
a file, users can choose to apply the last selection on this file and
jump to the next file directly, or not to apply and jump into the
first hunk in the file and ask users whether to apply the selection on
the current hunk again! With a well- defined granularity system, it
can run well.
Furthermore, the last selection record can keep in memory or in a file
under .hg/, it will be updated by a new selection and invalidated by a
successful commit or a new modification on working directory.

>
> Rocco
> _______________________________________________
> Mercurial mailing list
> Mercurial at selenic.com
> http://selenic.com/mailman/listinfo/mercurial
>


Best regards
-- 
Justin Peng



More information about the Mercurial mailing list