[MonoDevelop] Initial proposal for version control in MD

Rubens Ramos rubensr@users.sourceforge.net
Wed, 24 Nov 2004 16:43:07 +1030


--=-RREuyK+SKmWE1tlmyK3j
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Hi All,

 I guess I am at a point now that I should send the
code I have been working on for feedback. Please be
gentle :)

 Background: This is the initial version of what would
become generic support for version control in MD. In
short:

 * VC is the core generic version control code in MD;
 * Every specialised (cvs, svn) backend registers with 
   VC and becomes available to a project.
 * Depending on which VC you choose for a project, your
   context menus, project options, etc. are different.

 The tar file contains a patch and the files I have 
developed, so it should untar in the MD root directory.

 Warning: if you want *working* support for version control,
this is NOT for you - this code is still incomplete. However,
it contains a skeleton of a CVS backend, which:

 1) Shows how the VC backends and the VC core will communicate;
 2) Shows how each VC backend options will be shown in the
    project dialog;
 3) Shows the context menu in the project browser pad and
    how it will communicate with the backends.

 Note:

 *) The VC core code is implemented as an Addin, and is quite
    independent (so far) from the Core code. I did this just
    to simplify things for me - it could be easily moved into
    the core code if desired.

 Things I am planning to start immediately:

 1) Make each VC backend conditional in the XML files
    (by the way, thanks Todd for replying to my previous message)
 2) Add support for saving/restoring the properties set in
    the options dialog (I accept implementation suggestions on
    this one :)
 3) Add more and complete the existing CVS context menus and
    hook them up to sharpcvslib to see if that works;
 4) Implement some sort of icon/textual state indications in the
    project browser tree view, so that the user will know if
    files need to be updated, checked in, etc.
 5) Adding a VC browser pad?

 So if you have comments, suggestions, feedback, etc. This is
the time.

Thanks
Rubens


--=-RREuyK+SKmWE1tlmyK3j
Content-Disposition: attachment; filename=version_control.tgz
Content-Type: application/x-compressed-tar; name=version_control.tgz
Content-Transfer-Encoding: base64

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

--=-RREuyK+SKmWE1tlmyK3j--