diff options
author | heping <tdihp@hotmail.com> | 2017-04-12 19:51:47 +0800 |
---|---|---|
committer | heping <tdihp@hotmail.com> | 2017-04-12 20:04:47 +0800 |
commit | 3d7bbc9edf2e6714c58f72a053b182d3c7a160bf (patch) | |
tree | c7a8eda2e7ceb01fd5bf7aa62146164bc71abf2e /project.py | |
parent | ffb4b890997b1799f188ec44f005d949feb643a7 (diff) | |
download | git-repo-3d7bbc9edf2e6714c58f72a053b182d3c7a160bf.tar.gz |
project.py: fix performance issue with --reference when the mirrored repository has many refs
Change-Id: Id0183903597f872eee80ca32a8050125b187a3d4
Diffstat (limited to 'project.py')
-rw-r--r-- | project.py | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -1963,15 +1963,17 @@ class Project(object): | |||
1963 | ids.add(ref_id) | 1963 | ids.add(ref_id) |
1964 | tmp.add(r) | 1964 | tmp.add(r) |
1965 | 1965 | ||
1966 | tmp_packed = '' | 1966 | tmp_packed_lines = [] |
1967 | old_packed = '' | 1967 | old_packed_lines = [] |
1968 | 1968 | ||
1969 | for r in sorted(all_refs): | 1969 | for r in sorted(all_refs): |
1970 | line = '%s %s\n' % (all_refs[r], r) | 1970 | line = '%s %s\n' % (all_refs[r], r) |
1971 | tmp_packed += line | 1971 | tmp_packed_lines.append(line) |
1972 | if r not in tmp: | 1972 | if r not in tmp: |
1973 | old_packed += line | 1973 | old_packed_lines.append(line) |
1974 | 1974 | ||
1975 | tmp_packed = ''.join(tmp_packed_lines) | ||
1976 | old_packed = ''.join(old_packed_lines) | ||
1975 | _lwrite(packed_refs, tmp_packed) | 1977 | _lwrite(packed_refs, tmp_packed) |
1976 | else: | 1978 | else: |
1977 | alt_dir = None | 1979 | alt_dir = None |