当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

Erlang commit patch

发表于: 2011-12-01   作者:bookjovi   来源:转载   浏览次数:
摘要:     向Erlang/OTP提交patch的流程:   1) 注册github的账号,在github上fork自己的Erlang/otp tree,然后在本地git clone一下github上的tree   2) 修改本地Erlang代码,然后compile, test,再提交到本地的git(git commit *

 

  向Erlang/OTP提交patch的流程:

  1) 注册github的账号,在github上fork自己的Erlang/otp tree,然后在本地git clone一下github上的tree

  2) 修改本地Erlang代码,然后compile, test,再提交到本地的git(git commit * -e),填写commit描述

  3) git push,把修改的patch同步到github上

  4) 发送email到erlang-patches@erlang.org,在邮件中写上commit描述和github的patch地址。

  5) 等待patch被merge到pu branch上,pu branch会做一些回归测试,以确定你的patch能通多正常测试。

  6) 等待patch被merge到master branch上。

 

  官方的文档在: https://github.com/erlang/otp/wiki/submitting-patches

 

   总体来说基本流程和向Linux kernel提交patch的流程相差不多,erlang中有个pu分支,用于回归测试,或叫做CI,持续整合,kernel中有next tree则没有太多的测试环节,next tree仅用于保证编译通过以及处理patch之间的confict。它们都基于email review。在一定程度上,kernel的patch要求严格的多,比如coding style,你需要用checkpatch.pl检查你的patch是否有coding style的问题,然后再找出你的patch的subsystem维护者,只有subsystem维护者才能merge你的patch,当然他也可以reject你的patch。

    Linux kernel的patch非常重视commit的描述,描述不准确或用词错误都会有人提出异议,还有需要注意的是patch的tag,如signed-off-by, reviewed-by, tested-by, reported-by。相比而言erlang则松散的多,谁让erlang的主要开发是Ericsson控制的呢!

 

    commit 531fd80c80e5fd6d7f649515e97ea5a68d8e6f9b

Author: Björn Gustavsson <bjorn@erlang.org>
Date:   Mon Nov 28 15:58:51 2011 +0100

    erl_process.c: Remove the redundant variable 'processes_busy'
    
    There is a static variable called 'processes_busy' in erl_process.c,
    which will be incremented but never used.
    
    To confuse things, there is also a global variable with the same
    name, but it it is only defined and used if BM_COUNTERS is defined.
    In erl_process.c, the global version of 'processes_busy' will be
    seen and incremented if BM_COUNTERS is defined.
    
    Remove the static version of 'processes_busy' in erl_process.c,
    but keep the global version if BM_COUNTERS is defined.
    
    Noticed-by: Jovi Zhang

diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index 84c0ded..6657fe6 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -225,10 +225,6 @@ typedef union {
 
 static ErtsAlignedSchedulerSleepInfo *aligned_sched_sleep_info;
 
-#ifndef BM_COUNTERS
-static int processes_busy;
-#endif
-
 Process**  process_tab;
 static Uint last_reductions;
 static Uint last_exact_reductions;
@@ -497,9 +493,6 @@ erts_init_process(int ncpu)
     p_serial_shift = erts_fit_in_bits(erts_max_processes - 1);
     p_serial_mask = ((~(~((Uint) 0) << proc_bits)) >> p_serial_shift);
     erts_process_tab_index_mask = ~(~((Uint) 0) << p_serial_shift);
-#ifndef BM_COUNTERS
-    processes_busy = 0;
-#endif

 

    Have fun!

Erlang commit patch

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
当前大多数图形引擎所支持的渲染原子图元为三角形。不过我们也知道,在建模软件之中,对象和动画很
场景: 不小心commit了一个不应该commit的修改,但是还没有push,想撤销那个commit 命令: a)git lo
commit工作过程 commit提交之前 Oracle在SGA撤销段缓冲区中生成撤销记录,撤销记录包含更新和删除表
提交报错如下: 在网上查了一下,原来是提交注释的问题。如果第一行注释写完后,回车,再加第二行注
今天小看了一下 Oracle 11.2.0.2 Patch, patch number: 10098816。 Patch最大的6G多。 杯具中. <
今天小看了一下 Oracle 11.2.0.2 Patch, patch number: 10098816。 Patch最大的6G多。 杯具中. <
标签: Navicat 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声
今天小看了一下 Oracle 11.2.0.2 Patch, patch number: 10098816。 Patch最大的6G多。 杯具中. <
本文围绕 .9.png 格式图片讨论以下两个话题: 1. 该格式图片的特点 2. 制作方式 一 .9.png 格式的文
今天小看了一下 Oracle 11.2.0.2 Patch, patch number: 10098816。 Patch最大的6G多。 杯具中. Ora
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号