Thanks to all those who have directly or indirectly responded to my message.
The issues that have emerged are very interesting, but in most cases I am
not qualified to intervene. 

Perhaps, I didn“t adequately explain my intentions:

I am not asking anyone else to develop a particular tool (or an API), what I
mean is that I'll do it myself.

In this regard, I would say the following: 

1. I do not have time to study Haskell, DARCS internals and then program a
new indexing in the metadata to make some operations fly.... but I have time
to study DARCS from a user point of view, and then program some C# tools
based on my knowledge as a user.

1. Perhaps the CLI and a scripting language is all we need to get the most
out of DARCS. But my personal view is that different interfaces are not
alternative but complementary. So, the development of a rich UI for DARCS
still stands. 

2. Perhaps programming in layers and developing APIs brings many
complications to the software life cycle, but the fact is that I am unable
to program otherwise (I mess too much). Hence, I have no other choice but to
develop a "libdarcs" from the unique DARCS interface: the CLI (as I said in
my first message, to develop an API over CLI is quite complicated, but I
find more complicated to study repository format). 

3. What classes and functions will have libdarcs? In principle, it would be
more desirable to develop a standard. For a long time, "de facto" standard
in version control was the MSSSC Visual Source Safe. MSSSC is quite simple,
but has the advantage of being supported in many environments (IDEs, etc.).
Recently, more complete APIs have appeared, but (in my opinion) none do
justice to DARCS special characteristics. The best option is to develop a
special DARCS API (libdarcs), and then build restrictive enclosures that
reduces libdarcs to meet the standards (Visual Studio 2008 admits non
standard VC addins).

4. As I am only able to program in layers, there will be a set of classes
that reflect DARCS commands and options (at a lower level of abstraction
than the API). It is not necessary that this layer reflects all commands and
all options to support the API, but if we reflect all commands and all
options, we will have an added value: from this command layer, will be very
easy to build an assisted visual script generator. 

5. Before writing this message, I made an initial model with a few Command
and API classes that works ok: it creates a DARCS repository, records
patches and then load the patches, hunks and related files from a "darcs
changes -s --xml" command.

6. After completing an initial development, I will put a source repository
online.

Santiago

_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to