[Prophesy] Questions from 40,000 feet
Daniel Phillips
phillips at bonn-fries.net
Fri Apr 26 03:11:48 EST 2002
On Friday 26 April 2002 18:02, David A. Desrosiers wrote:
> > is a closed list (i.e. only subscribers can post) and the archives are
> > also private. I am the owner (because I am a member of AUUG which is
> > hosting the list for us).
>
> Thank you for setting this up.
>
> I guess I'll start with some 40,000-foot topics:
>
> 1.) Modus of operation; "How do I edit, save, commit files?"
>
> 2.) What tools are (going to be) available?
>
> 3.) How can I convert <existing system> to Prophesy?
>
> 4.) Who do I send patches and requests to?
>
> There's a bunch of stuff Daniel and I have been talking about back
> and forth, so let's just continue that here, and let others jump in as they
> join the list.
Hi David, and welcome to the Prophesy Armchair Design Committee as well.
Let's try some 39,000 foot answers...
First, a general remark: Professy, err, Prophesy is our codename for this
*design* project. It will not necessarily be the name of the working system.
Prophesy stands for "Programmer's Phree Sourcecode Control" system. That
is, you read it as "Pro-F-S-C". OK. Now...
1.) Modus of operation; "How do I edit, save, commit files?"
I'll add to that: "how do I put a directory tree under management"? You do
this by pointing Prophesy at the root of the tree, saying "manage that", and
you are done. Prophesy will create a .prophesy file in the root of the tree.
You may not have or make hard links into the tree. You may not edit the tree
when Prophesy isn't running, or if you do, you will have to tell Prophesy
that you did that, and it will resync its database with the changes you made,
by traversing the whole tree and comparing to its database.
So back to your original question.
You edit with your favorite editor, you edit the source tree you're working
on. No changes at all from the case where you have no scm. You save as
always. We are using some dnotify magic to pick up the save and integrate
the resulting changes into the scm's database. We have two kinds of commit:
'edit-commit', which is just a normal save of an edit, and 'delta-commit',
which rolls up all 'edit-commits' into a single delta since the last'
delta-commit'. So we are using the rolled-up delta as the primary currency
of source code control, and we will use the edit deltas as an internal
cross-check, and for establishing a nice, friendly revert/unrevert facility
for the user.
2.) What tools are (going to be) available?
I'm not sure I understand this question fully. Right off, Prophesy will give
you the ability to control your *own* source, to track changes, revert
changes, unrevert, and generate deltas between any two versions of the source
tree. Furthermore, it will allow you to generate 'filtered' deltas,
including only selected deltas between two versions of the tree, for example,
all deltas within a given directory. It will give you the ability to make
experimental changes, and not only revert them, but unrevert them as well.
It will forget none of the changes you made unless told to.
You wll be able to annotate your changes either by inserting metadata in the
file you are editing, which the scm will remove later, or through a web
interface, exposing the directory tree with its deltas as an annotable object
(this object looks like, erm, a directory tree).
A script-level interface will be available, having the same power as the
editor and/or web interface. Or greater power, we shall see how it evolves.
3.) How can I convert <existing system> to Prophesy?
Point Prophesy at the root of the source tree and say 'manage that'. Then
jump into your editor and drive away.
4.) Who do I send patches and requests to?
Which patches? Patches to Prophesy? Not needed yet, this is the armchair
design committee. Requests for features come here.
--
Daniel
More information about the Prophesy
mailing list