Arbejd med patch
Ved hjælp af patches kan udviklere dele arbejde uden at gemme det i et opbevaringssted. Det kan være nyttigt, når en udvikler vil bidrage til et projekt, der er delt via et opbevaringssted, og ikke har skriveadgang til opbevaringsstedet.
I det tilfælde kan udvikleren oprette en patch og enten sende den til en udvikler, der har skriveadgang, eller knytte den til en fejl i fejlrapporteringssystemet, der anvendes af projektet, afhængigt af den proces der er defineret af projektet. En udvikler, som har skriveadgang, kan derefter anvende patchen på projektet og committe ændringerne.
Sådan opretter du en patch fra et CVS-projekt:
- Vælg den ressource, der indeholder de ændringer, der skal inkluderes i patchen.
Du kan vælge ressourcer, der findes i flere projekter og på ethvert niveau, da guiden Opret patch, når den afvikles i standardtilstand, ved hvordan den opretter et multiprojekt.
Patchen skal anvendes på de samme filrevisioner, som den er genereret på baggrund af. Du skal derfor sikre, at patchen anvendes på samme ressourcesammenstilling. Den nemmeste måde at gøre det på er at oprette patchen oven på revisionen.
- Vælg Team > Opret patch... i pop op-menuen. Guiden Opret patch vises.
- Vælg, hvor patchen skal gemmes:
- Gem i udklipsholder - Patchen placeres i udklipsholderen, så den kan sættes ind i en teksteditor, f.eks. et e-mail-program.
- Gem i filsystem - Patchen placeres i den angivne fil i det lokale filsystem.
- Gem i arbejdsområde - Patchen placeres i den angivne fil i et af de eksisterende arbejdsbænkprojekter.
Små patch kan overføres ved hjælp af udklipsholderen, men i de fleste tilfælde er det bedst at bruge det lokale filsystem.
- Du kan få vist resultatet af og fintune patchen ved at udvide træstrukturen Ressourcer, der vises i delvinduet Ændringer.
Kun de elementer, der er valgte, inkluderes i patchen. Klik på Næste
for at konfigurere, hvordan patchen skal genereres.
- Vælg, hvordan patchen skal konfigureres:
- Diff-outputformat - Du kan vælge mellem flere forskellige, fælles diff-outputformater. Unified er det format, der benyttes af mange patchprogramværktøjer, bl.a. Eclipse.
- Patch-rod - Tillader dig at angive, på hvilket nivaeu din patch har rod. Valgene er Arbejdsområde, Projekt og Valg.
Arbejdsområde tillader dig at inkludere ressourcer fra flere projekter i din patch og er er standardindstillingen. Arbejdsområde-patches kan anvendes på alle ressourcer i arbejdsområdet. De indeholder tilstrækkelige oplysninger til at tillade guiden Anvend patch til at konfigurere, hvilke ressourcer, der skal anvendes patch til.
Projekt-patches har rod på projektniveau. Det betyder, at de kun kan indeholde ressourcer fra ét projekt og skal anvendes på det samme projekt.
Valg-patches har rod i den valgte ressource og kan kun anvendes på den samme ressource.
- Klik på Afslut.
- Overfør patchen til det projekt, der skal opdateres med patch.
Sådan anvendes en patch:
- Vælg den ressource, som patchen blev genereret ud fra. Ressourcen skal indeholde de samme filrevisioner, som den sammenstilling patchen blev genereret ud fra.
- Vælg Team>Anvend patch... på pop op-menuen. Guiden Resource
Patcher åbnes.
- Angiv, hvor patchen er placeret:
- Fil - Patchen er i en fil på det lokale filsystem. Angiv hele stien til filen, eller brug knappen
Gennemse... for at finde filen.
- Udklipsholder - Patchen er i udklipsholderen. Advarsel: Det er sikrere at benytte en filbaseret patch. Linjeslut håndteres evt. ikke korrekt, hvis du bruger udklipsholderen, og patchen er genereret på en anden platform, f.eks. Linux kontra Windows.
- Arbejdsområde - Patchen er gemt et sted i arbejdsområdet.
Klik på Næste for at se virkningen af at anvende patchen.
-
Valgfri trin: Dette trin anvendes, hvis du har en patch med rod på projekt- eller valgniveau. Patches med rod i arbejdsområdet fortsætter automatisk til resultatsiden Patch. På siden Specifikation af patch-mål skal du vælge den ressource, der skal fungere som roden for patchen.
- Siden for visning af resultatet af patch viser, om patchen kan anvendes på filerne i arbejdsområdet. Det øverste delvindue viser listen med ændringer i patchen.
Hvis du vælger et bladelement i træstrukturen, viser nederste delramme den del af patchfilen (kaldet 'hunk' inden for patchterminologien) i en præsentation side om side, som er nem at læse. Bemærk: Den nederste delramme viser ikke et eksempel på, hvordan ressourcerne i arbejdsområdet ser ud, efter anvendelsen af en 'hunk'. Den viser kun indholdet af patchfilen.
-
Et valgte element viser, at en patch (eller hunk) kan anvendes på arbejdsområderessourcen. Du kan udelukke patches eller individuelle 'hunk' ved at fjerne markeringen fra dem.
-
Et rødt udråbstegn angiver, at der er problemer med en patch eller 'hunk'.
Det sker, hvis patchen ikke er korrekt dannet, eller hvis revisionen for en eller flere af de filer, som patchen er genereret på baggrund af, ikke matcher med de revisioner, som patchen anvendes på.
Årsagen til fejlen vises i parentes.
For at kunne anvende hele patchen korrekt skal du have fjernet problemerne (de røde udråbstegn) og have valgte elementer alle vegne ved at tweake valgene på denne side i guiden (se Valg nedenfor).
- Klik på Afslut for at anvende patchen, når alt ser fint ud. Arbejdsområdet indeholder nu udgående ændringer for hver af de filer, det er ændret ved hjælp af patchen.
Indstillinger i forbindelse med anvendelse af patch
Du skal have angivet følgende indstillinger for at få en succesfuld match af patchfilen:
-
Gå til første side i guiden Resource Patcher, og vælg den korrekte ressource, som patchen skal anvendes på.
-
Hvis et almindeligt præfiks for stinavnene i patchfilen ikke matcher med stinavnene i det aktuelle arbejdsområde, kan du ignorere foranstående stinavnsegmenter.
-
Brug 'Ignorér tom plads' for at gøre matchprocessen uafhængig af forskellige i tom plads mellem patch-filen og filerne i arbejdsområdet.
-
Justér 'Maksimal fuzz-faktor' (patch-terminologi).
Denne faktor viser, hvor mange linjer fra top til bund i konteksten, der ignoreres, når der findes en match. Standardværdien er 2.
-
Brug muligheden 'Omvendt patch' til patch-filer, som allerede er anvendt på arbejdsområdet. Denne mulighed er også nyttig i forbindelse med fortrydelse eller gentagelse af en patch.
-
For patches til arbejdsområdet skal du bruge Nyt mål for patch for at vælge et andet projekt i arbejdsområdet, som patch-ændringerne skal anvendes til.
For at gøre dette skal du vælge et projekt i det øverste delvindue og klikke på knappen Nyt mål for patch.
Det åbner en dialogboks med en liste over tilgængelige projekter i arbejdsområdet.
Vælg et projekt, og klik på OK. Patch-ændringerne udføres på det valgte projekt.

Teamprogrammering med CVS

Sammenlign ressourcer

CVS