Difference: LhSoftSVN (1 vs. 21)

Revision 212020-07-01 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="LhaasoSoftware"
Line: 6 to 6
  How to maintain your code in LHAASO SVN (LhSVNSimpleManual is a simple manual of using SVN)
Added:
>
>

SVN账号

无论是使用个人svn空间,还是查看LhSoft软件的svn空间,都需要一个账号,如果您还没有账号,请联系尹老师yina@sdu.edu.cn,并提供您的svn账号名称(建议和lxslc上的账号相同)和你希望的密码。开设账号以后密码无法自己更改,因此请不要使用简单密码。

SVN space

1. The space for the LHAASO software: LhSoft SVN Space
2. The SVN space for personal software developing: People SVN Space. twiki: LhPeople
  • Code developer are strongly advised to use the personal space, before publish your code official
 

查看SVN中的LHAASO软件结构

Line: 49 to 58
 

给成熟的package一个版本(tag)

  • When RawEvent in truck is mature, refer to the following example to make a tag
Changed:
<
<
>
>
 
      • 上述命令中,如果v1.0已存在,copy会将RawEvent目录自身和内容一起拷贝到v1.0“下面”去
      • 上述命令中,如果v1.0不存在,copy会将RawEvent目录拷贝成v1.0目录
Changed:
<
<
    • the version tag is v1.0, here
    • 注意上面的命令将把trunk/RawEvent中的内容,全盘拷贝到v1.0中去,v1.0中不包含RawEvent目录。
>
>
    • the version tag is v1.0, here
    • 注意上面的命令将把trunk/RawEvent中的内容,全盘拷贝到v1.0中去,v1.0中不包含RawEvent目录。
 

发布特定版本的的pacakge到官方空间

Changed:
<
<
  • 在某一个时刻,tag中某一个版本的RawEvent需要publish到官方SVN中去,
>
>
  • 在某一个时刻,tag中某一个版本的RawEvent需要publish到官方SVN中去,
 
  • 如果是第一次发布,使用简单的命令:
Changed:
<
<
>
>
 
    • 在一个临时文件夹中,创建source和target两个目录
Changed:
<
<
      • 在目录source中,svn co http://svn.lhaaso.ihep.ac.cn/People/zhang/tags/RawEvent/v2.1 并记住checkout的版本号例如113
      • 在目录target中,svn co http://svn.lhaaso.ihep.ac.cn/LodeStar/offline/trunk/DataModel/RawEvent/; 记住"最后修改版本号“,例如108
>
>
 
    • 将source中的RawEvent merge到target中的RawEvent中去:
Changed:
<
<
      • 在target/RawEvent目录中: svn merge -r 108:113 ../../source/RawEvent
      • 在target/RawEvent目录中: 上传merge结果: svn ci -m" new version"
>
>
      • 在target/RawEvent目录中: svn merge -r 108:113 ../../source/RawEvent
      • 在target/RawEvent目录中: 上传merge结果: svn ci -m" new version"
 
    • 注意,该方法只能在Source版本比Target版本新的情况下才可以使用。如果想返回到比Target更老的版本上去,请用最原始的办法,将Source中的文件一个一个copy到Target中去,覆盖Target文件,并且用svn delete删除Target中有而Source中没有的文件。然后再将Target上传

The command used by manager of SVN

  1. Create an account on the SVN reponsitory: people
Line: 77 to 86
 
Added:
>
>
 
    • htpasswd passwdpeople zhangs //add account xxxx in SVN area people, this command used to update the password too.
    • svn mkdir -m"test" http://svn.lhaaso.ihep.ac.cn/People/zhangs. //makedir, remember use the administration's account and password.
    • vi authpeople.conf //add the following two line at the bottom

Revision 202020-06-01 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="LhaasoSoftware"
Line: 76 to 76
 
Changed:
<
<
>
>
 
    • htpasswd passwdpeople zhangs //add account xxxx in SVN area people, this command used to update the password too.
    • svn mkdir -m"test" http://svn.lhaaso.ihep.ac.cn/People/zhangs. //makedir, remember use the administration's account and password.
    • vi authpeople.conf //add the following two line at the bottom

Revision 192020-06-01 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="LhaasoSoftware"
Line: 73 to 73
 
    • 注意,该方法只能在Source版本比Target版本新的情况下才可以使用。如果想返回到比Target更老的版本上去,请用最原始的办法,将Source中的文件一个一个copy到Target中去,覆盖Target文件,并且用svn delete删除Target中有而Source中没有的文件。然后再将Target上传

The command used by manager of SVN

  1. Create an account on the SVN reponsitory: people
Changed:
<
<
>
>
 
    • cd /var/www/svn
Changed:
<
<
    • htpasswd passwdpeople xxxxxx //add account xxxx in SVN area people, this command used to update the password too.
    • vi authpeople.conf //add the read/write for the account.
    • svn mkdir -m"test" http://svn.lhaaso.ihep.ac.cn/People/xxxxx. //makedir, remember use the administration's account and password.
>
>
    • htpasswd passwdpeople zhangs //add account xxxx in SVN area people, this command used to update the password too.
    • svn mkdir -m"test" http://svn.lhaaso.ihep.ac.cn/People/zhangs. //makedir, remember use the administration's account and password.
    • vi authpeople.conf //add the following two line at the bottom
      • [/zhangs]
      • zhangs = rw

  1. for LodeStar Area
 
    • htpasswd passwd xxxxxx //add account xxxx in SVN area LodeStar
    • vi accesstt.conf //add the read/write for the account.

Revision 182020-05-27 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="LhaasoSoftware"
Line: 43 to 43
 
Changed:
<
<
>
>
 
  • 继续修改RawEvent中的code,并随时通过svn commit -m"xxx"将修改同步到SVN
  • 也可以删除本地RawEvent文件夹,在其他地方checkout,修改并上传SVN
  • 参照 LhSVNSimpleManual 了解如何使用svn命令同步当地和svn文件。

Revision 172020-04-17 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="LhaasoSoftware"
Line: 66 to 66
 
  • 如果是第二次及以后更新官方版本,使用以下命令进行发布( 方法来自张恒英,黄文昊):
    • 在一个临时文件夹中,创建source和target两个目录
      • 在目录source中,svn co http://svn.lhaaso.ihep.ac.cn/People/zhang/tags/RawEvent/v2.1 并记住checkout的版本号例如113
Changed:
<
<
      • 在目录target中,svn co http://svn.lhaaso.ihep.ac.cn/LodeStar/offline/trunk/DataModel/RawEvent/; 记住本版号,例如108
