git-cvsimport(1): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
Ingen redigeringssammanfattning
 
Rad 38: Rad 38:


== ALTERNATIV ==
== ALTERNATIV ==
-v Utförlig utskrift: låt ''cvsimport'' rapportera vad det gör.
* -v
 
:: Utförlig utskrift: låt ''cvsimport'' rapportera vad det gör.
-d <CVSROOT>
* -d <CVSROOT>
 
:: Roten för CVS-arkivet. Kan vara lokal (en enkel sökväg) eller fjärransluten;
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:.
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
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/Root'''. Om ingen sådan fil finns kontrolleras miljövariabeln
* <CVS-modul>
 
:: Den CVS-modul du vill importera. Relativt till <CVSROOT>. Om inget anges
'''CVSROOT'''.
  försöker ''git cvsimport'' läsa det från '''CVS/Repository'''.
 
* -C <målkatalog>
<CVS-modul>
:: Git-arkivet att importera till. Om katalogen inte finns skapas den.
Den CVS-modul du vill importera. Relativt till <CVSROOT>. Om inget anges
  Standard är den aktuella katalogen.
försöker ''git cvsimport'' läsa det från '''CVS/Repository'''.
* -r <fjärr>
 
:: Den Git-fjärranslutna platsen att importera detta CVS-arkiv till. Flyttar
-C <målkatalog>
  alla CVS-grenar till remotes/<fjärr>/<gren> på liknande sätt som ''git
Git-arkivet att importera till. Om katalogen inte finns skapas den.
  clone'' använder ''origin'' som standard.
Standard är den aktuella katalogen.
* -o <gren-för-HEAD>
-r <fjärr>
:: När ingen fjärransluten plats anges (via -r) importeras HEAD-grenen från
Den Git-fjärranslutna platsen att importera detta CVS-arkiv till. Flyttar
  CVS till origin-grenen inom Git-arkivet, eftersom HEAD redan har en
alla CVS-grenar till remotes/<fjärr>/<gren> på liknande sätt som ''git''
  speciell betydelse för Git. När en fjärransluten plats anges namnges
clone'' använder ''origin'' som standard.''
  HEAD-grenen remotes/<fjärr>/master, vilket speglar beteendet hos ''git
-o <gren-för-HEAD>
  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
När ingen fjärransluten plats anges (via -r) importeras HEAD-grenen från
  med det gamla cvs2git-verktyget.
 
* -i
CVS till origin-grenen inom Git-arkivet, eftersom HEAD redan har en
:: Endast import: utför ingen utcheckning efter importen. Detta alternativ
 
  säkerställer att arbetskatalogen och indexet förblir orörda och kommer
speciell betydelse för Git. När en fjärransluten plats anges namnges
  inte att skapas om de inte finns.
 
* -k
HEAD-grenen remotes/<fjärr>/master, vilket speglar beteendet hos ''git''
:: Ta bort nyckelord: extraherar filer med ''-kk'' från CVS-arkivet för att
 
  undvika brusiga ändringsuppsättningar. Rekommenderas starkt, men är
clone''. Använd detta alternativ om du vill importera till en annan gren.''
  avstängt som standard för att bevara kompatibilitet med tidigt importerade
 
  träd.
Använd ''-o master'' för att fortsätta en import som initialt gjordes
* -u
 
:: Konvertera understreck i tagg- och grennamn till punkter.
med det gamla cvs2git-verktyget.
* -s <subst>
 
:: Ersätt tecknet "/" i grennamn med <subst>
-i Endast import: utför ingen utcheckning efter importen. Detta alternativ
* -p <alternativ-för-cvsps>
säkerställer att arbetskatalogen och indexet förblir orörda och kommer
:: Ytterligare alternativ för cvsps. Alternativen '''-u''' och ''-A'' är
inte att skapas om de inte finns.
  underförstådda och bör inte användas här.
 
  Om du behöver skicka flera alternativ, separera dem med ett kommatecken.
-k Ta bort nyckelord: extraherar filer med ''-kk'' från CVS-arkivet för att
* -z <fuzz>
 
:: Skicka tidsstämpelfuzz-faktorn till cvsps, i sekunder. Om inget anges är
undvika brusiga ändringsuppsättningar. Rekommenderas starkt, men är
  standardvärdet för cvsps 300 sekunder.
 
* -P <cvsps-utdatafil>
avstängt som standard för att bevara kompatibilitet med tidigt importerade
:: Istället för att anropa cvsps, läs den angivna cvsps-utdatafilen. Användbart
träd.
  för felsökning eller när cvsps hanteras utanför cvsimport.
-u
* -m
Konvertera understreck i tagg- och grennamn till punkter.
:: Försök att detektera sammanslagningar baserat på commit-meddelandet. Detta
-s <subst>
  alternativ aktiverar standardregex som försöker fånga källgrenens namn
Ersätt tecknet "/" i grennamn med <subst>
  från commit-meddelandet.
-p <alternativ-för-cvsps>
* -M <regex>
Ytterligare alternativ för cvsps. Alternativen '''-u''' och ''-A'' är
:: Försök att detektera sammanslagningar baserat på commit-meddelandet med
underförstådda och bör inte användas här.
  ett anpassat regex. Det kan användas med '''-m''' för att även aktivera
Om du behöver skicka flera alternativ, separera dem med ett kommatecken.
  standardregexen. Du måste escapa snedstreck.
-z <fuzz>
  Regexet måste fånga källgrenens namn i $1.
Skicka tidsstämpelfuzz-faktorn till cvsps, i sekunder. Om inget anges är
  Detta alternativ kan användas flera gånger för att ange flera
standardvärdet för cvsps 300 sekunder.
  detekteringsregex.
-P <cvsps-utdatafil>
* -S <regex>
Istället för att anropa cvsps, läs den angivna cvsps-utdatafilen. Användbart
:: Hoppa över sökvägar som matchar regexet.
för felsökning eller när cvsps hanteras utanför cvsimport.
* -a
-m
:: Importera alla commits, inklusive de senaste. Som standard hoppar
Försök att detektera sammanslagningar baserat på commit-meddelandet. Detta
  cvsimport över commits som har en tidsstämpel som är mindre än 10
alternativ aktiverar standardregex som försöker fånga källgrenens namn
  minuter gammal.
från commit-meddelandet.
* -L <gräns>
-M <regex>
:: Begränsa antalet commits som importeras. Workaround för fall där
Försök att detektera sammanslagningar baserat på commit-meddelandet med
  cvsimport läcker minne.
ett anpassat regex. Det kan användas med '''-m''' för att även aktivera
* -A <författarkonverteringsfil>
standardregexen. Du måste escapa snedstreck.
:: CVS använder som standard Unix-användarnamnet när det skriver sina
Regexet måste fånga källgrenens namn i $1.
  commit-loggar. Genom att använda detta alternativ och en
Detta alternativ kan användas flera gånger för att ange flera
  författarkonverteringsfil mappas namnet som registrerats i CVS till
detekteringsregex.
  författarnamn, e-post och valfri tidszon:
-S <regex>
      exon=Andreas Ericsson <ae@op5.se>
Hoppa över sökvägar som matchar regexet.
      spawn=Simon Pawn <spawn@frog-pond.org> America/Chicago
-a
  ''git cvsimport'' kommer att få det att se ut som om dessa författare
Importera alla commits, inklusive de senaste. Som standard hoppar
  alltid har haft GIT_AUTHOR_NAME och GIT_AUTHOR_EMAIL korrekt inställda.
cvsimport över commits som har en tidsstämpel som är mindre än 10
  Om en tidszon anges kommer GIT_AUTHOR_DATE att ha motsvarande offset
minuter gammal.
  applicerad.
-L <gräns>
  För enkelhetens skull sparas dessa data till '''$GIT_DIR/cvs-authors'''
Begränsa antalet commits som importeras. Workaround för fall där
  varje gång alternativet ''-A'' anges och läses från samma fil varje
cvsimport läcker minne.
  gång ''git cvsimport'' körs.
-A <författarkonverteringsfil>
  Det rekommenderas inte att använda den här funktionen om du avser att
CVS använder som standard Unix-användarnamnet när det skriver sina
  exportera ändringar tillbaka till CVS igen senare med ''git
commit-loggar. Genom att använda detta alternativ och en
  cvsexportcommit''.
författarkonverteringsfil mappas namnet som registrerats i CVS till
* -R
författarnamn, e-post och valfri tidszon:
:: Generera en fil '''$GIT_DIR/cvs-revisions''' som innehåller en mappning
exon=Andreas Ericsson <ae@op5.se>
  från CVS-revisionsnummer till nyskapade Git-commit-ID:n. Den genererade
spawn=Simon Pawn <spawn@frog-pond.org> America/Chicago
  filen kommer att innehålla en rad för varje (filnamn, revision)-par som
''git cvsimport'' kommer att få det att se ut som om dessa författare
  importerats; varje rad kommer att se ut så här:
alltid har haft GIT_AUTHOR_NAME och GIT_AUTHOR_EMAIL korrekt inställda.
      src/widget.c 1.1 1d862f173cdc7325b6fa6d2ae1cfd61fd1b512b7
Om en tidszon anges kommer GIT_AUTHOR_DATE att ha motsvarande offset
  Revisionsdatan läggs till i filen om den redan finns, för användning
applicerad.
  vid inkrementella importer.
För enkelhetens skull sparas dessa data till '''$GIT_DIR/cvs-authors'''
  Detta alternativ kan vara användbart om du har CVS-revisionsnummer
varje gång alternativet ''-A'' anges och läses från samma fil varje
  lagrade i commit-meddelanden, bugghanteringssystem, e-postarkiv och
gång ''git cvsimport'' körs.
  liknande.
Det rekommenderas inte att använda den här funktionen om du avser att
* -h
exportera ändringar tillbaka till CVS igen senare med ''git''
:: Skriv ut ett kort användningsmeddelande och avsluta.
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 ==
== OUTPUT ==
Rad 203: 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:

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.