Show More
@@ -120,12 +120,7 class convert_svn(converter_source): | |||
|
120 | 120 | except IOError, e: |
|
121 | 121 | pass |
|
122 | 122 | |
|
123 | if not latest: | |
|
124 | latest = svn.ra.get_latest_revnum(self.ra) | |
|
125 | dirent = svn.ra.stat(self.ra, self.module, latest) | |
|
126 | if not dirent: | |
|
127 | raise util.Abort('module %s not found in revision %d' % (self.module, latest)) | |
|
128 | self.last_changed = dirent.created_rev | |
|
123 | self.last_changed = self.latest(self.module, latest) | |
|
129 | 124 | |
|
130 | 125 | self.head = self.rev(self.last_changed) |
|
131 | 126 | |
@@ -135,6 +130,22 class convert_svn(converter_source): | |||
|
135 | 130 | def revnum(self, rev): |
|
136 | 131 | return int(rev.split('@')[-1]) |
|
137 | 132 | |
|
133 | def latest(self, path, revnum, stop=0): | |
|
134 | 'find the latest revision affecting path, up to stop' | |
|
135 | if not stop: | |
|
136 | stop = svn.ra.get_latest_revnum(self.ra) | |
|
137 | try: | |
|
138 | self.reparent('') | |
|
139 | dirent = svn.ra.stat(self.ra, path.strip('/'), stop) | |
|
140 | self.reparent(self.module) | |
|
141 | except SubversionException: | |
|
142 | dirent = None | |
|
143 | if not dirent: | |
|
144 | raise util.Abort('module %s not found up to revision %d' \ | |
|
145 | % (self.module, stop)) | |
|
146 | ||
|
147 | return dirent.created_rev | |
|
148 | ||
|
138 | 149 | def get_blacklist(self): |
|
139 | 150 | """Avoid certain revision numbers. |
|
140 | 151 | It is not uncommon for two nearby revisions to cancel each other |
General Comments 0
You need to be logged in to leave comments.
Login now