Sveiki, Visa tai jei kam nors prisireiktų tiesiogiai perkelti CVS repozitoriją (su visa istorija) į hg išsaugant korektišką CVS log'ų koduotę (kad ir kokia ji bebūtų -- cp1257, cp1251, cp1252, kt.), t.y. korektiškai perkoduojant į utf-8, nes pagal Mercurial fromcvs how-to: http://www.selenic.com/mercurial/wiki/index.cgi/fromcvs *nepavyks*, juoba, jei tai daroma Windows OS. Be Mercurial (TortoiseHg), reikės: Cygwin'o, Ruby (cygwin; native suknistas (neveikia) rcsparse kompiliavimas, o jei dar ir MS kompiliatoriaus neturite...), Python'o (native). Rubygems: http://www.rubygems.org/ ruby-rbtree (gem install rbtree) rcsparse http://ww2.fs.ei.tum.de/~corecode/hg/rcsparse fromcvs: http://ww2.fs.ei.tum.de/~corecode/hg/fromcvs Redaguojam fromcvs/tohg.rb; pačioje pradžioje pridedam "require 'rubygems'" eilutę. Atridename Python'ui Mercurial kiaušinį. Pradžioje tam (easy_install) reikės setuptools: http://pypi.python.org/pypi/setuptools/ http://pypi.python.org/pypi/setuptools/#windows (*Cygwin note*) Tuomet: easy_install.exe mercurial Būtinai nustatome aplinkos (environment) kintamąjį (tą jau turbūt padarėme anksčiau, naudodamiesi hg; antraip hg log'ai gali būti tik ascii): HGENCODING=utf-8 Atrodytų lyg ir viskas, lyg ir galima būtų pradėti (pagal hg fromcvs how-to)...: " export LANG=en_US.UTF-8 cd fromcvs hg init /path/to/hgdest ruby tohg.rb /path/to/cvsroot modulename /path/to/hgdest " STOP. Lokalę liesti/keisti beprasmiška, reikia taisyti kelius (nors mes cygwin'e, tačiau aktualų darbą atlieka native python'as): ruby tohg.rb C:\\path\\to\\cvsroot modulename C:\\path\\to\\hgdest Na, na...? Važiuoja! Tačiau ir nuvažiuoja (su išdarkytais log'ais)... Taigis taigis, kaipgis... Ir ką gi mes randame (po gana prailgusio krapštymosi): fromcvs/fromcvs.rb::convtooutf8() def convtoutf8(str) encs = ['utf-8', 'iso8859-15'] encs.each do |enc| begin return Iconv::conv('utf-8', enc, str) rescue StandardError end end Tai bent užslėptas perliukas! Log'ai kažkodėl įsiūtai perkoduojami iš 'utf-8' (nors labai tikėtina yra visiškai kitokioje, 8 bitų koduotėje), arba dar "geriau" (iso-8859-15) į 'utf-8'. Artūrai Šlajau, užsiimk, juk/kai mokslai tokie nemieli... ;-) Čia greitai (iki kol tai bus ištaisyta), pačią pirmą ir reikia įsiūti CVS log'ų koduotę, t.y. iš kurios konvertuojama į 'utf-8' (manuoju atveju tai buvo 'cp1257'): encs = ['cp1257', 'utf-8', 'iso8859-15'] Viskas, dabar jau tikrai (nu)važiuos. Žinoma, galima buvo tiesiog (vienkartiniam importui būtų kur kas greičiau) perkoduoti CVS repozitorijos RCS failus, arba bandyti kitą kelią (CVS->SVN->HG -- ar tikrai nebūtų panašių problemų?), tačiau pradėjus krapšytis norėjosi pabaigti. Tikiuosi kam nors bus naudinga.