Show More
@@ -46,6 +46,9 b' try:' | |||
|
46 | 46 | except ImportError: |
|
47 | 47 | pass |
|
48 | 48 | |
|
49 | class SvnPathNotFound(Exception): | |
|
50 | pass | |
|
51 | ||
|
49 | 52 | def geturl(path): |
|
50 | 53 | try: |
|
51 | 54 | return svn.client.url_from_path(svn.core.svn_path_canonicalize(path)) |
@@ -414,9 +417,15 b' class svn_source(converter_source):' | |||
|
414 | 417 | remainings.append([source, sourcerev, tagname]) |
|
415 | 418 | continue |
|
416 | 419 | # From revision may be fake, get one with changes |
|
420 | try: | |
|
417 | 421 | tagid = self.latest(source, sourcerev) |
|
418 | 422 | if tagid: |
|
419 | 423 | tags[tagname] = tagid |
|
424 | except SvnPathNotFound: | |
|
425 | # It happens when we are following directories we assumed | |
|
426 | # were copied with their parents but were really created | |
|
427 | # in the tag directory. | |
|
428 | pass | |
|
420 | 429 | pendings = remainings |
|
421 | 430 | tagspath = srctagspath |
|
422 | 431 | |
@@ -474,7 +483,7 b' class svn_source(converter_source):' | |||
|
474 | 483 | except SubversionException: |
|
475 | 484 | dirent = None |
|
476 | 485 | if not dirent: |
|
477 |
raise |
|
|
486 | raise SvnPathNotFound(_('%s not found up to revision %d') % (path, stop)) | |
|
478 | 487 | |
|
479 | 488 | # stat() gives us the previous revision on this line of development, but |
|
480 | 489 | # it might be in *another module*. Fetch the log and detect renames down |
@@ -834,7 +843,7 b' class svn_source(converter_source):' | |||
|
834 | 843 | latest = self.latest(self.module, firstrevnum - 1) |
|
835 | 844 | if latest: |
|
836 | 845 | firstcset.parents.append(latest) |
|
837 |
except |
|
|
846 | except SvnPathNotFound: | |
|
838 | 847 | pass |
|
839 | 848 | except SubversionException, (inst, num): |
|
840 | 849 | if num == svn.core.SVN_ERR_FS_NO_SUCH_REVISION: |
General Comments 0
You need to be logged in to leave comments.
Login now