3 # Copyright 2005-2007 Matt Mackall <mpm@selenic.com> |
3 # Copyright 2005-2007 Matt Mackall <mpm@selenic.com> |
4 # |
4 # |
5 # This software may be used and distributed according to the terms |
5 # This software may be used and distributed according to the terms |
6 # of the GNU General Public License, incorporated herein by reference. |
6 # of the GNU General Public License, incorporated herein by reference. |
7 |
7 |
8 from common import NoRepo, converter_source, converter_sink, decodeargs |
8 from common import NoRepo, converter_source, converter_sink |
9 from cvs import convert_cvs |
9 from cvs import convert_cvs |
10 from git import convert_git |
10 from git import convert_git |
11 from hg import mercurial_source, mercurial_sink |
11 from hg import mercurial_source, mercurial_sink |
12 from subversion import convert_svn |
12 from subversion import convert_svn, debugsvnlog |
13 |
13 |
14 import os, shlex, shutil, sys |
14 import os, shlex, shutil |
15 from mercurial import hg, ui, util, commands |
15 from mercurial import hg, ui, util, commands |
16 from mercurial.i18n import _ |
16 from mercurial.i18n import _ |
17 |
17 |
18 commands.norepo += " convert debugsvnlog" |
18 commands.norepo += " convert debugsvnlog" |
19 |
19 |
431 |
431 |
432 c = convert(ui, srcc, destc, revmapfile, filemapper(ui, opts['filemap']), |
432 c = convert(ui, srcc, destc, revmapfile, filemapper(ui, opts['filemap']), |
433 opts) |
433 opts) |
434 c.convert() |
434 c.convert() |
435 |
435 |
436 def debugsvnlog(ui, **opts): |
|
437 """Fetch SVN log in a subprocess and channel them back to parent to |
|
438 avoid memory collection issues. |
|
439 """ |
|
440 util.set_binary(sys.stdin) |
|
441 util.set_binary(sys.stdout) |
|
442 args = decodeargs(sys.stdin.read()) |
|
443 subversion.get_log_child(sys.stdout, *args) |
|
444 |
436 |
445 cmdtable = { |
437 cmdtable = { |
446 "convert": |
438 "convert": |
447 (_convert, |
439 (_convert, |
448 [('A', 'authors', '', 'username mapping filename'), |
440 [('A', 'authors', '', 'username mapping filename'), |