>
>
      • 在目录target中,svn co http://svn.lhaaso.ihep.ac.cn/LodeStar/offline/trunk/DataModel/RawEvent/; 记住"最后修改版本号“,例如108
 
    • 将source中的RawEvent merge到target中的RawEvent中去:
      • 在target/RawEvent目录中: svn merge -r 108:113 ../../source/RawEvent
      • 在target/RawEvent目录中: 上传merge结果: svn ci -m" new version"
Added:
>
>
    • 注意,该方法只能在Source版本比Target版本新的情况下才可以使用。如果想返回到比Target更老的版本上去,请用最原始的办法,将Source中的文件一个一个copy到Target中去,覆盖Target文件,并且用svn delete删除Target中有而Source中没有的文件。然后再将Target上传
 

The command used by manager of SVN

  1. Create an account on the SVN reponsitory: people
    • logon to lxslc6.ihep.ac.cn

Revision 162020-04-16 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="LhaasoSoftware"
Line: 52 to 52
 
Added:
>
>
      • 上述命令中,如果v1.0已存在,copy会将RawEvent目录自身和内容一起拷贝到v1.0“下面”去
      • 上述命令中,如果v1.0不存在,copy会将RawEvent目录拷贝成v1.0目录
 
    • the version tag is v1.0, here
    • 注意上面的命令将把trunk/RawEvent中的内容,全盘拷贝到v1.0中去,v1.0中不包含RawEvent目录。
  • When want to check out the tagged version, use the following

Revision 152020-04-14 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="LhaasoSoftware"
Line: 32 to 32
 
  • 个人空间和官方空间的结构和pacakge之间的关系,如下图
SVNstructure.png

使用SVN个人空间协助pacakge开发

