git-p4: Optimize the fetching of data from perforce.
Use shallow copies in loop, and join content at the end. Then do the substitution, if needed. Signed-off-by: Marius Storm-Olsen <marius@trolltech.com> Signed-off-by: Simon Hausmann <simon@lst.de>
This commit is contained in:
parent
a6828f5361
commit
8ff45f2af5
@ -882,21 +882,21 @@ class P4Sync(Command):
|
|||||||
while j < len(filedata):
|
while j < len(filedata):
|
||||||
stat = filedata[j]
|
stat = filedata[j]
|
||||||
j += 1
|
j += 1
|
||||||
text = ''
|
text = [];
|
||||||
while j < len(filedata) and filedata[j]['code'] in ('text', 'unicode', 'binary'):
|
while j < len(filedata) and filedata[j]['code'] in ('text', 'unicode', 'binary'):
|
||||||
tmp = filedata[j]['data']
|
text.append(filedata[j]['data'])
|
||||||
if stat['type'] in ('text+ko', 'unicode+ko', 'binary+ko'):
|
|
||||||
tmp = re.sub(r'(?i)\$(Id|Header):[^$]*\$',r'$\1$', tmp)
|
|
||||||
elif stat['type'] in ('text+k', 'ktext', 'kxtext', 'unicode+k', 'binary+k'):
|
|
||||||
tmp = re.sub(r'(?i)\$(Id|Header|Author|Date|DateTime|Change|File|Revision):[^$]*\$',r'$\1$', tmp)
|
|
||||||
text += tmp
|
|
||||||
j += 1
|
j += 1
|
||||||
|
text = ''.join(text)
|
||||||
|
|
||||||
if not stat.has_key('depotFile'):
|
if not stat.has_key('depotFile'):
|
||||||
sys.stderr.write("p4 print fails with: %s\n" % repr(stat))
|
sys.stderr.write("p4 print fails with: %s\n" % repr(stat))
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
if stat['type'] in ('text+ko', 'unicode+ko', 'binary+ko'):
|
||||||
|
text = re.sub(r'(?i)\$(Id|Header):[^$]*\$',r'$\1$', text)
|
||||||
|
elif stat['type'] in ('text+k', 'ktext', 'kxtext', 'unicode+k', 'binary+k'):
|
||||||
|
text = re.sub(r'(?i)\$(Id|Header|Author|Date|DateTime|Change|File|Revision):[^$]*\$',r'$\1$', text)
|
||||||
|
|
||||||
contents[stat['depotFile']] = text
|
contents[stat['depotFile']] = text
|
||||||
|
|
||||||
for f in filesForCommit:
|
for f in filesForCommit:
|
||||||
|
Loading…
Reference in New Issue
Block a user