Re: nautilus-vcs



On Mit, 2004-10-13 at 10:28 -0400, Dave Camp wrote:
> I'm not opposed to design changes to make subversion work easier in
> nautilus-vcs.  
> 

I attached an UML tree of the object model i thought of.

NautilusVcs shall be the only extension to Nautilus (Nautilus does not
know about the different vcs). All major code resides inside
NautilusVcs, this includes handling of the different actions wich can be
done on different vcs i.e. NautilusVcs has a list of the union of all
actions available over all Vcs. Its able to call "capabilities" on files
to different Vcs and they will respond with a map consisting of the
actions they can perform on that list of files. The implementation of
such an action is in the Vcs class itself as a virtual function.

Since NautilusVcs shall be the only object wich talks to Nautilus  it
also provides the varios widgets or it. Therefore NautilusVcs can
request an Info object from the vcs to get information to place in those
widgets.

It may be possible that e.g. the action implementations need more
arguments (commit message).

This way we reduce code for the various actions e.g. we need to code the
message window for the commit text only once.

I hope i haven't forgotten something important... :).
RFC.

cheers,
Raffaele

Attachment: objectmodel.dia
Description: application/dia-diagram



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]