git-cvsimport(1): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '{{manpage|section=1|title=git-cvsimport}} == NAMN == git-cvsimport - Rädda din data från ett annat versionshanteringssystem som folk älskar att hata == SYNOPSIS == '''git cvsimport''' [-o <gren-för-HEAD>] [-h] [-v] [-d <CVSROOT>] [-A <författarkonverteringsfil>] [-p <alternativ-för-cvsps>] [-P <fil>] [-C <git-arkiv>] [-z <fuzz>] [-i] [-k] [-u] [-s <subst>] [-a] [-m] [-M <regex>] [-S <regex>] [-L <commit-...') |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
(3 mellanliggande sidversioner av samma användare visas inte) | |||
Rad 1: | Rad 1: | ||
== NAMN == | == NAMN == | ||
git-cvsimport - Rädda din data från ett annat versionshanteringssystem som | git-cvsimport - Rädda din data från ett annat versionshanteringssystem som | ||
Rad 191: | Rad 189: | ||
ursprungliga manualsidan), skicka ett e-postmeddelande till | ursprungliga manualsidan), skicka ett e-postmeddelande till | ||
man-pages@man7.org | man-pages@man7.org | ||
= Sidslut = | = Sidslut = |
Nuvarande version från 22 april 2025 kl. 05.51
NAMN
git-cvsimport - Rädda din data från ett annat versionshanteringssystem som folk älskar att hata
SYNOPSIS
git cvsimport [-o <gren-för-HEAD>] [-h] [-v] [-d <CVSROOT>]
[-A <författarkonverteringsfil>] [-p <alternativ-för-cvsps>] [-P <fil>] [-C <git-arkiv>] [-z <fuzz>] [-i] [-k] [-u] [-s <subst>] [-a] [-m] [-M <regex>] [-S <regex>] [-L <commit-gräns>] [-r <fjärr>] [-R] [<CVS-modul>]
BESKRIVNING
VARNING: git cvsimport använder cvsps version 2, som anses vara föråldrad; det fungerar inte med cvsps version 3 och senare. Om du utför en engångsimport av ett CVS-arkiv, överväg att använda cvs2git[1] eller cvs-fast-export[2].
Importerar ett CVS-arkiv till Git. Det kommer antingen att skapa ett nytt arkiv eller inkrementellt importera till ett befintligt.
Uppdelningen av CVS-loggen i patch-uppsättningar görs av cvsps. Minst version 2.1 krävs.
VARNING: i vissa situationer leder importen till felaktiga resultat. Se avsnittet ISSUES för ytterligare referens.
Du bör aldrig utföra något eget arbete på de grenar som skapas av git cvsimport. Som standard kommer den initiala importen att skapa och fylla en "master"-gren från CVS-arkivets huvudgren som du fritt kan arbeta med; därefter måste du själv göra git merge av inkrementella importer eller eventuella CVS-grenar. Det är lämpligt att ange en namngiven fjärransluten plats via -r för att separera och skydda de inkommande grenarna.
Om du avser att skapa ett delat offentligt arkiv som alla utvecklare kan läsa/skriva till, eller om du vill använda git-cvsserver(1), vill du förmodligen göra en "bare clone" av det importerade arkivet och använda klonen som det delade arkivet. Se gitcvs-migration(7).
ALTERNATIV
- -v
- Utförlig utskrift: låt cvsimport rapportera vad det gör.
- -d <CVSROOT>
- Roten för CVS-arkivet. Kan vara lokal (en enkel sökväg) eller fjärransluten;
för närvarande stöds endast åtkomstmetoderna :local:, :ext: och :pserver:. Om inget anges kommer git cvsimport att försöka läsa det från CVS/Root. Om ingen sådan fil finns kontrolleras miljövariabeln CVSROOT.
- <CVS-modul>
- Den CVS-modul du vill importera. Relativt till <CVSROOT>. Om inget anges
försöker git cvsimport läsa det från CVS/Repository.
- -C <målkatalog>
- Git-arkivet att importera till. Om katalogen inte finns skapas den.
Standard är den aktuella katalogen.
- -r <fjärr>
- Den Git-fjärranslutna platsen att importera detta CVS-arkiv till. Flyttar
alla CVS-grenar till remotes/<fjärr>/<gren> på liknande sätt som git clone använder origin som standard.
- -o <gren-för-HEAD>
- När ingen fjärransluten plats anges (via -r) importeras HEAD-grenen från
CVS till origin-grenen inom Git-arkivet, eftersom HEAD redan har en speciell betydelse för Git. När en fjärransluten plats anges namnges HEAD-grenen remotes/<fjärr>/master, vilket speglar beteendet hos git clone. Använd detta alternativ om du vill importera till en annan gren. Använd -o master för att fortsätta en import som initialt gjordes med det gamla cvs2git-verktyget.
- -i
- Endast import: utför ingen utcheckning efter importen. Detta alternativ
säkerställer att arbetskatalogen och indexet förblir orörda och kommer inte att skapas om de inte finns.
- -k
- Ta bort nyckelord: extraherar filer med -kk från CVS-arkivet för att
undvika brusiga ändringsuppsättningar. Rekommenderas starkt, men är avstängt som standard för att bevara kompatibilitet med tidigt importerade träd.
- -u
- Konvertera understreck i tagg- och grennamn till punkter.
- -s <subst>
- Ersätt tecknet "/" i grennamn med <subst>
- -p <alternativ-för-cvsps>
- Ytterligare alternativ för cvsps. Alternativen -u och -A är
underförstådda och bör inte användas här. Om du behöver skicka flera alternativ, separera dem med ett kommatecken.
- -z <fuzz>
- Skicka tidsstämpelfuzz-faktorn till cvsps, i sekunder. Om inget anges är
standardvärdet för cvsps 300 sekunder.
- -P <cvsps-utdatafil>
- Istället för att anropa cvsps, läs den angivna cvsps-utdatafilen. Användbart
för felsökning eller när cvsps hanteras utanför cvsimport.
- -m
- Försök att detektera sammanslagningar baserat på commit-meddelandet. Detta
alternativ aktiverar standardregex som försöker fånga källgrenens namn från commit-meddelandet.
- -M <regex>
- Försök att detektera sammanslagningar baserat på commit-meddelandet med
ett anpassat regex. Det kan användas med -m för att även aktivera standardregexen. Du måste escapa snedstreck. Regexet måste fånga källgrenens namn i $1. Detta alternativ kan användas flera gånger för att ange flera detekteringsregex.
- -S <regex>
- Hoppa över sökvägar som matchar regexet.
- -a
- Importera alla commits, inklusive de senaste. Som standard hoppar
cvsimport över commits som har en tidsstämpel som är mindre än 10 minuter gammal.
- -L <gräns>
- Begränsa antalet commits som importeras. Workaround för fall där
cvsimport läcker minne.
- -A <författarkonverteringsfil>
- CVS använder som standard Unix-användarnamnet när det skriver sina
commit-loggar. Genom att använda detta alternativ och en författarkonverteringsfil mappas namnet som registrerats i CVS till författarnamn, e-post och valfri tidszon: exon=Andreas Ericsson <ae@op5.se> spawn=Simon Pawn <spawn@frog-pond.org> America/Chicago git cvsimport kommer att få det att se ut som om dessa författare alltid har haft GIT_AUTHOR_NAME och GIT_AUTHOR_EMAIL korrekt inställda. Om en tidszon anges kommer GIT_AUTHOR_DATE att ha motsvarande offset applicerad. För enkelhetens skull sparas dessa data till $GIT_DIR/cvs-authors varje gång alternativet -A anges och läses från samma fil varje gång git cvsimport körs. Det rekommenderas inte att använda den här funktionen om du avser att exportera ändringar tillbaka till CVS igen senare med git cvsexportcommit.
- -R
- Generera en fil $GIT_DIR/cvs-revisions som innehåller en mappning
från CVS-revisionsnummer till nyskapade Git-commit-ID:n. Den genererade filen kommer att innehålla en rad för varje (filnamn, revision)-par som importerats; varje rad kommer att se ut så här: src/widget.c 1.1 1d862f173cdc7325b6fa6d2ae1cfd61fd1b512b7 Revisionsdatan läggs till i filen om den redan finns, för användning vid inkrementella importer. Detta alternativ kan vara användbart om du har CVS-revisionsnummer lagrade i commit-meddelanden, bugghanteringssystem, e-postarkiv och liknande.
- -h
- Skriv ut ett kort användningsmeddelande och avsluta.
OUTPUT
Om -v anges rapporterar skriptet vad det gör. I annat fall indikeras framgång på Unix-vis, dvs. genom att helt enkelt avsluta med statuskod noll.
ISSUES
Problem relaterade till tidsstämplar:
- Om tidsstämplarna för commits i CVS-arkivet inte är tillräckligt stabila
för att användas för att ordna commits kan ändringar visas i fel ordning.
- Om några filer någonsin har "cvs import"-importerats mer än en gång (t.ex.
import av mer än en leverantörsrelease) innehåller HEAD felaktigt innehåll.
- Om tidsstämpelordningen för olika filer korsar revisionsordningen inom
tidsfönstret för commit-matchning kan ordningen på commits vara felaktig.
Problem relaterade till grenar:
- Grenar på vilka inga commits har gjorts importeras inte.
- Alla filer från greningspunkten läggs till i en gren även om de aldrig
lagts till i CVS.
- Detta gäller filer som lagts till i källgrenen efter att en dottergren
skapades: om ingen commit tidigare gjordes på dottergrenen kommer de felaktigt att läggas till i dottergrenen i git.
Problem relaterade till taggar:
- Flera taggar på samma revision importeras inte.
Om du misstänker att något av dessa problem kan gälla det arkiv du vill importera, överväg att använda cvs2git:
- cvs2git (del av cvs2svn), https://subversion.apache.org/
GIT
Del av git(1)-sviten
ANMÄRKNINGAR
1. cvs2git <http://cvs2svn.tigris.org/cvs2git.html> 2. cvs-fast-export <https://gitlab.com/esr/cvs-fast-export>
KOLOFON
Den här sidan är en del av projektet git (Git distribuerat versionshanteringssystem). Information om projektet finns på <⟨http://git-scm.com/⟩>. Om du har en felrapport för den här manualsidan, se <⟨http://git-scm.com/community⟩>. Den här sidan hämtades från projektets uppströms Git-arkiv <⟨https://github.com/git/git.git⟩> den 2025-02-02. (Vid den tidpunkten var datumet för den senast hittade commiten i arkivet 2025-01-31.) Om du upptäcker några renderingsproblem i den här HTML-versionen av sidan, eller om du tror att det finns en bättre eller mer aktuell källa för sidan, eller om du har korrigeringar eller förbättringar av informationen i den här KOLOFONEN (som *inte* är en del av den ursprungliga manualsidan), skicka ett e-postmeddelande till man-pages@man7.org
Sidslut
Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/git-cvsimport.1.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp Bromma som har sponsrat Linux.se med webbhotell.