build/buildutils/svnchangeids.py
branchRCL_3
changeset 83 26b2b12093af
parent 60 6c158198356e
equal deleted inserted replaced
77:7cee158cb8cd 83:26b2b12093af
    57         change_id_keyword = "changeid[_-]?" + release + "\s*"
    57         change_id_keyword = "changeid[_-]?" + release + "\s*"
    58     re_rev = re.compile("^r(\d+) \| ", re.I | re.M)
    58     re_rev = re.compile("^r(\d+) \| ", re.I | re.M)
    59     re_change_id = re.compile("(\w+\#\d+)\s*,?", re.I | re.M)
    59     re_change_id = re.compile("(\w+\#\d+)\s*,?", re.I | re.M)
    60     re_change_id_keyword = re.compile(change_id_keyword + "[:=]?\s*(\w+\#\d+)",
    60     re_change_id_keyword = re.compile(change_id_keyword + "[:=]?\s*(\w+\#\d+)",
    61                                       re.I | re.M)
    61                                       re.I | re.M)
    62     re_change_id_keyword_only = re.compile(change_id_keyword, re.I | re.M)
       
    63     svn_change_ids = {}
    62     svn_change_ids = {}
    64     cmd = "svn log -r " + rev_2 + ":" + rev_1 + " " + url
    63     cmd = "svn log -r " + rev_2 + ":" + rev_1 + " " + url
    65     #print cmd
    64     #print cmd
    66     for line in os.popen(cmd).readlines():
    65     for line in os.popen(cmd).readlines():
    67         rev = re_rev.findall(line)
    66         rev = re_rev.findall(line)
    68         if rev:
    67         if rev:
    69             current_rev = rev[0]
    68             current_rev = rev[0]
    70         change_ids = re_change_id_keyword.findall(line)
    69         change_ids = re_change_id_keyword.findall(line)
    71         change_id_keywords = re_change_id_keyword_only.findall(line)
       
    72         if len(change_id_keywords) > len(change_ids):
       
    73             print "WARNING: Rev " + current_rev + \
       
    74                 " has more matching changeid keywords" + \
       
    75                 " than matching change ids."
       
    76         while change_ids:
    70         while change_ids:
    77             for change_id in change_ids:
    71             for change_id in change_ids:
    78                 if change_id in svn_change_ids:
    72                 if change_id in svn_change_ids:
    79                     if not current_rev in svn_change_ids[change_id]:
    73                     if not current_rev in svn_change_ids[change_id]:
    80                         svn_change_ids[change_id] += [current_rev]
    74                         svn_change_ids[change_id] += [current_rev]