Some cool stuff I would like to help add or see considered for an
abstract interface:
1) The native hotwire progress bar for all relevant operations
2) Some right click features for commit/add etc.
3) Integrated diff viewing with color etc. in hotwire-edit.
On Tue, Feb 12, 2008 at 12:12 PM, Colin Walters <cgwa...@gmail.com> wrote:
>
> On Feb 11, 10:19 pm, Mark Williamson <lemmingm...@gmail.com> wrote:
> > Hi all,
> >
> > This is just to announce / request comments on a little project I've
> > been playing around with. Over the past few days I've written a
> > simple Hotwire plugin that provides an enhanced interface to the
> > Mercurial (http://www.selenic.com/mercurial/) revision control
> > system. The plugin adds some new objects and renderers, making it
> > possible to directly do things such as:
>
> Awesome! This kind of thing is exactly what I'd like to see. Some
> comments:
>
> On a high level, I think it would probably make sense to have some
> sort of abstract notion of revision control in the Hotwire core. So
> for example, if you're in a Mercurial directory, Hotwire would have a
> little status/modeline type thing in the bottom right that showed
> which revision you were on.
I would love to see this type of status information as well, very
useful, I dunno how much this concept applies to mercurial, but for
something like git or svn, the current branch, or repository would be
majorly helpful as well.
>
> Also, one thing I notice looking at your code is that the Hotwire core
> really needs better support for displaying arbitrary data structures
> like the tuples Mercurial seems to use.
This would make some things easier, my only concern is that rendering
isn't super-fast as is, we might want to consider some profiling on
the current rendering system in the near future. ( I know its too
early to do anything serious, but apparently python is super-easy to
profile, if someone has experience with this it would be really nice
to have some simple numbers to make sure theres no low-hanging fruit,
or architectural bottlenecks.)
>
> * Ideally, you wouldn't need to define the LogEntry class yourself -
> I'd try to get objects like this into the Mercurial core if you can.
> (Also on an unrelated note, would be good to subclass from object)
> * And I need to move the File class into the Python core so we don't
> need to do this one:
> FileKlass = Filesystem.getInstance().fileklass
> class HgFile(FileKlass):
> * What do you think about calling them all hg-foo instead of hgfoo?
> The "-" character should help us more clearly manage the namespace in
> the future.
> * What's the purpose of the completers you're defining? Wouldn't we
> want to just use the default token completer which will give us file
> path completions?
> * I seem to be missing a module:
>
> File "/home/walters/.hotwire/plugins/hg.py", line 17, in <module>
> from mercurial import ui, hg, dispatch, cmdutil, util, patch
> ImportError: cannot import name dispatch
>
> Is mercurial-0.9.4-8.fc8 too old?
>
> What would you think about maintaining these plugins in the Hotwire
> SVN? I'd like to use them as a test case for cleaning up some parts
> of the Hotwire core.
>
>
>
> >
>
--
Kevin Kubasik
http://kubasik.net/blog