Patchwork [2,of,2,V2] contrib: add a minimal extension enabling obsolescence

login
register
mail settings
Submitter Pierre-Yves David
Date Jan. 22, 2013, 2:36 a.m.
Message ID <e9421379b2f2ba7e5941.1358822201@yamac.lan>
Download mbox | patch
Permalink /patch/705/
State Rejected
Headers show

Comments

Pierre-Yves David - Jan. 22, 2013, 2:36 a.m.
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david@logilab.fr>
# Date 1358821461 -3600
# Branch stable
# Node ID e9421379b2f2ba7e5941d4b0361897c897d9c5ec
# Parent  9f92ee2c969579d2c65cafaccffd938f82303982
contrib: add a minimal extension enabling obsolescence

Changeset evolution is still not ready for prime time but we made huge progress
toward it. The evolve extension is still necessary for daily usage client side,
but a very simple extension in contrib will helps on two topics:

1) setting up server:

   The evolve extension only adds new clients commands and UI message. It has no
   added value for a server. Moreover, the evolve extension still have a
   dependency to the debase extension that increase the amount of noise that an
   administrator need to activate on a server.

   Having this little extensions available in contrib will help people to setup
   server with obsolescence which is very valuable to find bug and collect
    future statistics.

2) testing:

   I expect a lot of third party codes and extensions to be incompatible with
   filtering. Having this extension around will help to setup simple
   instructions for testing them with this aspect of 2.5.
Matt Mackall - Jan. 23, 2013, 10:14 p.m.
On Tue, 2013-01-22 at 03:36 +0100, Pierre-Yves David wrote:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.david@logilab.fr>
> # Date 1358821461 -3600
> # Branch stable
> # Node ID e9421379b2f2ba7e5941d4b0361897c897d9c5ec
> # Parent  9f92ee2c969579d2c65cafaccffd938f82303982
> contrib: add a minimal extension enabling obsolescence
> 
> Changeset evolution is still not ready for prime time but we made huge progress
> toward it. The evolve extension is still necessary for daily usage client side,
> but a very simple extension in contrib will helps on two topics:
> 
> 1) setting up server:
> 
>    The evolve extension only adds new clients commands and UI message. It has no
>    added value for a server. Moreover, the evolve extension still have a
>    dependency to the debase extension that increase the amount of noise that an
>    administrator need to activate on a server.
> 
>    Having this little extensions available in contrib will help people to setup
>    server with obsolescence which is very valuable to find bug and collect
>     future statistics.
> 
> 2) testing:
> 
>    I expect a lot of third party codes and extensions to be incompatible with
>    filtering. Having this extension around will help to setup simple
>    instructions for testing them with this aspect of 2.5.

I'm afraid I don't get it. Why is this better than the evolve extension?
Because I don't have to download it onto my server to use it? Given that
I already have to do that to make my client go, that seems pretty minor.

This:

 [extensions]
 obs=/path/to/contrib/obs.py

is basically an equivalent but uglier version of the config switch I
rejected earlier.

Patch

diff --git a/contrib/obs.py b/contrib/obs.py
new file mode 100644
--- /dev/null
+++ b/contrib/obs.py
@@ -0,0 +1,10 @@ 
+'''enable experimental obsolescence feature of Mercurial
+
+OBSOLESCENCE IS AN EXPERIMENTAL FEATURE MAKE SURE YOU UNDERSTOOD THE INVOLVED
+CONCEPT BEFORE USING IT.
+
+For client side usages it is recommended to use the evolve extension for
+improved user interface.'''
+
+import mercurial.obsolete
+mercurial.obsolete._enabled = True