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 87% complete.

    Indsend et patch til gennemsyn med gerrit

    Indsendelse af patches til gennemsyn

    Stephan Bergmann gave a helpful presentation in FOSDEM 2021 called The Perfect Gerrit Patch - a consumer report.

    Important: there is normally never a reason to abandon your patch. Please read carefully the section about submitting a new 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 ...] # all the new files _and_ changed files
    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.

    The first command creates a new branch, and makes it track origin/master remote branch. This allows following ./g pull -r to rebase your branch automatically on the latest master, which may be a necessary precondition to submit, when your branch gets older than a week.

    If you had created a branch without specifying a remote branch to track, and now ./g pull -r doesn't rebase the branch automatically, you may also use command git branch -u origin/master on an existing branch to start tracking.

    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 patches 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 patch 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 patch 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 patch 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.

    Reviewing patches

    The next step after submitting a patch is collaboratively reviewing it on gerrit. See Development/gerrit/PatchReview to learn more.

    Detaljeret behandling af nogle emner under indsendelse af patches

    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_patch>
    <foretag din ændring>
    git add ...
    git commit --amend  # dette ændrer den seneste indsendelse på grenen, snarere end at oprette en ny
    ./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.


    You will either have to reset HEAD^ after each submission and download/modify/amend/submit/reset for each new patch set, or do that in separate branches and this is where git review comes in handy.

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

    Indsendelse af patches 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 patches 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