git-cvsimport(1): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(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-...')
 
Ingen redigeringssammanfattning
 
(3 mellanliggande sidversioner av samma användare visas inte)
Rad 1: Rad 1:
{{manpage|section=1|title=git-cvsimport}}
== 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:

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.