Aceasta este comanda cvsconvert care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
cvsconvert - efectuați o conversie Git și testați împotriva originalului CVS
REZUMAT
cvsconvert [-v] [-n] [-p] [-k expandspec] [repo | repo/modul]
DESCRIERE
cvsconvert realizează o conversie a unui depozit CVS în Git și verifică conținutul arborelui
la toate sfaturile și etichetele de ramuri pentru a verifica dacă istoriile sunt aceleași.
(O excepție: ramuri sintetice gitspace cu numele *-UNNAMED-BRANCH create pentru a colecta
Comiterile CVS fără adăpost nu sunt verificate. Veți vedea un avertisment când unul dintre acestea este
a omis.)
Singurul argument trebuie să fie o cale către un director care conține un depozit sau un modul CVS.
Dacă este un director de nivel superior CVS și există un singur modul sub modulul necesar
să nu fie specificate.
Conversia Git este lăsată într-un director numit după argumentul repo, cu un sufix de
„-git”.
Comportamentul normal este ca programul să raporteze pe fiecare ramură și etichetă, spunând „copacii se potrivesc
așa cum era de așteptat". Există două tipuri de raportare a problemei:
"fişier manifestă nu Meci": indică faptul că versiunile CVS și Git ale acestei revizuiri în
istoricul conține unele nume de fișiere care nu se împerechează între ele. (Git și CVS
fişierele ignore-pattern sunt ignorate şi nu vor declanşa acest mesaj.) Când acest mesaj
apare, fișierele comune sunt încă verificate pentru egalitate.
„%s si %s sunt diferit": Două fișiere CVS și Git corespunzătoare nu se compară egal. A
va urma listarea diferențelor.
DEPANARE
Există două tipuri de erori de conversie negrave: nepotriviri ale conținutului fișierului din cauza
câmpuri de cuvinte cheie extinse în master și fișiere șterse din CVS care apar numai în
manifeste gitspace asociate cu etichete.
Puteți observa cu ușurință nepotrivirile de conținut din cauza extinderii cuvintelor cheie. Vor produce
diferențe pe o singură linie de linii care conțin semne dolar în jurul textului cuvântului cheie. pentru că
fișierele binare pot fi corupte prin extinderea cuvintelor cheie, se comportă implicit cvs-fast-export
cum ar fi modul cvs -kb și nu extinde propriul cuvânt cheie. Astfel, ar trebui nu vedea
astfel de nepotriviri cu excepția cazului în care ați trecut într-o opțiune -k.
Cu toate acestea, s-ar putea să doriți să treceți în -kk dacă (a) credeți că masterul CVS ar putea conține
câmpuri de cuvinte cheie extinse, dar nu doriți să le curățați manual și (b) sunteți încrezător
depozitul dumneavoastră nu conține fișiere binare care ar putea să se potrivească fals cu un cuvânt cheie RCS/CVS. daca tu
greșiți în ceea ce privește presupunerea (b) veți primi mesaje de avertizare despre nepotrivirile de conținut
în fișierele binare.
Nepotrivirile manifestelor pe etichete sunt cel mai probabil să apară pe fișierele care au fost șterse din CVS
dar persistă sub etichetele ulterioare în conversia Git. Poți să pariezi că asta se întâmplă
dacă, când căutați numele de cale în depozitul CVS, îl găsiți într-o mansardă
director.
Aceste rapoarte false se întâmplă deoarece CVS nu reține întotdeauna suficiente informații pentru
urmărește ștergerile în mod fiabil și este oarecum nesigur în gestionarea revizuirilor de stare „moartă”.
Pentru ca CVS-ul și git repos să se potrivească perfect, poate fi necesar să utilizați add delete fileops la
conversia - sau, mai probabil, mutați pe cele existente înapoi de-a lungul ramurilor lor la comite
care preced eticheta gitspace - folosind revenire(1).
Nepotrivirile manifeste în cealaltă direcție (prezente în CVS, absente în gitspace) ar trebui
nu apar niciodată. Dacă o face, trimiteți un raport de eroare.
Orice alt tip de potrivire de conținut sau manifest - dar mai ales oricare din ramura principală - este
vești proaste și indică fie o malformație gravă a depozitului, fie o eroare în cvs-fast-export
(sau eventual ambele). Orice astfel de situație ar trebui raportată ca o eroare.
Erorile de conversie sunt disproporționat de probabil să apară pe mai vechi, ramuri sau etichete din
înainte ca CVS să aibă commitid de încredere. Adesea, cel mai eficient remediu este pur și simplu ștergerea
ramuri nedorite și etichete; revenire(1) face acest lucru ușor de realizat.
Dacă trebuie să depuneți o eroare, vă rugăm să vizitați site-ul web al proiectului pentru a afla despre
procedura de raportare a erorilor. Există lucruri specifice pe care le puteți face atunci când pregătiți raportul
face o rezolvare rapidă a problemei mai probabilă.
OPŢIUNI
-p
Activați rapoartele de progres de la cvs-fast-export în timp ce rulează.
-k
Transmiteți o specificație de extindere a cuvintelor cheie către cvs-rapid-export(1) și cvs(1).
-n
Numai testați, nu păstrați conversia Git după emiterea diagnosticelor.
-v
Verbos. Afișați subcomenzile pe măsură ce sunt executate și diverse mesaje de depanare.
-q
Spuneți cvs-fast-export să ruleze în liniște.
LIMITAREA
Acest program nu se descurcă cu grație dacă etichetele CVS care nu sunt legale pentru Git ar trebui să fie
igienizat în timpul conversiei.
Din cauza modului în care acest program funcționează în jurul cerinței CVS pentru un director CVSROOT, acesta
va necesita permisiunea de scriere a directorului în directorul de depozit în acest caz -
în caz contrar, se va anula după un mesaj CVS „Eșuat la obținerea blocării dir în depozit”. The
conținutul depozitului nu este modificat.
Programul are nevoie de opțiunea cvs -R pentru a accesa depozitul doar în citire. Va fi așadar
eșuează cu versiunile GNU CVS mai vechi decât 1.12.1 (2005) care nu au această opțiune.
RAPORTAREA GANDACI
Raportați erori lui Eric S. Raymond[e-mail protejat]>. Pagina proiectului este la
http://catb.org/~esr/cvs-fast-export
Utilizați cvsconvert online folosind serviciile onworks.net