Development/gerrit/SubmitPatch/da

    From The Document Foundation Wiki
    This page is a translated version of the page Development/gerrit/SubmitPatch and the translation is 100% complete.

    Indsend et lapper til gennemsyn med gerrit

    Indsendelse af lapper til gennemsyn

    Stephan Bergmann holdt en nyttig præsentation i FOSDEM 2021 kaldet The Perfect Gerrit Patch - en forbrugerrapport.

    Vigtigt: der er normalt aldrig en grund til at opgive dit lap. Læs venligst afsnittet om indsendelse af en ny version.

    Opret og skub din ændring til gerrit til gennemsyn (officiel gerrit-dokumentation findes her):

    git checkout -b <a_local_branch_name_of_your_choice> origin/master
    # lav dine ændringer af koden, sørg for den bygger
    git add file1 [file2 ...] # alle de nye filer _og_ ændrede filer
    git commit
    ./logerrit submit master

    OBS: for at `logerrit` kommandoen virker, skal du sørge for at have gjort dig klar til gerrit. Instruktioner findes her.

    Den første kommando opretter en ny gren og får den til at spore origin/master fjern gren. Dette gør det muligt for følgende ./g pull -r at (gen)basere din filial automatisk på den seneste master, hvilket kan være en nødvendig forudsætning at indsende, når din filial bliver ældre end en uge.

    Hvis du havde oprettet en gren uden at angive en ekstern gren at spore, og nu ./g pull -r ikke (gen)basere grenen automatisk, kan du også bruge kommandoen git branch -u origin /master på en eksisterende gren for at starte sporing.

    OBS: trinnet git add + git commit kan udføres med 'git gui', husk venligst, at commit-emnelinjen ikke bør være længere end 72 tegn og at commit-meddelsens linjer ikke bør være længere end 80 tegn.

    OBS: for at mestre indsendelser, er det nyt at (gen)basere ændringer på en nylig version af masteren, sådan at CI-builds på jenkins kan drage mest muligt nytte af ccache.

    OBS: LibreOffice bruger clang-format til at tjekke patsches for ovensstemmelse med etablerede regler. Vi bruger en specifik version af clang-format (for at undgå inkonsistenser, som findes mellem forskellige versioner af det, selv mellem mindre udgivelser). Hvis der ikke er forudinstalleret et clang-format, bliver der sendt en advarsel på tidspinktet for git commit, med instruktioner om, hvordan de nødvendige binære skal installeres. Hvis du har en eller anden version installeret, får du måske ikke advarsler (men får usammenhængende resultater, når buildbots mislykkes, der fortæller dig, at du skal ændre formateringen på en anden måde), eller den præinstallerede version ikke virker (fx beklager sig over kommandolinje-indstillingerne). Den version, der bruges af LibreOffice kan findes på https://dev-www.libreoffice.org/bin/.

    Kun den sidste linje er speciel og vil skubbe alle lapper i den navngivne lokale gren til revisions-køen fil master-grenen (Juster den derfor, hvis du vil indesende et patch til en af udgivelses-grenene eller andre grene). Når du er lejlighedsvis bidragsyder, skal dit lap have samme e-mailadresse som din konto, ellers får du ikke tilladelse til at skubbe.

    Hvis dit skub lykkes, vil git fortælle, hvor dit tilsagn venter på gennemsyn. URLen vil ligne noget i retning af https://gerrit.libreoffice.org/#/c/229/.

    Det er en god ide at beholde din lokale gren, mens dit lap er til gennemsyn, det vil gøre det muligt ubesværet at skubbe en ny version af patchet. I mellemtiden kan du

    git checkout master

    Vende tilbage til master-grenen... og du kan begynde at arbejde på et andet lap efter metoden ovenfor (oprette en lokal gren, kode, indsende og skubbe til gerrit).

    Sæt dig selv på listen over bidragsydere

    Hvis det er første gang, du bidrager med et patch til LibreOffice-projektet, skriv dig venligst på listen over udviklere og bidragsydere (ifølge instruktionerne der) og angiv dine bidrags licens.

    Send venligst ikke erklæringen før du sender dit første bidrag til gerrit og sørg for at du har tilladelse fra dine forældre, hvis du er mindreårig

    Alternativ: brug git-indsendelse

    Som et alternativ til ovenstående kan overveje at bruge "git review" som forklaret i Development/GitReview.

    Gennemgang af lapper

    Næste trin efter indsendelse af en patch er at gennemgå den i fællesskab på gerrit. Se Development/gerrit/PatchReview for at lære mere.

    Detaljeret behandling af nogle emner under indsendelse af lapper

    Indsendelse af en ny version

    Hvis du får brug for at indsende en ny version af dit patch under gennemsynet, sender du:

    git checkout <lokal_gren_associeret_med_dit_lap> <foretag din ændring>
    git add ...
    git commit --amend  # Ændrer den sidste commit på grenen i stedet for at oprette en ny. Brug aldrig -m-indstillingen her!
    ./logerrit submit master

    Bemærk, at gerrit vil opdage at det er en ny version af en eksisterende ændring (takket være Change-Id-linjen, der automatisk blev indsat i commit-meddelelsen, da den oprindeligt blev indsendt).

    Tip.svg

    Tip:
    Hvis du ved en fejl glemte at bruge --amend og nu har 2 indsendelser, kan du flette dem med git rebase -i; se instruktioner på Git for LibreOffice-udviklere.


    Brug af git review til af forbedre ændringer og indsende nye patch-versioner

    At forbedre ændringer manuelt på ovennævnte måde kan hurtigt blive forvirrende og at holde styr på local_branch_associated_with_your_patch fører let til fejl (associeret, hvordan egentlig?). Hvis du har indsendt flere ændringer til gerrit, er det umuligt at holde dem alle på master-grenen og forbedre dem særskilt. Du er enten nødt til nulstille HEAD^ efter hver indsendelse og downloade/ændre/forbedre/indsende/nulstille for hvert nyt sæt patches eller gøre det i det enkelte grene. Så det er her git review bliver nyttigt.

    Læs venligst Development/GitReview#Amending_a_gerrit_change for at se, hvordan du gør det.

    Indsendelse af lapper som private eller igangværende arbejde

    Hvis du bruger ./logerrit submit master%private i stedet for ./logerrit submit master, opretter du en privat ændring.

    Sådan en ændring vil kun være synlig for dig og hvem, du ellers tilføjer som anmelder med knappen 'Tilføj anmelder' i gerrit.

    Hvis du ikke har brug for at skjule din ændring for den brede offentlighed, kan du bruge ./logerrit submit master%wip til at oprette en ændring som igangværende arbejde.

    Hvis du ikke bruger logerrit, skub til refs/for/branch%private eller refs/for/branch%wip.

    Du kan også slå tilstandene privat og igangværende arbejde til/fra i brugergrænsefladen til gerrit.

    Indsendelse af lapper til undermodulerne ordbøger, hjælpindhold2, oversættelser til gennemsyn

    Se den side der behandler Undermoduler.

    Cherry picking yourself out of trouble

    Ignoring the advice about submitting new versions of patches is common. This might lead to deleting a local branch or submitting a new patch depending on an older patch. In order to work on your original patch locally again, do the following:

    1. In a terminal, check out a new branch from master
    2. Click the kebab menu in the top right corner of the Gerrit patch view
    3. Select Download patch
    4. Click the copy button next to Cherry Pick
    5. Paste the copied command into your terminal
    6. Follow the modifying and amending advice from the section about submitting a new version