Newbie questions about Pliant

Newbie questions about Pliant

Questions about the patch system

[I previously posted these questions on the Talk forum, but the Questions forum seems more appropriate. Sorry.]

I'm learning how to create and apply patches (thanks, Marcus), but since I'm still so new to using the system, I would like to make sure of a few things...
Message posted by cb4 on 2002/06/12 20:21:04
1) If a patch which I post to the PDI forum is undesirable for some reason, will
the "Reverse" button completely undo the patch on my machine and revert to my
original live and reference files?

2) What is the function of the "Recompute patch information" button?

3) I don't understand the system being used to come up with patch names.  Is there
any reason why I should not rename my patches with more meaningful names like
11jun02.patch instead of leaving them as something like 0288VPM.patch?
 
Thanks,
Charles
Message posted by maybe Hubert Tonneau on 2002/06/12 20:58:31
> 1) If a patch which I post to the PDI forum is undesirable for some reason, will
> the "Reverse" button completely undo the patch on my machine and revert to my
> original live and reference files?

Yes, it should, provided no conflict changes has appent to the files after the
patch has been built.

> 2) What is the function of the "Recompute patch information" button?

Some basic informations about the patch (how many files, when the last one
was modified) are stored in the forum database header record so that they
can be accessed fast when displaying the patch list (instead of having to
check real files on the disk each time). This button is recomputing these
informations, just in case they would be out of date.

> 3) I don't understand the system being used to come up with patch names.
> Is there any reason why I should not rename my patches with more meaningful
> names like 11jun02.patch instead of leaving them as something like 
> 0288VPM.patch?

There is a 'generate_id' function that provides keys with the following
properties:
. no same key will be provided twice
. the keys are ascending (any new key is higher in the lexicographic order)
I simply call this function to get any new forum debate key.
Message posted by boris_reitman on 2005/11/27 17:35:15
How do I submit a patch ? 
Message posted by hubert.tonneau on 2005/11/27 18:11:28
Well, Pliant is in the middle of a large change in two areas:
. the HTML/HTTP user interface and the Pliant browser interface
. the patching system and the Pliant text editor

I mean, the Pliant patching system is a classical one based on Pliant
implemented clones of 'diff' and 'patch'

The problem with such a mechanism is that it does not handle well the case
where the source tree changed since the patch was computed.
One reason of it is that a source code line does not have a stable ID,
so lines have to be matched according to their content, which is not a top
reliable process.

Since Pliant will contain a word processor, at some point, the source code
will be edited within the word processor, and it will give two key
advantages:
. the patching system will become trivial because the Pliant word processor
  relies on Pliant storage system, and this one is providing serialisation
  of the changes
. the source code will be rich text so it will be easy to have good looking
  documentation surrounding the source code
and a key disavantage:
. it will be mandatory to use Pliant text editor to benefit from the
  advantages

Since the Pliant text editor is not usable yet, what you can do in the short
term is to create a new discution in the Pliant patch forum, and upload the
various files you modified.
Patches will be computed on the fly.
The other possibility that helps deal with the different tree case is that
you create the patch locally, then upload it, but the configuration to get
that done is much more complicated to setup, so just forget it.


Message posted by boris_reitman on 2005/11/27 18:36:23
Will I be able to use a normal (my favorite) editor like VIM to 
edit/create pliant code ? 
Message posted by hubert.tonneau on 2005/11/27 18:42:45
Yes, but with some constrains.

It's a bit difficult to explain all the details at once, so let's deal with
this in 2006.