[rfc] developer documentation on user interaction

Alexander Belchenko bialix at ukr.net
Fri Sep 25 12:43:43 BST 2009


Vincent Ladeuil пишет:
>>>>>> "Stephen" == Stephen J Turnbull <stephen at xemacs.org> writes:
> 
> Alexander mentioned having troubles separating stderr from stdout
> when using subprocess (I don't see why but without looking at the
> code I trust him), using a dedicated wrapper that can control
> sys.stdout and sys.stderr and all other facets of the UIFactory
> and from there calling bzrlib leave little place for such
> troubles.

I don't remember I've talked about separating stderr and stdout,
so I'm not really sure what you talking about.

>     Stephen> 2.  The audience for the CLI demands stability;
> 
> As in: "I don't want to test which version I'm using so don't
> change anything there or I'm doomed" ?

Yes.

>     Stephen> the audience for the API demands features.
> 
>     Stephen> I think "Although practicality beats purity"
>     Stephen> applies.
> 
> But here, on of my arguments is that both qbzr and bzr-gtk try to
> maintain *one* source base to run against several versions of
> bzr, while it may be *less* effort to only support the last or
> the most recent bzr versions.

This is wrong assumption.

> Since bzr and the associated plugins are generally packaged
> together, what I'm asking here is: who cares that qbzr and
> bzr-gtk are maintaining compatibility with older bzr versions ?

I care.

> And what bzr version does qbzr support ? And who use what ?

Usually bzr v.CURRENT-1 (or -2).

> Don't get me wrong either, I do care a lot about compatibility, I
> just want to understand if we are talking about theory or
> practice here.

The practice for QBzr is that: if you need to write simple GUI wrapper 
about straightforward bzr command, like say bzr check or bzr reconcile, 
you don't need to copy paste entire run method from bzrlib/builtins.py 
and then thinking about how to deal with exceptions and errors and 
status messages, but instead you can purely focusing on GUI part: which 
controls you need and how to layout them. Everything else will be done 
by qsubprocess.

For me -- this is huge win.

> So, I think "practicality beats purity" here, means, let's use
> bzrlib and stop pretending using bzr is the right way to go for
> wrong reasons ;)
> 
>        Vincent
> 
> [1]: Disclaimer: I'm expressing opinions here not telling people
>      how they should write their code in their free time. Feel
>      free to ignore me ;)

No comments.




More information about the bazaar mailing list