[PATCH 0 of 6 phases] Small initial series for the phases concept

Matt Mackall mpm at selenic.com
Sun Nov 6 12:01:51 CST 2011


On Fri, 2011-11-04 at 10:02 +0100, Pierre-Yves David wrote:
> Here the initial bits of phases code. This have been rewritten for use roots
> instead of heads. This first series does not to much.

These are queued, thanks. I added this:

# HG changeset patch
# User Matt Mackall <mpm at selenic.com>
# Date 1320602244 21600
# Node ID ccb7de21625a6a29af7dd02b82ef2dd15f6e79e2
# Parent  cf729af2696347d622dd2aec484d61c9371af613
phases: handle errors other than ENOENT appropriately

diff -r cf729af26963 -r ccb7de21625a mercurial/phases.py
--- a/mercurial/phases.py	Fri Nov 04 00:16:24 2011 +0100
+++ b/mercurial/phases.py	Sun Nov 06 11:57:24 2011 -0600
@@ -7,6 +7,7 @@
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
 
+import errno
 from node import nullid, bin, hex
 
 allphases = range(2)
@@ -24,8 +25,9 @@
                 roots[int(phase)].add(bin(nh))
         finally:
             f.close()
-    except IOError:
-        pass # default value are enough
+    except IOError, inst:
+        if inst.errno != errno.ENOENT:
+            raise
     return roots
 
 def writeroots(repo):

> The next series will be:
> 
>  * phases: add a moveboundary function to move phases boundaries 
>  * phases: set new commit in 1-phase
>  * phases: add rollback support 
>  * phases: gracefully handle strip  and unknown root

These are in the wrong order. After the second patch, rollback is
broken. So the rollback patch should come first.

> The one after should be:
> 
>  * phases: set content of added changegroup in 0-phase
>  * phases: set changeset pushed as 0-phase in local repo on push
>  * phases: set common changeset to public on pull 
> 
> The next might be:
> 
>     * phases: add a mutable boolean property on context
>     * phases: prevent rebase to rebase immutable changeset
>     * phases: phases: prevent mq to qimport immutable change
> 
> The one after will be related to phases.publish option and pushkey protocol
> 


-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list