如何在单行代码上进行p4注释?

时间:2016-09-01 07:21:38

标签: perforce p4v

我有一个大项目,我想找到在代码中使用过特定关键字的所有用户(例如。" goto")。对所有文件执行p4 annotate将花费大量时间。

有没有办法在给定文件的一行上快速执行 create or replace function mis_get_mem_lcr_credits(p_mem_no in number) RETURN number is -- v_lcr_credit number; l_mem_no number; l_start_date date; l_end_date date; l_dob date; l_18th_date date; -- cursor c1 is select mem_no, ind_birth_dt from cd_individual where mem_no = l_mem_no and pkg_mem_utils.get_member_age(mem_no,ind_birth_dt) >= 18 and nvl(ind_student_flag,'N') = 'N' order by mem_no, ind_birth_dt; -- cursor c2 is select distinct m_effdt, m_termdt from cd$v_member_contracts9 cd1, cd_member_product_link cd2 where cd1.mem_no = l_mem_no and cd1.policy_no = cd2.policy_no and cd1.m_effdt = cd2.mem_product_eff_dt --.2 and (l_18th_date between cd1.m_effdt and cd1.m_termdt OR cd1.m_effdt > l_18th_date)--.3 18 at time of contract effective date and nvl(cd1.lapsed_to_start,'N') = 'N' and cd2.product_id not in (14,41,31) -- Exclude No Cover, DentalProtect and HealthProtect and cd2.product_id NOT IN (select distinct product_id from cd_product_options where nvl(allowed_for_lcr,'Y') = 'N') order by cd1.m_effdt ASC; -- begin -- l_mem_no := p_mem_no; v_lcr_credit := 0; l_dob := null; -- for crec in c1 loop -- l_dob := crec.ind_birth_dt; -- -- l_18th_date := substr(to_char(l_dob,'DD/MM/YYYY'),0,6)||(substr(to_char(l_dob,'DD/MM/YYYY'),7,4)+18); if to_char(l_dob) like '29-02%' then l_18th_date := add_months(to_date(l_dob+1),216 ); else l_18th_date := add_months(to_date(l_dob), 216); end if; -- for crec2 in c2 loop -- if crec2.m_termdt > sysdate then -- l_end_date := sysdate; -- else -- l_end_date := crec2.m_termdt; -- end if; -- if v_lcr_credit = 0 then --earliest contract -- if l_18th_date between crec2.m_effdt and crec2.m_termdt then -- v_lcr_credit := v_lcr_credit + months_between(l_end_date,l_18th_date); -- else -- v_lcr_credit := v_lcr_credit + months_between(l_end_date,crec2.m_effdt); -- end if; -- else -- v_lcr_credit := v_lcr_credit + months_between(l_end_date,crec2.m_effdt); -- end if; -- end loop; -- end loop; -- return round(nvl(v_lcr_credit,0)); -- end mis_get_mem_lcr_credits; / show errors spool off exit

1 个答案:

答案 0 :(得分:2)

你真的关心使用' goto'代码中不再存在(即添加后使用的内容?

我建议不要;这简化了搜索。

如果您从p4 grep -e goto //project/file/path/...开始,您会发现哪些文件目前包含该字词。然后你只需要检查这些文件。

然后,对于每个文件,您可以运行`p4 annotate -u // project / file / name | grep goto'并查看哪些更改添加了单词' goto'到那个文件。

然后你可以检查结果。

顺便说一句,如果您的服务器版本为2015.2或更高版本,则可以使用新的' -u'标志由

添加
    #1233417 (Bug #12755) **
    'p4 annotate' now supports a new flag '-u'. This flag instructs
    annotate to display the user who modified the change and the date
    when the modification occurred.

这将帮助您完成最终报告,因为您不必再​​执行额外步骤来查找每个更改列表以查看提交者是谁。