rcs4cvs2svn er en programvare som utarbeider RCS prosjekt for behandling med cvs2svn.
rcs4cvs2svn er nyttig for utviklere som fortsatt har gamle kildekode flyter rundt i RCS repositories og ønsker å flytte den til et moderne SCM system.
Mens rcs4cvs2svn ikke gir noen mulighet til å direkte overføre til andre SCM system, skaper det en kopi av RCS depot som kan behandles av cvs2svn.
På den måten vil du ende opp med en Subversion repository, som allerede kan være tilstrekkelig. Alternativt tilbyr Subversion et godt grunnlag for videre migrasjon til et annet SCM som Git eller Mercurial, som de fleste SCM leverandører tilbyr verktøy for å migrere fra SVN, men ikke fra RCS.
(Du kan selvfølgelig bruke rcs4cvs2svn som erstatning for ulike rcs2cvs skript flyter rundt. I motsetning til mange av disse skriptene, kan rcs4cvs2svn behandle filnavn med mellomrom og håndterer eventuelle feil den møter.)
Bruk
Bruken er enkel:
cvs -d / sti / til / cvs / repository init
python rcs4cvs2svn / sti / til / RCS / prosjekt / sti / til / cvs / repository
Det er et par alternativer, for mer informasjon run:
python rcs4cvs2svn --help
Opplæring
Denne delen beskriver hvordan du migrerer en RCS depot til CSV og deretter til Subversion.
Først lage en enkel RCS oppbevaringssted for et prosjekt kalt "hallo", som inneholder en enkelt fil, "hello.txt" med 2 revisjoner:
mkdir -p hallo / RCS
cd hallo
echo "hello world!" > Hello.txt
echo "Lagt hilsener. n". | Ci -u hello.txt
co -l hello.txt
echo "hei plass!" >> Hello.txt
echo "Lagt til flere hilsener. n". | Ci -u hello.txt
Deretter oppretter du en ny CVS som vil fungere som destinasjon:
cvs -d / tmp / hello_cvs init
Nå migrere RCS depotet til CSV.
& Nbsp; python rcs4cvs2svn.py hei / / tmp / hello_cvs /
Fordi CVS er fortsatt en svært utdatert måte å håndtere en programvare-prosjekt, la oss gå videre til neste trinn i utviklingen: Subversion. Du trenger cvs2svn, tilgjengelig fra
Mens det er flere måter å konvertere CVS til SVN, den enkleste for vår oppgave er å enkelt lage en SVN dumpfil som inneholder CVS som trunk:
cvs2svn --trunk beskyttet --dumpfile hello.dump / tmp / hello_cvs /
Nå kan du lage en SVN repository og last i bagasjerommet til det:
svnadmin create / tmp / hello_svn /
svnadmin load / tmp / hello_svn /
Hva er nytt i denne utgaven.
- Fast logging som kan føre til problemer med filnavn som inneholder ikke-ASCII-tegn eller prosenttegn (%).
- Forbedret håndtering av CVS målmappe, som nå kan være en slektning mappe selv om csv init forventer en absolutt mappe.
- Forbedret API: Lagt rcs4cvs2svn.main (), som kan kalles fra Python ligner på kommandolinjen .
- Endret testskallskript til riktig enhet test.
- Ryddet opp PEP8 problemer.
Hva er nytt i versjon 1.1:
- Lagt automatisk oppretting av CVS repository i tilfelle målet banen gjør ikke inneholder allerede en CVSROOT mappe. For at dette skal fungere, har cvs kommandolinje klient å bli installert.
- Fast beskyttelse biter i CVS som ble kopiert fra RCS og ikke gjort filene er skrivebeskyttet (som ikke var et problem for konvertering til SVN men tvang brukeren å fjerne CVS for gjentatt konvertering).
- Ryddet opp API. Bare importere rcs4cvs2svn og kaller initCvsRepository () og convertRcsToCvs () etter behov.
Krav
- Python
Kommentarer ikke funnet