• checkstyle 错误求解 at 2010年07月05日

    :lol 那个东西 它自己好像不生成,我弄个空的,它写不进去,我弄个开头,它又说结构不对,:lol 我怎么办?

  • :loveliness: 服从、服从、再服从, 反正用哪个都是有利于自己技能增长,除非,鸟总监给的是限定时间内搞定。

  • "作为公司新人,小 m 同学说话没有力度,想坚持原则很难”

    这是一个突破口,新人说话没有力度,那么就去找公司高层领导具体讨论,是否需要实施配置管理,如果领导想做,那就要领导赋予相应权利。如果行不通,那就乖乖的从权限限制开始做起,让项目组一点一点的臣服在你的石榴裙下。

  • 基线提升 at 2010年07月01日

    :( 这明明是针对基线数据修改,就是所谓的 “基线变更”,需要项目组或者 CCB 等团队评审通过才能更改。 :lol 还打 “提升” 的名号,明显是想规避 走变更流程。

  • CVS 仓库迁移 at 2010年07月01日

    :lol 用 ssh 拖拽从 win 到 linux linux 下互相迁移,纯粹的拷贝估计应该可以吧?! 然后重启服务器。

  • Eclipse 下使用 subversion at 2010年07月01日

    :) 基本正确,实际上下面三个文件只对 java 工程师有用,对于咱们配置管理工程师来讲,还是属于垃圾文件,但是考虑到,这个文件不会被更新,而且删除会影响团队人员创建工程的效率,所以暂时的默认为有效文件为好

  • 如何管理好多分支项目 at 2010年07月01日

    :lol force merge , no 冲突。

    :lol 你可以学习下我们超级架构师写的这个脚本 #! /bin/bash

    #merge module with list

    #merger module $2=>$1 function svnmerger() { test -z "$1" -o -z "$2" && return 1; mname=basename $1 echo "Merge $mname $2 to $1" svn co $1 cd $mname svn merge --accept theirs-full --ignore-ancestry --force $2 . cd ..

    } function svndiff() { test -z "$1" -o -z "$2" && return 1; mname=basename $1 fmname=basename $2 svn diff --old=$2 --new=$1 > ./$mname.diff.from.to mkdir tmp cd tmp svn co $1 diff -uNr -x .svn $mname ../$mname > ../$mname.diff.from rm -rf $mname svn co $2 diff -uNr -x .svn $fmname ../$mname > ../$mname.diff.to cd .. rm -rf ./tmp }

    function usage() { echo "Usage $1 module-merge-list-file" echo " In module merge list file: trunk-path merge-from-path" }

    test -f $1 || { usage $0; exit 1; }

    while read line; do src=echo $line | awk '{ print $1 }' dst=echo $line | awk '{ print $2 }' svnmerger $src $dst svndiff $src $dst done < $1

  • Eclipse 下使用 subversion at 2010年07月01日

    :loveliness: 我咨询过 java 工程师了,那 3 个空文件夹是工程中间文档存放目录,实际上确实属于垃圾文件夹。不应该提交的,这个有待规范化代码配置管理管理。

  • 如何管理好多分支项目 at 2010年06月30日

    :L merge 工作量的问题,你完全可以在 linux 系统写个 merge 脚本,需要时就去敲个 merge 命令,让系统自动去 merge、commit,然后将 merge 文件 list Email 给相关人员。

  • :funk: 恐怖的数据啊

    控制 2,承诺 1、挑战 2……

  • 如何管理好多分支项目 at 2010年06月29日

    其实你的想法适用的范围是 A、B 两者可以剥离,只有底层接口相通的项目。 如:client、web 两种不同性质的项目时,个性化的 A 就完全可以不包括 B 的代码,而只在 A 新版本开发时再引用 B 的进行辅助开发。 而 B 只需要在 trunk 上开发,每次发布后,打 tag 标记。

    你提到的 merge 工作量的问题,如果能实现多分支代码存储库同时同步,当然最好。 不过针对不同的版本控制器,我估计这个技术难度,要比体力付出的代价要大的多。

    [[i] 本帖最后由 rexuekonglong 于 2010-6-29 16:43 编辑 ]

  • 如何管理好多分支项目 at 2010年06月29日

    :lol merge 工作量是不可避免,产品质量高于一切。

    其实我的这种方法,还会存在着一定的质量隐患: B 的改动,是否对 A 中非 B 改动代码造成影响,这个考验的就是研发是否遵守, 模块间高内聚、低耦合的设计原则。 所以后期,在 A 新版本开发、验证阶段,必不可少的要针对 B 的改动要验证可能影响到 A 的重要的功能。

  • 配置管理工程师面试宝典 at 2010年06月29日

    :lol 要的就是各抒己见的答案,都标准化,就没有参考价值了

  • 如何管理好多分支项目 at 2010年06月29日

    代码策略:(真绕口,现 定义 [b][u] A:数据库、通信消息、客户端界面 B:核心代码 [/u][/b]) Branches: a、个性分支用名称区别个性化 (1)、branches(包括需要个性化改动的 [b] A[/b],以及 [b] B[/b]), (2)、个性化的 tags b、[b] B[/b] 分支 (1)、branches,用于持续修改 bug 或更新 [b] B[/b](包括 A,以及 [b] B[/b]) (2)、[b] B[/b] 的 [b] tags[/b](对于每次修改的 B 进行标记,[b] 最好的选择 [/b] 是:将每次修改的 [b] B[/b] 都 [b] merge[/b] 回 [b] trunk[/b],构建成功后再打 [b] tags[/b]) Trunk:([b] 我们把它定义为 C[/b]) 保持 [b] trunk[/b] 中 [b] merge[/b] 了最新修改的 [b] B[/b],每个个性分支的 [b] B[/b] 都得从 [b] trunk merge[/b] 到个性分支中的 [b] B 中。[/b]

    [b] 这个方法类似于一个项目代码库中拥有两个小项目代码库,小项目代码库代码 都基于主库的 trunk。[/b]

    [b] 我们可以把上面的 trunk 看成 c , 那我们的代码管理规范:[/b] [b] 一、涉及到 B 的修改, 顺序就是 B 中分支基于 C 拉出,修改完毕,merge 回 C ,进行验证。验证完毕,C 中代码 merge 到 A 中。[/b] [b] C->B->C->A [/b] [b] 二、涉及到 A 的修改, 顺序就是 在 A 分支上修改,验证。验证完毕,拉 tag 到个性化的 tags 下 [/b]

    [b] 以上是个人意见,不知道大家能不能理解。:lol [/b]

  • 诡异的 hudson at 2010年06月29日

    :) 终于在高手的指导下,理解了 [url=http://bbs.scmroad.com/viewthread.php?tid=6402color=#0000ff] 诡异的 hudson][ [/url] 的原因, 如图所示: 1、ant version 用的是 default(默认路径),而且 build file 路径为空 2、svn 指向的代码路径中有一个 build.xml 3、hudson 会调用 ant ,根据 1、2 的限制条件,去 svn 代码路径下查找、调用当前路径下存在的 build.xml,执行构建。

  • 诡异的 hudson at 2010年06月29日

    C:>set [b] ANT_HOME=C:\dev\ant-1.7\ ANT_OPTS=-Xms256M -Xmx512M[/b] [u][b] CLIENTNAME=LIMENG_HOME[/b][/u] ClusterLog=C:\WINDOWS\Cluster\cluster.log [b] COMPUTERNAME=HUDSON[/b] FP_NO_HOST_CHECK=NO [color=black][b] JAVA_HOME=C:\Program Files\Java\jdk1.6.0_01[/b] [b] LOGONSERVER=\HUDSON[/b] NUMBER_OF_PROCESSORS=4 Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Java\jdk1.6.0_01\bin;C:\dev\ant-1.7\bin;D:\ProgramFiles\TortoiseSVN\bin\ Rav=C:\Documents and Settings\All Users\Application Data\Rising\Rav

    现在的情况是,我在查阅这台 hudson 服务器 checkstyle 相关的文件:build.xml、build.properties、以及 hudson 配置文件 ,至今没有找到,hudson 是怎么区别调用的在 svn 代码分支下存放的 build.xml 文件:Q

    [[i] 本帖最后由 rexuekonglong 于 2010-6-29 10:23 编辑 ]

  • 配置管理工程师面试宝典 at 2010年06月28日

    :Q 我要答案,不仅仅是问题,问题再多,没有答案谁也不会记住:(

  • 配置管理工程师面试宝典 at 2010年06月28日

    :Q 只贴问题,不付答案……

  • 洗洗睡吧

  • 实际上并不需要什么定制的申请单,邮件也可以。只需要说明项目库名字、用途、使用人员分组情况(方便你写个《配置管理计划》)就 OK。

  • 看你用的构建工具支持不支持 指定版本号 签出

  • :lol 哇塞,真的解决了。通过你的 vob 迁移:lol 我基本上理解了一些方法步骤了

  • 为什么你不使用 svn switch 重新定位一下文件夹路径? 很有可能一个 switch 就能搞定你的问题

  • 竟然可以上网了 at 2010年06月18日

    :lol webQQ 去找个上 QQ 的女生问下, http 代理地址是什么。还有就是局域网 本地自动配置脚本地址是什么:lol 你就可以上网了。

  • :loveliness: 爱挂不挂,一年技术经验、一年配置经验。 再看工作技能要求,擦,那 TMD 是一个两年工作经验能具备的嘛。又想当立牌坊的婊子