Changed:
<
<
  • 作为一个package的设计/维护者,例如zhang,如何在svn的帮助下设计和发布你的pacakge ( LhPackage
  • 假设zhang将要设计一个名为RawEvent的pacakge。注意设计pacakge名字的时候,应遵守以下约定,以利于合作组内交流以及使用者辨认其功能。
    • The name of package should be easy recognized, such as Km2aSimulation, or the easy recognized abbreviation, such as Km2aSim
    • the service package should be xxxxxxSvc
    • the tool package should be xxxxxxTool
  • 和manager沟通,确定RawEvent存放位置,例如:LodeStar/offline/trunk/DataModel/RawEvent/
  • 如果zhang还没有svn账号,向manager索要一个svn账号,manager同时为zhang建立和打开如下文件夹的读写权限:
    • LodeStar /offline/trunk/DataModel/RawEvent/
    • People/zhang/
  • 登录lxslc6.ihep.ac.cn,开始设计你的RawEvent
    • 使用 cmt create RawEvent v0.0 产生一个RawEvent的基本目录,为了使用cmt,可以source /afs/ihep.ac.cn/soft/LHAASO/LodeStar-SLC6/Pre-Release/L19-Pre1_v1r1/setup.sh
    • 或者你已经有了RawEvent Package, 在执行下一步import之前,将RawEvent中make产生的所有文件和文件夹清理干净: cmt make clean. 这些二次产生的文件不应上传到svn上,造成svn负担。
  • 在RawEvent上级目录中执行 svn import ./RawEvent http://svn.lhaaso.ihep.ac.cn/People/zhang/RawEvent/. -m" first time import my RawEvent to SVN"
  • 不过此时的./RawEvent不是一个和svn建立的联系的文件夹,你需要删除./RawEvent
  • 然后参照例子或者说明书开始设计RawEvent,阅读说明书13.3节“coding convention”, 如何规范化程序编写。
  • 在设计程序的过程中的任何时候,你可以使用以下命令将你编写的新文件备案给svn, 注意避免将任何编译过程中产生的任何二次文件备案给svn
    • svn add src/xxxxx.cc
    • 对于不小心备案的文件,可以使用svn delete xxx清除备案。
  • 在每天工作结束后,可以使用以下命令将所有备案的文件上传到svn上:
    • 在RawEvent目录下: svn commit -m "say somthing to this upload"
  • 第二天开始工作时,可以继续在原来的RawEvent目录中继续你的工作,也可以在一个新的目录中:
>
>
  • LHAASO软件的开发者,例如zhang,将要设计一个名为RawEvent的pacakge。那么如何在svn的帮助下设计和发布你的pacakge

pacakge开发

  • 参看 LhSoft , 建立LHAASO软件环境,使用 cmt create RawEvent v0.0 产生一个RawEvent的基本目录
  • 参看 LhPackage ,了解设计pacakge的基本规则
  • 开发程序代码

代码导入SVN

  • 代码开发一定程度以后,可以导入SVN
  • 导入之前,将RawEvent中make产生的所有文件和文件夹清理干净: cmt make clean.
  • 在RawEvent上级目录中执行 svn import ./RawEvent http://svn.lhaaso.ihep.ac.cn/People/zhang/trunk/RawEvent/. -m" first time import my RawEvent to SVN"
  • 虽然导入成功后,SVN中出现了该RawEvent的内容,但是此时的./RawEvent并不是一个和svn建立了联系的文件夹,你需要
  • 继续修改RawEvent中的code,并随时通过svn commit -m"xxx"将修改同步到SVN
  • 也可以删除本地RawEvent文件夹,在其他地方checkout,修改并上传SVN
  • 参照 LhSVNSimpleManual 了解如何使用svn命令同步当地和svn文件。
 

给成熟的package一个版本(tag)

Changed:
<
<
>
>
 

发布特定版本的的pacakge到官方空间

Changed:
<
<
在某一个时刻,tag中某一个版本的RawEvent需要publish到官方SVN中去,可以使用以下命令进行发布( 方法来自张恒英,黄文昊):
>
>
  • 在某一个时刻,tag中某一个版本的RawEvent需要publish到官方SVN中去,
  • 如果是第一次发布,使用简单的命令:
  • 如果是第二次及以后更新官方版本,使用以下命令进行发布( 方法来自张恒英,黄文昊):
 
  • 在一个临时文件夹中,创建source和target两个目录
Changed:
<
<
>
>
      • 在目录source中,svn co http://svn.lhaaso.ihep.ac.cn/People/zhang/tags/RawEvent/v2.1 并记住checkout的版本号例如113
      • 在目录target中,svn co http://svn.lhaaso.ihep.ac.cn/LodeStar/offline/trunk/DataModel/RawEvent/; 记住本版号,例如108
 
  • 将source中的RawEvent merge到target中的RawEvent中去:
Changed:
<
<
    • 在target/RawEvent目录中: svn merge -r 108:113 ../../source/RawEvent
    • 在target/RawEvent目录中: 上传merge结果: svn ci -m" new version"
>
>
      • 在target/RawEvent目录中: svn merge -r 108:113 ../../source/RawEvent
      • 在target/RawEvent目录中: 上传merge结果: svn ci -m" new version"
 

The command used by manager of SVN

  1. Create an account on the SVN reponsitory: people
    • logon to lxslc6.ihep.ac.cn

Revision 142020-04-14 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="LhaasoSoftware"

Using SVN to maintain your code

Changed:
<
<
Step by step, shows how to maintain your code in LHAASO SVN (LhSVNSimpleManual)
>
>
How to maintain your code in LHAASO SVN (LhSVNSimpleManual is a simple manual of using SVN)
 
Changed:
<
<

LHAASO software 结构

>
>

查看SVN中的LHAASO软件结构

 
    • 其中的offline包含了数据分析所需要的所有package ( LhPackage
    • offline中包含三个文件夹,trunck,tags,branches
      • trunk中存储了LhSoft的整个目录结构,和所有package的多个历史版本,是pacakge阶段性发展到一定程度后由开发者copy过来的。
      • tags是trunk目录结构在某一个时间的快照,这个快照中的pacakge之间经过了自洽性检验,整个目录结构是一个可以发布的LhSoft版本。
      • branches和trunk是相同的功能,目前还没有使用的计划
Added:
>
>

组建个人分析程序三部曲

  1. With the official release, you have most packages to build up your analysis code, after setup the environment as in LhSoft
  2. If you still need some package which is NEWER THAN or NOT EXIST YET in the official release, but in other developer's SVN space
  3. Develop your own package/code to compose your analysis chain (see below).
 

个人空间和官方空间

  • LHAASO合作组建了了两个SVN空间,分别为个人空间People和官方空间LodeStar,内部目录如下图所示
Changed:
<
<
    • People为大家提供个人自由的使用空间,在trunk中记录个人所设计package的每日更新,例如早上checkout,编辑后晚上checkin
    • Package阶段性成熟后,copy到tags中去,并存为唯一的版本号为名的目录中,因此随着发展会有多个版本目录存在。
>
>
    • People为大家提供个人自由的使用空间,在trunk中记录个人所设计package的每日更新,例如早上checkout,编辑后晚上checkin。(方法下面详述)
    • Package阶段性成熟后,copy到tags中去,并存为唯一的版本号为名的目录中,因此随着发展会有多个版本目录存在。(方法下面详述)
 
    • 根据官方需要,将tags中某个版本的package,copy到官方空间LodeStar/offline/trunk的指定目录下(方法下面详述)
  • 官方空间
    • LodeStar /offline/trunk目录树是完整的LhSoft目录结构,packages从所有的code developers的tags中收集,但是不同的pacakge之间可能存在矛盾。
    • LodeStar /offline/tags存储从trunk中拷贝过来,经过验证可以运行的全部目录结构(只有管理员有权限),用于发布官方版本.
Changed:
<
<
  • 个人空间和官方空间的结构和pacakge之间的关系,如下图
>
>
  • 个人空间和官方空间的结构和pacakge之间的关系,如下图
 SVNstructure.png
Changed:
<
<

组建个人可执行分析程序

  1. With the official release, you have most packages to build up your analysis code, after setup the environment as in LhSoft
  2. If you still need some package which is NEWER THAN or NOT EXIST YET in the official release, but in other developer's SVN space
  3. Develop your own package/code to compose your analysis chain (see below).

管理和发布个人pacakge

1. 个人pacakge的版本控制

2.发布指定版本的package到官方空间中去

在某一个时刻,tag中某一个版本的RawEvent需要publish到官方SVN中去,可以使用以下命令进行发布( 方法来自张恒英,黄文昊):

使用SVN协助pacakge开发

>
>

使用SVN个人空间协助pacakge开发

 
  • 作为一个package的设计/维护者,例如zhang,如何在svn的帮助下设计和发布你的pacakge ( LhPackage
  • 假设zhang将要设计一个名为RawEvent的pacakge。注意设计pacakge名字的时候,应遵守以下约定,以利于合作组内交流以及使用者辨认其功能。
    • The name of package should be easy recognized, such as Km2aSimulation, or the easy recognized abbreviation, such as Km2aSim
Line: 79 to 57
 
  • 第二天开始工作时,可以继续在原来的RawEvent目录中继续你的工作,也可以在一个新的目录中:
Added:
>
>

给成熟的package一个版本(tag)

发布特定版本的的pacakge到官方空间

在某一个时刻,tag中某一个版本的RawEvent需要publish到官方SVN中去,可以使用以下命令进行发布( 方法来自张恒英,黄文昊):

 

The command used by manager of SVN

  1. Create an account on the SVN reponsitory: people
    • logon to lxslc6.ihep.ac.cn

Revision 132020-04-14 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="LhaasoSoftware"

Using SVN to maintain your code

Changed:
<
<
Step by step, shows how to maintain your code in LHAASO SVN
>
>
Step by step, shows how to maintain your code in LHAASO SVN (LhSVNSimpleManual)
 

LHAASO software 结构

  • LHAASO软件的目录结构和对应开发者,参见 LhSoftPerson
Line: 16 to 16
 
      • branches和trunk是相同的功能,目前还没有使用的计划

个人空间和官方空间

Changed:
<
<
  • LHAASO合作组建了了两个SVN空间,分别为个人空间People,目录结构由个人决定,和官方空间LodeStar,内部目录结构由官方确定
    • People为大家提供个人自由的使用空间,记录个人所设计package的日常更新: http://svn.lhaaso.ihep.ac.cn/People/<your account name>/
    • package阶段性成熟后,publish到官方空间LodeStar/offline/trunk指定目录下(下面详述)
>
>
  • LHAASO合作组建了了两个SVN空间,分别为个人空间People和官方空间LodeStar,内部目录如下图所示
    • People为大家提供个人自由的使用空间,在trunk中记录个人所设计package的每日更新,例如早上checkout,编辑后晚上checkin
    • Package阶段性成熟后,copy到tags中去,并存为唯一的版本号为名的目录中,因此随着发展会有多个版本目录存在。
    • 根据官方需要,将tags中某个版本的package,copy到官方空间LodeStar/offline/trunk的指定目录下(方法下面详述)
 
  • 官方空间
Changed:
<
<
    • LodeStar /offline/trunk目录树是完整的LhSoft目录结构,但是所有最新版本合并起来并不一定是可以运行的LhSoft版本。
    • LodeStar /offline/tags目录用于存储从trunk中拷贝过来,经过验证可以运行的全部目录结构(只有管理员有权限),用于预发布和发展.
    • Check out package from LodeStar. Check LodeStar to know the dirctory in which the package is
>
>
    • LodeStar /offline/trunk目录树是完整的LhSoft目录结构,packages从所有的code developers的tags中收集,但是不同的pacakge之间可能存在矛盾。
    • LodeStar /offline/tags存储从trunk中拷贝过来,经过验证可以运行的全部目录结构(只有管理员有权限),用于发布官方版本.
  • 个人空间和官方空间的结构和pacakge之间的关系,如下图
SVNstructure.png
 

组建个人可执行分析程序

  1. With the official release, you have most packages to build up your analysis code, after setup the environment as in LhSoft
  2. If you still need some package which is NEWER THAN or NOT EXIST YET in the official release, but in other developer's SVN space
Line: 33 to 34
 

管理和发布个人pacakge

1. 个人pacakge的版本控制

Added:
>
>
 
Line: 44 to 46
 

2.发布指定版本的package到官方空间中去

在某一个时刻,tag中某一个版本的RawEvent需要publish到官方SVN中去,可以使用以下命令进行发布( 方法来自张恒英,黄文昊):

Added:
>
>
 
Line: 82 to 85
 
Changed:
<
<
    • htpasswd passwdpeople xxxxxx //add account xxxx in SVN area people
>
>
    • htpasswd passwdpeople xxxxxx //add account xxxx in SVN area people, this command used to update the password too.
 
    • vi authpeople.conf //add the read/write for the account.
Added:
>
>
 
    • htpasswd passwd xxxxxx //add account xxxx in SVN area LodeStar
    • vi accesstt.conf //add the read/write for the account.
Line: 96 to 100
 
META FILEATTACHMENT attachment="Structure.xlsx" attr="" comment="" date="1577289605" name="Structure.xlsx" path="Structure.xlsx" size="15565" user="zhucg" version="2"
META FILEATTACHMENT attachment="svn_meger_and_commit.docx" attr="" comment="" date="1578413385" name="svn_meger_and_commit.docx" path="svn_meger_and_commit.docx" size="104010" user="zhucg" version="1"
Added:
>
>
META FILEATTACHMENT attachment="SVNstructure.png" attr="" comment="" date="1586832817" name="SVNstructure.png" path="SVNstructure.png" size="68127" user="zhucg" version="1"
 
META TOPICMOVED by="zhucg" date="1586482534" from="Main.LhSoftSVN" to="LHAASO.LhSoftSVN"

Revision 122020-04-13 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="LhaasoSoftware"
Line: 15 to 15
 
      • tags是trunk目录结构在某一个时间的快照,这个快照中的pacakge之间经过了自洽性检验,整个目录结构是一个可以发布的LhSoft版本。
      • branches和trunk是相同的功能,目前还没有使用的计划
Changed:
<
<

The command used by LhSoft code developer

1. LhSoft 的官方SVN空间和私人SVN空间

  • LHAASO合作组建了了两个SVN空间,分别为私人空间People,内部目录结构有个人决定,和官方空间LodeStar,内部目录结构由官方确定
  • People为大家提供个人自由的使用空间,记录个人所设计package的日常更新。
  • package阶段性成熟后,copy到官方空间LodeStar/offline/trunk指定目录下(下面详述)
>
>

个人空间和官方空间

  • LHAASO合作组建了了两个SVN空间,分别为个人空间People,目录结构由个人决定,和官方空间LodeStar,内部目录结构由官方确定
    • People为大家提供个人自由的使用空间,记录个人所设计package的日常更新: http://svn.lhaaso.ihep.ac.cn/People/<your account name>/
    • package阶段性成熟后,publish到官方空间LodeStar/offline/trunk指定目录下(下面详述)
  • 官方空间
 
  • LodeStar /offline/trunk目录树是完整的LhSoft目录结构,但是所有最新版本合并起来并不一定是可以运行的LhSoft版本。
Changed:
<
<
  • LodeStar /offline/tags目录用于存储从trunk中拷贝过来,经过验证可以运行的全部目录结构(只有管理员有权限),用于预发布和发布
>
>

组建个人可执行分析程序

  1. With the official release, you have most packages to build up your analysis code, after setup the environment as in LhSoft
  2. If you still need some package which is NEWER THAN or NOT EXIST YET in the official release, but in other developer's SVN space
  3. Develop your own package/code to compose your analysis chain (see below).

管理和发布个人pacakge

1. 个人pacakge的版本控制

2.发布指定版本的package到官方空间中去

 
Changed:
<
<

2. 使用个人SVN空间追踪package更新

>
>
在某一个时刻,tag中某一个版本的RawEvent需要publish到官方SVN中去,可以使用以下命令进行发布( 方法来自张恒英,黄文昊):

使用SVN协助pacakge开发

 
  • 作为一个package的设计/维护者,例如zhang,如何在svn的帮助下设计和发布你的pacakge ( LhPackage
  • 假设zhang将要设计一个名为RawEvent的pacakge。注意设计pacakge名字的时候,应遵守以下约定,以利于合作组内交流以及使用者辨认其功能。
    • The name of package should be easy recognized, such as Km2aSimulation, or the easy recognized abbreviation, such as Km2aSim
Line: 49 to 76
 
  • 第二天开始工作时,可以继续在原来的RawEvent目录中继续你的工作,也可以在一个新的目录中:
Deleted:
<
<

3. 将个人SVN空间内的package,copy到官方空间中去

  • 在某一个时刻,People中的RawEvent可以对外使用,准备放到LodeStar中去,可以使用以下命令进行发布( 方法来自张恒英,黄文昊):
  • 在一个临时文件夹中,创建source和target两个目录
  • 在目录source中,svn co http://svn.lhaaso.ihep.ac.cn/People/zhang/RawEvent/ 并记住checkout的版本号例如113
  • 在目录target中,svn co http://svn.lhaaso.ihep.ac.cn/LodeStar/offline/trunk/DataModel/RawEvent/; 记住本版号,例如108
  • 将source中的RawEvent merge到target中的RawEvent中去:
    • 在target/RawEvent目录中
    • svn merge -r 108:113 ../../source/RawEvent
  • 在target/RawEvent目录中,上传修改: svn ci -m" new version"
  • 发布下一个版本时,再次重复执行上述命令。

The command used by user

  1. Check out packages from LodeStar SVN, same address to view on web
  2. Check out packages from user SVN, same address to view on web
  3. Make a tag and checkout a tag
 

The command used by manager of SVN

  1. Create an account on the SVN reponsitory: people
Changed:
<
<
    • htpasswd passwdpeople zhucg //add account zhucg into password file passwdpeople.
>
>
    • htpasswd passwdpeople xxxxxx //add account xxxx in SVN area people
 
    • vi authpeople.conf //add the read/write for the account.
Changed:
<
<
  1. Config SVN to prevent check in .o, .make, .so, .a, .in, etc. files into SVN. Now only skip .o, .so, .a files.
>
>
    • htpasswd passwd xxxxxx //add account xxxx in SVN area LodeStar
    • vi accesstt.conf //add the read/write for the account.
  -- Chengguang ZHU - 2019-12-18

Revision 112020-04-10 - ZhuChengguang

Line: 1 to 1
Changed:
<
<
META TOPICPARENT name="DataAnalysisLHAASO"
>
>
META TOPICPARENT name="LhaasoSoftware"
 

Using SVN to maintain your code

Line: 84 to 84
 
    • vi authpeople.conf //add the read/write for the account.
  1. Config SVN to prevent check in .o, .make, .so, .a, .in, etc. files into SVN. Now only skip .o, .so, .a files.
Changed:
<
<
-- Chengguang ZHU - 2019-12-18
>
>
-- Chengguang ZHU - 2019-12-18
 

Comments

Line: 92 to 92
 
META FILEATTACHMENT attachment="Structure.xlsx" attr="" comment="" date="1577289605" name="Structure.xlsx" path="Structure.xlsx" size="15565" user="zhucg" version="2"
META FILEATTACHMENT attachment="svn_meger_and_commit.docx" attr="" comment="" date="1578413385" name="svn_meger_and_commit.docx" path="svn_meger_and_commit.docx" size="104010" user="zhucg" version="1"
Added:
>
>
META TOPICMOVED by="zhucg" date="1586482534" from="Main.LhSoftSVN" to="LHAASO.LhSoftSVN"

Revision 102020-04-09 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="DataAnalysisLHAASO"
Line: 9 to 9
 

LHAASO software 结构

Changed:
<
<
    • 其中的offline包含了数据分析所需要的所有package (什么是pacakge
>
>
    • 其中的offline包含了数据分析所需要的所有package ( LhPackage
 
    • offline中包含三个文件夹,trunck,tags,branches
      • trunk中存储了LhSoft的整个目录结构,和所有package的多个历史版本,是pacakge阶段性发展到一定程度后由开发者copy过来的。
      • tags是trunk目录结构在某一个时间的快照,这个快照中的pacakge之间经过了自洽性检验,整个目录结构是一个可以发布的LhSoft版本。
Line: 24 to 24
 
  • LodeStar /offline/tags目录用于存储从trunk中拷贝过来,经过验证可以运行的全部目录结构(只有管理员有权限),用于预发布和发布

2. 使用个人SVN空间追踪package更新

Changed:
<
<
  • 作为一个package的设计/维护者,例如zhang,如何在svn的帮助下设计和发布你的pacakge (什么是pacakge
>
>
  • 作为一个package的设计/维护者,例如zhang,如何在svn的帮助下设计和发布你的pacakge ( LhPackage
 
  • 假设zhang将要设计一个名为RawEvent的pacakge。注意设计pacakge名字的时候,应遵守以下约定,以利于合作组内交流以及使用者辨认其功能。
    • The name of package should be easy recognized, such as Km2aSimulation, or the easy recognized abbreviation, such as Km2aSim
    • the service package should be xxxxxxSvc

Revision 92020-04-08 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="DataAnalysisLHAASO"
Line: 6 to 6
  Step by step, shows how to maintain your code in LHAASO SVN
Changed:
<
<

LHAASO SVN view via Web (the last revision)

>
>

LHAASO software 结构

 
    • 其中的offline包含了数据分析所需要的所有package (什么是pacakge
    • offline中包含三个文件夹,trunck,tags,branches
Changed:
<
<
      • trunk中的每个package都存储在trunk目录树中的某个位置,设计者每天结束工作后都会把package更新上传到trunck中的相应pacakge目录中,因此最新的package通常是不成熟的,或者不能编译成功的。
      • tags中的目录结构和trunk是一样的,区别是pacakge中多了一层版本目录,每一个版本都是trunck中的pacakge在某一时刻发展成熟后copy而成的
>
>
      • trunk中存储了LhSoft的整个目录结构,和所有package的多个历史版本,是pacakge阶段性发展到一定程度后由开发者copy过来的。
      • tags是trunk目录结构在某一个时间的快照,这个快照中的pacakge之间经过了自洽性检验,整个目录结构是一个可以发布的LhSoft版本。
 
      • branches和trunk是相同的功能,目前还没有使用的计划
Deleted:
<
<
  • 当前LHAASO software svn中的目录结构和计划整理的结构列在如下文件中
 

The command used by LhSoft code developer

Changed:
<
<
  1. LHAASO合作组建了了两个SVN目录,分别为PeopleLodeStar
    • People为大家提供个人自由的使用空间,记录个人所设计的package每日变化的记录场所。发展成熟后的pacakge,copy到LodeStar中的trunk中相应目录下(下面详述)
    • LodeStar 中的trunk目录树是完整的LodeStar目录结构,存储由Developer拷贝进来的最新的成熟的pacakge版本,但是所有最新版本合并起来并不一定是可以运行的LodeStar版本。
    • LodeStar 中的tags目录用于存储每一个预发布或者正式发布的LodeStar版本(管理员有权限)
  2. 作为一个package的设计/维护者,例如zhang,如何在svn的帮助下设计和发布你的pacakge (什么是pacakge
>
>

1. LhSoft 的官方SVN空间和私人SVN空间

  • LHAASO合作组建了了两个SVN空间,分别为私人空间People,内部目录结构有个人决定,和官方空间LodeStar,内部目录结构由官方确定
  • People为大家提供个人自由的使用空间,记录个人所设计package的日常更新。
  • package阶段性成熟后,copy到官方空间LodeStar/offline/trunk指定目录下(下面详述)
  • LodeStar /offline/trunk目录树是完整的LhSoft目录结构,但是所有最新版本合并起来并不一定是可以运行的LhSoft版本。
  • LodeStar /offline/tags目录用于存储从trunk中拷贝过来,经过验证可以运行的全部目录结构(只有管理员有权限),用于预发布和发布

2. 使用个人SVN空间追踪package更新

  • 作为一个package的设计/维护者,例如zhang,如何在svn的帮助下设计和发布你的pacakge (什么是pacakge
 
    • 假设zhang将要设计一个名为RawEvent的pacakge。注意设计pacakge名字的时候,应遵守以下约定,以利于合作组内交流以及使用者辨认其功能。
      • The name of package should be easy recognized, such as Km2aSimulation, or the easy recognized abbreviation, such as Km2aSim
      • the service package should be xxxxxxSvc
Line: 46 to 49
 
    • 第二天开始工作时,可以继续在原来的RawEvent目录中继续你的工作,也可以在一个新的目录中:
Changed:
<
<
  1. 在某一个时刻,SVN People中的RawEvent可以对外使用,准备放到LodeStar中去,可以使用以下命令进行发布( 方法来自张恒英,黄文昊):
>
>

3. 将个人SVN空间内的package,copy到官方空间中去

  • 在某一个时刻,People中的RawEvent可以对外使用,准备放到LodeStar中去,可以使用以下命令进行发布( 方法来自张恒英,黄文昊):
  • 在一个临时文件夹中,创建source和target两个目录
 
Changed:
<
<
>
>
 
    • 将source中的RawEvent merge到target中的RawEvent中去:
      • 在target/RawEvent目录中
      • svn merge -r 108:113 ../../source/RawEvent
    • 在target/RawEvent目录中,上传修改: svn ci -m" new version"
Changed:
<
<
    • 过了一段时间,你的RawEvent进行了更新,并且上传到了svn上,那么再次可以发布下一个版本,再次执行上述命令。
>
>
  • 发布下一个版本时,再次重复执行上述命令。
 

The command used by user

  1. Check out packages from LodeStar SVN, same address to view on web

Revision 82020-01-07 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="DataAnalysisLHAASO"
Line: 18 to 18
 

The command used by LhSoft code developer

  1. LHAASO合作组建了了两个SVN目录,分别为PeopleLodeStar
Changed:
<
<
    • People为大家提供个人自由的使用空间,记录个人所设计的package每日变化的记录场所。发展成熟后的pacakge,copy到LodeStar中的trunk中相应目录下(下面详述)
    • LodeStar中的trunk目录树是完整的LodeStar目录结构,存储由Developer拷贝进来的最新的成熟的pacakge版本,但是所有最新版本合并起来并不一定是可以运行的LodeStar版本。
    • LodeStar中的tags目录用于存储每一个预发布或者正式发布的LodeStar版本(管理员有权限)
>
>
    • People为大家提供个人自由的使用空间,记录个人所设计的package每日变化的记录场所。发展成熟后的pacakge,copy到LodeStar中的trunk中相应目录下(下面详述)
    • LodeStar 中的trunk目录树是完整的LodeStar目录结构,存储由Developer拷贝进来的最新的成熟的pacakge版本,但是所有最新版本合并起来并不一定是可以运行的LodeStar版本。
    • LodeStar 中的tags目录用于存储每一个预发布或者正式发布的LodeStar版本(管理员有权限)
 
  1. 作为一个package的设计/维护者,例如zhang,如何在svn的帮助下设计和发布你的pacakge (什么是pacakge
    • 假设zhang将要设计一个名为RawEvent的pacakge。注意设计pacakge名字的时候,应遵守以下约定,以利于合作组内交流以及使用者辨认其功能。
      • The name of package should be easy recognized, such as Km2aSimulation, or the easy recognized abbreviation, such as Km2aSim
Line: 46 to 46
 
    • 第二天开始工作时,可以继续在原来的RawEvent目录中继续你的工作,也可以在一个新的目录中:
Changed:
<
<
>
>
  1. 在某一个时刻,SVN People中的RawEvent可以对外使用,准备放到LodeStar中去,可以使用以下命令进行发布( 方法来自张恒英,黄文昊):
 
    • 过了一段时间,你的RawEvent进行了更新,并且上传到了svn上,那么再次可以发布下一个版本,再次执行上述命令。
Changed:
<
<
>
>

The command used by user

  1. Check out packages from LodeStar SVN, same address to view on web
  2. Check out packages from user SVN, same address to view on web
 
  1. Make a tag and checkout a tag
Line: 61 to 68
 
    • When you want to check out the tag version, use the following
Changed:
<
<

The command used by user

  1. Check out packages from LodeStar SVN, same address to view on web
  2. Check out packages from user SVN, same address to view on web
>
>
 

The command used by manager of SVN

  1. Create an account on the SVN reponsitory: people
    • logon to lxslc6.ihep.ac.cn
Line: 84 to 85
 
<--/commentPlugin-->

META FILEATTACHMENT attachment="Structure.xlsx" attr="" comment="" date="1577289605" name="Structure.xlsx" path="Structure.xlsx" size="15565" user="zhucg" version="2"
Added:
>
>
META FILEATTACHMENT attachment="svn_meger_and_commit.docx" attr="" comment="" date="1578413385" name="svn_meger_and_commit.docx" path="svn_meger_and_commit.docx" size="104010" user="zhucg" version="1"

Revision 72020-01-05 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="DataAnalysisLHAASO"
Line: 31 to 31
 
      • LodeStar /offline/trunk/DataModel/RawEvent/
      • People/zhang/
    • 登录lxslc6.ihep.ac.cn,开始设计你的RawEvent
Changed:
<
<
      • 如果是从0开始写RawEvent pacakge,那么在某一目录下,例如myArea,使用 cmt create RawEvent v0.0 产生一个RawEvent的基本目录,为了使用cmt,可以source /afs/ihep.ac.cn/soft/LHAASO/LodeStar-SLC6/Pre-Release/L19-Pre1_v1r1/setup.sh
      • 或者你已经在myArea下有了RawEvent Package, 在执行下一步import之前,将RawEvent中make产生的所有文件和文件夹清理干净: cmt make clean. 这些二次产生的文件不应上传到svn上,造成svn负担。
    • 在myArea中执行 svn import ./RawEvent http://svn.lhaaso.ihep.ac.cn/People/zhang/RawEvent/. -m" first time import my RawEvent to SVN"
    • 不过此时的./RawEvent不是一个和svn建立的联系的文件夹,你需要删除./RawEvent,然后下载一个刚才的上传: svn checkout ./RawEvent http://svn.lhaaso.ihep.ac.cn/People/zhang/RawEvent/
>
>
      • 使用 cmt create RawEvent v0.0 产生一个RawEvent的基本目录,为了使用cmt,可以source /afs/ihep.ac.cn/soft/LHAASO/LodeStar-SLC6/Pre-Release/L19-Pre1_v1r1/setup.sh
      • 或者你已经有了RawEvent Package, 在执行下一步import之前,将RawEvent中make产生的所有文件和文件夹清理干净: cmt make clean. 这些二次产生的文件不应上传到svn上,造成svn负担。
    • 在RawEvent上级目录中执行 svn import ./RawEvent http://svn.lhaaso.ihep.ac.cn/People/zhang/RawEvent/. -m" first time import my RawEvent to SVN"
    • 不过此时的./RawEvent不是一个和svn建立的联系的文件夹,你需要删除./RawEvent
 
    • 然后参照例子或者说明书开始设计RawEvent,阅读说明书13.3节“coding convention”, 如何规范化程序编写。
    • 在设计程序的过程中的任何时候,你可以使用以下命令将你编写的新文件备案给svn, 注意避免将任何编译过程中产生的任何二次文件备案给svn
      • svn add src/xxxxx.cc

Revision 62020-01-04 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="DataAnalysisLHAASO"
Line: 32 to 32
 
      • People/zhang/
    • 登录lxslc6.ihep.ac.cn,开始设计你的RawEvent
      • 如果是从0开始写RawEvent pacakge,那么在某一目录下,例如myArea,使用 cmt create RawEvent v0.0 产生一个RawEvent的基本目录,为了使用cmt,可以source /afs/ihep.ac.cn/soft/LHAASO/LodeStar-SLC6/Pre-Release/L19-Pre1_v1r1/setup.sh
Changed:
<
<
      • 或者你已经在myArea下有了RawEvent Package, 在执行下一步import之前,将RawEvent中make产生的所有文件和文件夹清理干净,这些二次产生的文件不应上传到svn上,造成svn负担。
>
>
      • 或者你已经在myArea下有了RawEvent Package, 在执行下一步import之前,将RawEvent中make产生的所有文件和文件夹清理干净: cmt make clean. 这些二次产生的文件不应上传到svn上,造成svn负担。
 
Added:
>
>
 
    • 然后参照例子或者说明书开始设计RawEvent,阅读说明书13.3节“coding convention”, 如何规范化程序编写。
    • 在设计程序的过程中的任何时候,你可以使用以下命令将你编写的新文件备案给svn, 注意避免将任何编译过程中产生的任何二次文件备案给svn
      • svn add src/xxxxx.cc

Revision 52020-01-04 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="DataAnalysisLHAASO"
Line: 16 to 16
 
  • 当前LHAASO software svn中的目录结构和计划整理的结构列在如下文件中
Changed:
<
<

The command used by Code developer

  1. 作为一个package的设计/维护者,如何在svn的帮助下设计和发布你的pacakge (什么是pacakge
    • 假设将要设计一个名为RawEvent的pacakge。
    • 和manager沟通,确定RawEvent存放位置,例如:LodeStar/offline/trunk/DataModel/RawEvent/
    • 向manager索要一个svn账号,manager同时为你建立和打开如下文件夹的读写权限:
      • LodeStar /offline/trunk/DataModel/RawEvent/
      • LodeStar /offline/tags/DataModel/RawEvent/
    • 登录lxslc6.ihep.ac.cn, 建立LHAASO软件环境,例如:
      • source /afs/ihep.ac.cn/soft/LHAASO/LodeStar-SLC6/Pre-Release/L19-Pre1_v1r1/setup.sh
    • 将RawEvent目录checkout到本地任意目录tmp下:
    • 你实际上下载了一个空目录tmp/RawEvent, 但是是和svn建立了联系的一个目录
      • 如果你是从0开始写RawEvent pacakge,那么在(注意目录)tmp目录下,使用 cmt create RawEvent v0.0 产生一个RawEvent的基本目录
      • 如果你已经在别的地方发展了RawEvent pacakge,你可以直接将那个RawEvent内的内容全部拷贝到这个RawEvent目录下。
    • 然后参照例子或者说明书开始设计RawEvent
    • 注意设计pacakge的时候,应遵守以下约定,以利于pacakge在合作组内交流。
      • The name of package should be easy recognized
        • package name should be full words, such as Km2aSimulation, or the easy recognized abbreviation, such as Km2aSim
>
>

The command used by LhSoft code developer

  1. LHAASO合作组建了了两个SVN目录,分别为PeopleLodeStar
    • People为大家提供个人自由的使用空间,记录个人所设计的package每日变化的记录场所。发展成熟后的pacakge,copy到LodeStar中的trunk中相应目录下(下面详述)
    • LodeStar中的trunk目录树是完整的LodeStar目录结构,存储由Developer拷贝进来的最新的成熟的pacakge版本,但是所有最新版本合并起来并不一定是可以运行的LodeStar版本。
    • LodeStar中的tags目录用于存储每一个预发布或者正式发布的LodeStar版本(管理员有权限)
  2. 作为一个package的设计/维护者,例如zhang,如何在svn的帮助下设计和发布你的pacakge (什么是pacakge
    • 假设zhang将要设计一个名为RawEvent的pacakge。注意设计pacakge名字的时候,应遵守以下约定,以利于合作组内交流以及使用者辨认其功能。
      • The name of package should be easy recognized, such as Km2aSimulation, or the easy recognized abbreviation, such as Km2aSim
 
        • the service package should be xxxxxxSvc
        • the tool package should be xxxxxxTool
Changed:
<
<
        • the header files should be put in a separate directory, suggested to be same as package name, not in directory "src"
      • 阅读说明书13.3节“coding convention”, 如何规范化程序编写。
    • 在设计程序的过程中的任何时候,你可以使用以下命令将你编写的文件备案给svn, 同时避免将任何编译过程中产生的二次文件备案给svn
>
>
    • 和manager沟通,确定RawEvent存放位置,例如:LodeStar/offline/trunk/DataModel/RawEvent/
    • 如果zhang还没有svn账号,向manager索要一个svn账号,manager同时为zhang建立和打开如下文件夹的读写权限:
      • LodeStar /offline/trunk/DataModel/RawEvent/
      • People/zhang/
    • 登录lxslc6.ihep.ac.cn,开始设计你的RawEvent
      • 如果是从0开始写RawEvent pacakge,那么在某一目录下,例如myArea,使用 cmt create RawEvent v0.0 产生一个RawEvent的基本目录,为了使用cmt,可以source /afs/ihep.ac.cn/soft/LHAASO/LodeStar-SLC6/Pre-Release/L19-Pre1_v1r1/setup.sh
      • 或者你已经在myArea下有了RawEvent Package, 在执行下一步import之前,将RawEvent中make产生的所有文件和文件夹清理干净,这些二次产生的文件不应上传到svn上,造成svn负担。
    • 在myArea中执行 svn import ./RawEvent http://svn.lhaaso.ihep.ac.cn/People/zhang/RawEvent/. -m" first time import my RawEvent to SVN"
    • 然后参照例子或者说明书开始设计RawEvent,阅读说明书13.3节“coding convention”, 如何规范化程序编写。
    • 在设计程序的过程中的任何时候,你可以使用以下命令将你编写的新文件备案给svn, 注意避免将任何编译过程中产生的任何二次文件备案给svn
 
      • svn add src/xxxxx.cc
      • 对于不小心备案的文件,可以使用svn delete xxx清除备案。
    • 在每天工作结束后,可以使用以下命令将所有备案的文件上传到svn上:
      • 在RawEvent目录下: svn commit -m "say somthing to this upload"
    • 第二天开始工作时,可以继续在原来的RawEvent目录中继续你的工作,也可以在一个新的目录中:
Changed:
<
<
>
>
 
      • 你将下载一个昨天你上传的内容到RawEvent目录,开始工作
Changed:
<
<
>
>
 
  1. Make a tag and checkout a tag
    • When the newest version of your directory in truck is a mature directory, use the following DataIO /RawIO example to make a tag

Revision 42019-12-27 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="DataAnalysisLHAASO"
Line: 27 to 27
 
Changed:
<
<
    • 你实际上下载了一个空目录tmp/RawEvent
    • 在tmp目录下,使用以下命令产生一个RawEvent的基本目录
    • 在RawEvent中,你应当看到cmt和src两个目录,然后参照以下例子或者说明书开始设计RawEvent
>
>
    • 你实际上下载了一个空目录tmp/RawEvent, 但是是和svn建立了联系的一个目录
      • 如果你是从0开始写RawEvent pacakge,那么在(注意目录)tmp目录下,使用 cmt create RawEvent v0.0 产生一个RawEvent的基本目录
      • 如果你已经在别的地方发展了RawEvent pacakge,你可以直接将那个RawEvent内的内容全部拷贝到这个RawEvent目录下。
    • 然后参照例子或者说明书开始设计RawEvent
 
    • 注意设计pacakge的时候,应遵守以下约定,以利于pacakge在合作组内交流。
      • The name of package should be easy recognized
        • package name should be full words, such as Km2aSimulation, or the easy recognized abbreviation, such as Km2aSim

Revision 32019-12-25 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="DataAnalysisLHAASO"
Line: 7 to 7
  Step by step, shows how to maintain your code in LHAASO SVN

LHAASO SVN view via Web (the last revision)

Added:
>
>
  • 你可以点击该连接 http://svn.lhaaso.ihep.ac.cn/LodeStar/ 查看LHAASO软件的目录结构
    • 其中的offline包含了数据分析所需要的所有package (什么是pacakge
    • offline中包含三个文件夹,trunck,tags,branches
      • trunk中的每个package都存储在trunk目录树中的某个位置,设计者每天结束工作后都会把package更新上传到trunck中的相应pacakge目录中,因此最新的package通常是不成熟的,或者不能编译成功的。
      • tags中的目录结构和trunk是一样的,区别是pacakge中多了一层版本目录,每一个版本都是trunck中的pacakge在某一时刻发展成熟后copy而成的
      • branches和trunk是相同的功能,目前还没有使用的计划
  • 当前LHAASO software svn中的目录结构和计划整理的结构列在如下文件中
 
Changed:
<
<
http://svn.lhaaso.ihep.ac.cn/LodeStar/

The requirement on the package before put into SVN

>
>

The command used by Code developer

  1. 作为一个package的设计/维护者,如何在svn的帮助下设计和发布你的pacakge (什么是pacakge
    • 假设将要设计一个名为RawEvent的pacakge。
    • 和manager沟通,确定RawEvent存放位置,例如:LodeStar/offline/trunk/DataModel/RawEvent/
    • 向manager索要一个svn账号,manager同时为你建立和打开如下文件夹的读写权限:
      • LodeStar /offline/trunk/DataModel/RawEvent/
      • LodeStar /offline/tags/DataModel/RawEvent/
    • 登录lxslc6.ihep.ac.cn, 建立LHAASO软件环境,例如:
      • source /afs/ihep.ac.cn/soft/LHAASO/LodeStar-SLC6/Pre-Release/L19-Pre1_v1r1/setup.sh
    • 将RawEvent目录checkout到本地任意目录tmp下:
    • 你实际上下载了一个空目录tmp/RawEvent
    • 在tmp目录下,使用以下命令产生一个RawEvent的基本目录
    • 在RawEvent中,你应当看到cmt和src两个目录,然后参照以下例子或者说明书开始设计RawEvent
    • 注意设计pacakge的时候,应遵守以下约定,以利于pacakge在合作组内交流。
 
  • The name of package should be easy recognized
    • package name should be full words, such as Km2aSimulation, or the easy recognized abbreviation, such as Km2aSim
    • the service package should be xxxxxxSvc
    • the tool package should be xxxxxxTool
    • the header files should be put in a separate directory, suggested to be same as package name, not in directory "src"
Changed:
<
<
  • All the not necessary files should be removed
    • the files in directory "cmt", produced by "cmt config"
    • the files produced any directories, produced by "cmt make"
>
>
 
Deleted:
<
<

The command used by Code developer

 
  1. Make a tag and checkout a tag
Line: 50 to 80
 

Comments

Changed:
<
<
<--/commentPlugin-->
>
>

<--/commentPlugin-->

META FILEATTACHMENT attachment="Structure.xlsx" attr="" comment="" date="1577289605" name="Structure.xlsx" path="Structure.xlsx" size="15565" user="zhucg" version="2"

Revision 22019-12-24 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="DataAnalysisLHAASO"
Added:
>
>
 

Using SVN to maintain your code

Step by step, shows how to maintain your code in LHAASO SVN

Line: 18 to 20
 
    • the files in directory "cmt", produced by "cmt config"
    • the files produced any directories, produced by "cmt make"
Added:
>
>

The command used by Code developer

  1. Make a tag and checkout a tag

The command used by user

  1. Check out packages from LodeStar SVN, same address to view on web
  2. Check out packages from user SVN, same address to view on web

The command used by manager of SVN

  1. Create an account on the SVN reponsitory: people
    • logon to lxslc6.ihep.ac.cn
    • logon to root@202.122.38.82
    • cd /var/www/svn
    • htpasswd passwdpeople zhucg //add account zhucg into password file passwdpeople.
    • vi authpeople.conf //add the read/write for the account.
  2. Config SVN to prevent check in .o, .make, .so, .a, .in, etc. files into SVN. Now only skip .o, .so, .a files.
 -- Chengguang ZHU - 2019-12-18

Comments

Revision 12019-12-18 - ZhuChengguang

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="DataAnalysisLHAASO"

Using SVN to maintain your code

Step by step, shows how to maintain your code in LHAASO SVN

LHAASO SVN view via Web (the last revision)

http://svn.lhaaso.ihep.ac.cn/LodeStar/

The requirement on the package before put into SVN

  • The name of package should be easy recognized
    • package name should be full words, such as Km2aSimulation, or the easy recognized abbreviation, such as Km2aSim
    • the service package should be xxxxxxSvc
    • the tool package should be xxxxxxTool
    • the header files should be put in a separate directory, suggested to be same as package name, not in directory "src"
  • All the not necessary files should be removed
    • the files in directory "cmt", produced by "cmt config"
    • the files produced any directories, produced by "cmt make"

-- Chengguang ZHU - 2019-12-18

Comments

<--/commentPlugin-->
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback