For bakgrunnen på spørsmålet mitt svn vant t diff en fil den synes er binær. En nylig stabel overflow svar svn diff fil merket som binær type viste at du kan tvinge en mime type. Merk at tidligere svar er ufullstendig må du også. Nå min nye spørsmålet er, kan jeg angi en standard, så alle fremtidige filer blir behandlet som tekst av svn. Redboken ser tydelig ut på dette emnet og sier bare. Hvilke unntak er disse unntakene bakt inn i svn-koden eller tilgjengelig. Svaret avhenger av svn-klienten at du bruker I den offisielle svn-klienten, er alternativet du leter etter, automatisk innstilling av tigr. Tldr-versjonen må du oppdatere brukeren eller systemkonfigurasjonen, sett innstillingen for aktivering av auto-props til Ja i Miscellany-delen, og opprett en Ny seksjon som kalles auto-props som definerer mønstrene du vil matche og egenskapene du ønsker å sette. For ditt eksempel på kml-filer. Dette vil sikre at når du legger til en fil i depotet ditt, vil den ha en mime-type av tekst vanlig og vil bruke l endringer som er opprinnelige til klientens plattform. Vis forskjellene mellom to baner Du kan bruke svn diff på følgende måter. Bruk bare svn diff for å vise lokale modifikasjoner i en arbeidskopi. Viser endringene som er gjort til TARGET s som de er sett i REV mellom to revisjoner TARGET s kan være alle arbeidskopi-baner eller alle nettadresser s Hvis TARGET s arbeider kopieringsbaner, N er standard til BASE og M til arbeidskopien dersom TARGET s er URL s, må N angis og M angis til M HEAD - c M-alternativet tilsvarer - r NM hvor N M-1 bruker - c - M gjør omvendt - r MN hvor N M-1.Display forskjellene mellom OLD-TGT som det ble sett i OLDREV og NEW - TGT som det ble sett i NEWREV PATH s, hvis det er oppgitt, er i forhold til OLD-TGT og NEW-TGT og begrenser utdataene til forskjeller for de stiene OLD-TGT og NEW-TGT kan være arbeidskopi-baner eller URL REV NEW-TGT standard til OLD-TGT hvis ikke spesifisert - r N gjør OLDREV standard til N - r NM gjør OLDREV standard til N og NEWREV standard til M. svn diff OLD-UR L OLDREV NEW-URL NEWREV er stenografi for svn diff - OLD-URL OLDREV - Ny ny URL-URL NEWREV. svn diff - r NM URL er stenografi for svn diff - r NM - Gyldig URL --New URL. svn diff - r NM URL1 N URL2 M er stenografi for svn diff - r NM - old URL1 - ny URL2.If TARGET er en nettadresse, så revs N og M kan gis enten via alternativet --revision - r eller ved ved bruk av notasjonen som beskrevet tidligere. Hvis TARGET er en arbeidsboksvei, er standardoppførselen når ikke-revisjon - r er angitt, å vise forskjellene mellom basis og arbeidskopier av TARGET Hvis et --revvision - r alternativ er spesifisert i dette scenariet, men det betyr det. Serveren sammenligner TARGET N og TARGET M. Klienten sammenligner TARGET N mot arbeidskopien. Hvis det alternative syntaksen brukes, sammenligner serveren URL1 og URL2 ved revisjoner N og M henholdsvis Hvis enten N eller M er utelatt, en verdi på HEAD antas. Som standard ignorerer svn diff forfedre av filer og sammenligner bare innholdet i de to filene som sammenlignes Hvis du bruker notatfødt, vil ankestet til de aktuelle stiene bli tatt i betraktning når du sammenligner revisjoner, dvs. hvis du kjører svn diff på to filer med identisk innhold, men forskjellig forfedre, vil du se hele innholdet i filen som å ha blitt fjernet og lagt til igjen. svn Subversion Command-Line Client. svn er den offisielle kommandolinjeklienten til Subversion Dens funksjonalitet tilbys via en samling av oppgavespesifikke underkommandoer, hvorav de fleste aksepterer en rekke muligheter for finkornet kontroll av programmets oppførsel. Når du bruker svn-programmet, skal underkommandoer og andre ikke-alternativ argumenter vises i en bestemt rekkefølge på kommandolinjen Alternativer, derimot, kan vises overalt på kommandolinjen etter programnavnet, selvfølgelig, og generelt er deres rekkefølge irrelevant. For eksempel er alle følgende gyldige måter å bruke svn-status på, og tolkes på nøyaktig samme måte. Følgende avsnitt beskriver hver av de forskjellige underkommandoene og alternativer som tilbys av svn-kommandolinjeprogrammet, inkludert noen eksempler på hver underkommando s typiske uses. svn Options. While Subversion har forskjellige alternativer for sine underkommandoer, alle alternativer finnes i et enkelt navneområde som er, er hvert alternativ garantert å bety omtrent samme sak uavhengig av underkommandoen du bruker den med For eksempel --verbose - v betyr alltid verbose utdata, uavhengig av underkommandoen du bruker den med. Svn-kommandolinjeklienten slutter vanligvis raskt med en feil hvis du sender den en alternativ som ikke gjelder for den angitte underkommandoen Men som av Subversion 1 5, er flere av alternativene som gjelder for alle eller nesten alle underkommandoer, ansett som akseptable av alle underkommandoer, selv om de ikke har noen effekt på noen av dem. Denne endringen ble først og fremst gjort for å forbedre klientens evne til å ringe fra tilpassede innpakningsskript. Disse alternativene vises gruppert sammen i kommandolinjeklientens bruksmeldinger som globale alternativer, slik det kan sees i foll på grunn av bit av output. svn-underkommandoer gjenkjenner følgende globale alternativer. Instruerer Subversion for å lese konfigurasjonsinformasjon fra den angitte katalogen i stedet for standardplasseringen i brukerens hjemmekatalog. Angir verdien av en kommandoen, verdien av en kjøretidskonfigurasjon alternativ CONFSPEC er en streng som spesifiserer konfigurasjonsalternativet navnsområde, navn og verdi som du vil tilordne, formatert som FILSNITT VALGVÆRD I denne syntaksen er FIL og SEKSJON kjøretidskonfigurasjonsfilen enten config eller servere og delen derav , som inneholder alternativet hvis verdi du ønsker å endre VALG, er selvfølgelig alternativet selv, og VALUE verdien hvis du vil tildele til alternativet For eksempel, for midlertidig å deaktivere bruk av komprimeringen i protokollen, bruk Du kan bruke dette valget flere ganger for å endre flere valgverdier samtidig. Forutsetter caching av autentiseringsinformasjon, for eksempel brukernavn og passord i del versjonen av kjøretidskonfigurasjonskataloger. Gjør alt interaktiv spørsmål. Noen eksempler på interaktiv forespørsel inkluderer forespørsler om autentiseringsinformasjon og beslutninger om konfliktløsning. Dette er nyttig hvis du kjører Subversion i et automatisert skript, og det er mer hensiktsmessig å ha Subversion-feil enn å spørre om mer informasjon. Specifies passordet som skal brukes når du autentiserer mot en Subversion-server Hvis ikke oppgitt, eller hvis det er feil, vil Subversion spørre deg om denne informasjonen etter behov. Når du brukes med - ikke-interaktive instruksjoner, kan Subversion godkjenne SSL-server sertifikater utstedt av ukjente sertifikatmyndigheter uten å først spørre brukeren For sikkerhets skyld, bør du bare bruke dette alternativet når integriteten til den eksterne serveren og nettverksbanen mellom den og klienten din er kjent for å være pålitelig. Angir brukernavnet som skal brukes når du autentiserer mot en Subversion-server Hvis ikke oppgitt, eller hvis feil, vil Subversion spørre deg om t hans informasjon etter behov. Resten av alternativene gjelder og aksepteres av bare en delmengde av underkommandoen. De er som følger. Angir en handling for automatisk konfliktløsning, deaktivering av de interaktive meldingene som ber brukeren hvordan man håndterer hver konflikt som det er lagt merke til Selv om hvilken av de spesifikke handlingene som gjelder, varierer avhengig av hvilken underkommando som er i bruk, støtter Subversion følgende lange og korte verdier for ACTION. Take ingen oppløsningshandling i det hele tatt, og la i stedet tillat konfliktene å bli registrert for fremtidig oppløsning. Åpne hver konflikt filen i et tekstredigeringsprogram for manuell oppløsning av linjebaserte konflikter. Start et interaktivt flettekonfliktløsningsverktøy for hver konfliktfiler. Velg filen som var den umodifiserte BASE-revisjonen før du forsøkte å integrere endringer fra serveren til arbeidskopien. at du har håndtert konfliktoppløsningen manuelt, velger du versjonen av filen som den for øyeblikket står i arbeidskopien. Oppløs konfl icted filer ved å bevare alle lokale modifikasjoner og kaste bort alle endringer hentet fra serveren under operasjonen som forårsaket konflikten. Oppløs konfliktfiler ved å kaste bort alle lokale modifikasjoner og integrere alle endringer hentet fra serveren under operasjonen som forårsaket konflikten. Oppløs konfliktfiler ved å foretrekke lokale modifikasjoner over endringene hentet fra serveren i motstridende regioner i innholdet i hver fil. Oppløs konfliktfiler ved å foretrekke endringene hentet fra serveren over lokale modifikasjoner i motstridende regioner i hver fils innhold. Rådfør utdataene fra svn-hjelpen SUBCOMMAND for å se nøyaktig hvilke handlinger som støttes av den spesifikke underkommandoen av interesse. Gjør verifiseringen utført som standard ved svn-fusjonen fra Subversion 1 7 at målet om en fusjonoperasjon og alle sine barn er i en ensartet revisjon. Mens de går sammen i en enkelt - revision arbeidskopi mål er anbefalt best praksis, dette alternativet kan brukes til å tillate sammenslåinger i blandede revisjons arbeidskopier som nødvendig. Aktiverer automatisk eiendomsoppgave per kjøretidskonfigurasjonsregler, og overstyrer konfigurasjonsdirektivet for aktivering av automatisk rekvisitter. Utfør den forespurte operasjonen ved hjelp av en bestemt endring. Generelt sett er dette alternativet syntaktisk sukker for - r ARG-1 ARG Enkelte underkommandoer tillater en kommaseparert liste over revisjonsnummerargumenter, f. eks. - c ARG1, ARG2, ARG3 Alternativt kan du gi to argumenter adskilt med et dash som i - c ARG1 - ARG2 for å identifisere rekkevidden av revisjoner mellom ARG1 og ARG2 inkludert Endelig, hvis revisjonsargumentet er negert, reverseres det implicitte revisjonsområdet - c -45 tilsvarer - r 45 44.Instructs Subversion for kun å fungere på medlemmer av changelistnavnet ARG Du kan bruke dette alternativet flere ganger for å spesifisere sett med changelists. Instructs Subversion for å begrense omfanget av en operasjon til en bestemt tredybde ARG er en av tomme bare målet selv, sender målet og eventuelle umiddelbare filbarn derav, avbryter målet og eventuelle umiddelbare barn derav, eller uendelig målet og alle dets etterkommere full rekursjon. Aktiverer en spesiell utdatamodus for svn logg som inneholder en differanserapport a la svn diff som en del av hver revisjon s informasjon. Specifies et eksternt program som skal brukes til å vise forskjeller mellom filer Når svn diff er påkalt uten dette alternativet, bruker den Subversion s interne differensemotor som gir standardiserte diffs som standard Hvis du vil bruke et eksternt differensieringsprogram, bruk - diff-cmd Du kan da overføre alternativer til det angitte programmet ved hjelp av alternativet --extensions - x. Angir et eksternt 3-veis differenseringsprogram som brukes til å slå sammen linjebaserte endringer i filer. Går gjennom alle forslag til å kjøre en kommando, men gjør ingen egentlige endringer enten på disk eller i depot. Angir et eksternt program som skal brukes til å redigere en loggmelding eller en eiendomsverdi Se avsnittet Editor-cmd i avsnittet Config for måter å spesifisere en standard editor. Tells Subversion at din commit-melding er sammensatt ved hjelp av tegnkoden som tilbys. Standard tegnkoding er avledet fra operativsystemets native språk bruker dette alternativet hvis din commit-melding er sammensatt ved hjelp av en hvilken som helst annen koding. Angir tilpasninger hvilken Subversion skal gjøre når du utfører forskjellskalkulasjoner. Gyldige utvidelser inkluderer. Ignorer endringer i mengden av hvitt mellomrom. Ignorer alle hvite mellomrom. Ignorer endringer i EOL-end-of-line-stil. Vis C-funksjonsnavn i diff-utgangen. Vis tre linjer med enhetlig diff-kontekst. Standardverdien til ARG er - u Hvis du ønsker å sende flere argumenter, må du legge dem alle sammen i anførselstegn. Merk at når Subversion er konfigurert til å påkalle en ekstern diff-kommando, vil verdien av utvidelsen - x-alternativet er ikke begrenset til de tidligere nevnte alternativene, men kan være noen flere argumenter som Subversion skal overføre til den kommandoen. Bruk innholdet i den navngitte filen for th e spesifisert underkommando Forskjellige underkommandoer gjør forskjellige ting med dette innholdet. For eksempel bruker svn-commit innholdet som en commit-loggmelding, mens svn propset bruker den som en eiendomsverdi. Fungerer at en bestemt kommando eller operasjon for å kjøre Subversion, forhindrer deg i å utføre noen operasjoner i normal bruk, men du kan passere dette alternativet for å fortelle Subversion Jeg vet hva jeg gjør så vel som de mulige konsekvensene av å gjøre det, så la meg på meg Dette alternativet er det programmatiske tilsvarer å gjøre ditt eget elektriske arbeid med strømmen på hvis du ikke vet hva du gjør, vil du sannsynligvis få et styggt støt. Fordi en mistenkelig parameter passert til --messig - m eller --fil - F alternativet som skal aksepteres som gyldig Som standard vil Subversion produsere En feil hvis parametrene til disse alternativene ser ut som om de i stedet kan være mål for underkommandoen. Hvis du for eksempel passerer en versjon av filen til filet --file - F, antar Subversion at du har gjort en feil, at banen var i stedet ment som målet for operasjonen, og at du ganske enkelt ikke klarte å gi noen annen uversjonell fil som kilde til loggmeldingen din. For å hevde din hensikt og overstyr disse feilene, pass --force-log-alternativet til underkommandoer som godtar logg meldinger. Aktiverer en spesiell utgangsmodus for svn diff designet for krysskompatibilitet med det populære Git distribuerte versjonskontrollsystemet. Hvis det brukes med en eller flere underkommandoer, viser den innebygde hjelpeteksten for hver Hvis brukt alene, viser den generelle klient hjelpetekst. Forteller Subversion for å ignorere forfedre ved beregning av forskjeller stole på stiinnhold alene Også deaktiverer Merge Tracking når den brukes sammen med svn-fusjonen subcommand. Tells Subversion for å ignorere externalsdefinisjoner og de eksterne arbeidskopiene som forvaltes av dem. Disables søkeord expansion. Instructs svn patch for å ignorere hvite plass når du forsøker å identifisere patch context. Prints utdata i et format som passer for sammenkobling til tidligere lignende output. Instructs Subv ersion å bruke sin innebygde differensieringsmotor til tross for en ekstern differensormekanisme som kan spesifiseres for bruk i brukerens runtime-konfigurasjon. Forteller Subversion å ikke fjerne changelist-assigmentene fra arbeidskopielementer etter å ha begått. Henter den lokale kopien av en fil eller katalog som brukes med svn delete-kommandoen. Viser bare de første NUM-loggmeldingene. Angir at du vil spesifisere enten en loggmelding eller en låseprofil på kommandolinjen, følger dette alternativet For eksempel. Kommer svn eksport for å bruke en bestemt sluttdato - linjesekvens som om det var den innfødte sekvensen for klientplattformen ARG kan være en av CR LF eller CRLF. Uses ARG som det nyere målet for bruk med svn diff. Disables automatisk egenskapsinnstilling, som overstyrer aktiveringsautomatenes kjøretidskonfigurasjon directive. Forutsetter Subversion fra utskriftsforskjeller for slettede filer Standardoppførselen når du fjerner en fil er for svn diff å skrive ut de samme forskjellene som du ville se hvis du hadde beholdt filen, men remmen overholder alt innholdet. Viser filer i statuslisten som normalt vil bli utelatt siden de samsvarer med et mønster i konfigurasjonsalternativet for global ignorerer eller svn ignoreringsegenskapen. Se delen Konfigurer og delen Kalt Ignorerer ikke-versjoner for mer informasjon. Forteller Subversion ikke å låse opp filer automatisk. Standard bruksadferd er å låse opp alle filer som er oppført som en del av commit. Se avsnittet Låse for mer informasjon. Tilbakestilt Stopper en underkommando fra å gjenopprette til underkataloger. De fleste underkommandoer tilbakestilles som standard, men noen bruker ikke brukere bør unngå dette alternativet og bruke det mer presise --depth-alternativet i stedet For de fleste underkommandoer, som spesifiserer - ikke-rekursiv, opptrer oppførsel som er den samme som om du spesifiserte --depth-filer, men det er unntak som ikke-rekursiv svn-status opererer på den umiddelbare dybden, og de ikke-rekursive former for svn tilbakestilles svn add og svn commit opererer på en tom dybde. Viser oppmerksomhet til anestet når calcu lating differences. Uses ARG som det eldre målet for bruk med svn diff. Creates og legger til ikke-eksisterende eller ikke-versjonsforeldre underkataloger til arbeidskopien eller depotet som en del av en operasjon. Dette er nyttig for automatisk oppretting av flere underkataloger der ingen for tiden eksisterer. Hvis det utføres på en URL, vil alle katalogene bli opprettet i en enkelt commit. Requests at klienten bare skriver ut viktig informasjon mens du utfører en operasjon. Aktiverer en spesiell modus for svn-fusjon der den angitte fletteoperasjonen er registrert i den lokale fusjonssporingsinformasjonen, men er ikke faktisk utført. Lag en subcommand recurse i underkataloger. De fleste subcommands recurse som standard. Brukes med svn-fusjonen subcommand for å fusjonere all kilde-URL s endrer seg til arbeidskopien Se seksjonen kalt Holde en gren i synkronisering for detaljer. Tilbakestilt Ved bruk med underkommandoen svn-bryter, endrer plasseringen av lageret som referansen din refererer til. Den foretrukne approac h fra Subversion 1 7, men er å bruke svn flytte underkommandoen Se svn flytte for flere detaljer og et eksempel. Brukes med svn changelist å disassociate snarere enn assosiere som er standardoperasjonen målet s fra en changelist. Causes svn patch å tolke instruksene for innlasting av oppdateringspakker i omvendt behandling av tilsatte linjer som fjernet og vice versa. Angir en revisjon eller rekkevidde av revisjoner som skal brukes til. Du kan gi revisjonsnumre, nøkkelord eller datoer i krøllete braces som argumenter for revisjonsalternativet Hvis du ønsker å tilby en rekke revisjoner, kan du gi to revisjoner atskilt med et kolon. For eksempel. Fungerer på en revisjonseiendom i stedet for en eiendom som er spesifikk for en fil eller katalog Dette alternativet krever at du også sender en revisjon med - revisjon - r alternativ. Angir klistret dybde i en katalog i en arbeidskopi til en av ekskluderer tomme filer umiddelbart eller uendelig. For detaljerte dekning av hva dette betyr og hvordan du bruker dette alternativet, se s ection kalles sparsomme kataloger. Brukes til en spesiell utdatamodus for svn diff der innholdsforskjellen for en fil opprettet via en kopieringsoperasjon vises som det ville for en helt ny fil med hver linje deri vises som et tillegg til en tom fil i stedet for som et delta mot den opprinnelige filen fra hvilken kopien ble opprettet. Brukes til å lage svn mergeinfo vise visse klasser av fusjonssporingsinformasjon ARG kan enten være fusjonert eller kvalifisert som et ønske om å se revisjoner enten allerede fusjonert eller kvalifisert for fremtidig fusjon fra den angitte kilden URL. Vår klienten å vise informasjon om hvilke filer i arbeidskopien din er utdatert. Dette oppdaterer ikke noen av filene dine, det viser bare hvilke filer som vil bli oppdatert dersom du bruker svn-oppdateringen. Krysser en Subversion-underkommando som krysser historien til en versjonert ressurs for å slutte å hente den historiske informasjonen når en kopi som er et sted i historien hvor den ressursen var politimann uansett fra et annet sted i depotet, oppstår. Bruk Subversion til å bruke strenge semantikk, et begrep som er ganske uklart, uten å snakke om bestemte underkommandoer, nemlig svn propget. Used av svn patch for å ignorere NUM ledende komponentene som finnes på stier spesifisert i patch input. Display kun høyt nivå sammendrag meldinger om operasjonen i stedet for sin detaljerte output. Tells Subversion å lese flere målbaner for operasjonen fra FILENAME FILENAME bør inneholde en bane per linje, med hver sti forventes å bruke samme koding og formatering at det ville hvis du hadde spesifisert det direkte som et argument på kommandolinjen. Brukes eller viser tilleggsinformasjon fra flettehistorikk. Gjentar at klienten skriver ut så mye informasjon som mulig når det kjører noen underkommandoer. Dette kan føre til at Subversion skriver ut flere felt, detaljert informasjon om hver fil, eller ytterligere informasjon om sine handlinger. Prøver informasjon om klientversjon T hans informasjon inkluderer ikke bare versjonsnummeret til klienten, men også en liste over alle lagringsmoduler som klienten kan bruke for å få tilgang til et Subversion-depot med --quiet - q det bare skriver ut versjonsnummeret i en kompakt form. Brukt med - xml-alternativet til svn log-instruksjoner Subversion for å hente og vise alle revisjonsegenskaper standardene som brukes internt av Subversion, samt alle brukerdefinerte i loggutgangen. Brukes med --xml-alternativet til svn-loggen instruksjoner Subversion til utelat alle revisjonsegenskaper, inkludert standardloggmeldingen, forfatteren og revisjonsdatabasen fra loggutgangen. Når den brukes med en kommando som skriver til depotet, setter du revisjonsegenskapen ved hjelp av NAME VALUE-formatet, NAME til VALUE når det brukes med svn logg i - xml-modus, viser dette verdien av ARG i loggutgangen. Prints output i XML format. Actually synes det å være enda et alternativ som jeg bare la merke til nylig, når du løper inn i problemet beskrevet ovenfor. Hvis du har Git rundt som du allerede kan bruke uansett, da vil du kunne bruke den til sammenligning, selv om filene selv ikke er under versjonskontroll Hvis det ikke er aktivert for deg som standard, ser det ut til å være farlig støtte her enklere enn noen av de tidligere nevnte arbeidene. Svaret 12. november 13 kl 13 27. Og for de tilfellene når en yum installerer colordiff eller en apt-install-colordiff, er ikke et alternativ på grunn av noen vanvittig begrensning utover din umiddelbare kontroll, eller du er bare føle seg gal, kan du gjenoppfinne hjulet med en linje av sed. Throw det i et shell script og rør enhetlig diff utgang gjennom it. It gjør hunk markører blå og fremhever nye gamle filnavn og lagt til fjernede linjer i grønn og rød bakgrunn, henholdsvis 1 Og det vil gjøre bakre plass 2 endres mer tydeligere enn colordiff can.1 Forresten er årsaken til å markere filnavnene det samme som de modifiserte linjene, det å skille mellom th e filnavn og modifiserte linjer krever riktig parsing av diff formatet, noe som ikke er noe å takle med en regex. Fremhever dem, det samme fungerer godt nok visuelt og gjør problemet trivielt. Det er sagt at det er noen interessante finesser. 2 Men ikke etterfølgende faner Tilsynelatende faner ikke får sin bakgrunnssett, i hvert fall i min xterm Det gjør at fanen mot romendringer skiller seg ut litt skjønt. Ansatt 31. mai kl. 20 36. Matt Her er en brute force approach for en Mac sed s - echo - e x1b 41m s echo - e x1b 42m s echo - e x1b 34m s ekko - e x1b 0m selv om jeg forventer at det er en bedre måte retracile Aug 23 13 på 14 34.Hhm, det slags arbeid ga 3 bindestreker mellom hver bit en rosa bakgrunn Matt Montag Aug 23 13 på 22 43.Nevermind - Jeg glemte diff - u alternativet Nice jobbe Matt Montag Aug 23 13 på 22 44.Dude dette er kjempebra måte å gå Det er noe fint sed wizardry fthinker 17 okt 13 på 0 44.sed s - x1b 31m - s x1b 32m s x1b 34m s x1b 0m ser også flott ut Yura mai 7 15 på 11 20.You kan c skjul subversion config for å bruke colordiff. answered Sep 20 13 på 12 21.svn Kan ikke starte prosesskolordiff Ressurs midlertidig utilgjengelig Nik Des 7 16 på 16 29.Du installerer colordiff Azd325 Des 7 16 på 17 41.Yup, jeg prøvde hardcoding banen går også i cygwin Nik Des 7 16 på 18 28.Jeg bruker grc Generic Colouriser, som lar deg farge utdataene fra en rekke kommandoer inkludert diff. It er et python-skript som kan pakkes rundt en kommando Så i stedet for å påkalle diff file1 file2 ville du påkalle grc diff file1 file2 for å se colourized output Jeg har aliased diff til grc diff for å gjøre det enklere. answered Jan 10 12 på 8 56. For en eller annen grunn farger dette ikke utdataene for meg daniel kullmann Jan 10 12 på 9 28. Coloured, word-level diff ouput. Here er hva du kan gjøre med det nedenstående skriptet og diff-highlight. Where grener brukes til å opprettholde separate utviklingslinjer, på et tidspunkt vil du ønsker å slå sammen endringene gjort på en gren tilbake i kofferten eller vice versa. It er viktig å forstå hvordan forgrening og sammenslåing fungerer i Subversion før du begynner å bruke den, da det kan bli ganske komplisert. Det anbefales på det sterkeste at du leser kapitlet Forgrening og sammenslåing i Subversion-boken, som gir en fullstendig beskrivelse og mange eksempler på hvordan det brukes. Det neste poenget å merke seg er at sammenslåing alltid foregår i en arbeidskopi. Hvis du vil fusjonere endringer i en filial, må du ha en arbeidskopi for den grenen sjekket ut og påkalle samleveiviseren fra den arbeidskopien ved hjelp av TortoiseSVN Merge. Generelt er det en god ide å utføre en sammenføyning i en umodifisert arbeidskopi. Hvis du har gjort andre endringer i WC, begår de først Hvis sammenslåingen ikke går som du forventer, vil du kanskje for å tilbakestille endringene, og kommandoen Revert vil kaste bort alle endringer, inkludert alle du har gjort før fusjonen. Det finnes tre vanlige bruksfaser for sammenslåing som håndteres på litt forskjellige måter, som beskrevet nedenfor. Den første siden av e merge veiviser ber deg om å velge hvilken metode du trenger. Merke en rekke revisjoner. Denne metoden dekker saken når du har gjort en eller flere revisjoner til en avdeling eller til kofferten og du vil overføre disse endringene til en annen gren . Hva du spør Subversion å gjøre, er dette Beregn endringene som er nødvendige for å komme fra revisjon 1 av grenen A til revisjon 7 av grenen A, og bruk disse endringene til arbeidskopien av stammen eller grenen B. Hvis du lar revisjonsområdet være tomt , Subversion bruker fusjonssporingsfunksjonene for å beregne riktig revisjonsområde for bruk. Dette kalles en reintegrere eller automatisk fusjon. Merke to forskjellige trær. Dette er et mer generelt tilfelle av reintegreringsmetoden. Hva du spør Subversion å gjøre, er å beregne endringene som er nødvendige for å komme fra hovedrevisjonen til kofferten til hovedrevisjonen av grenen, og bruk disse endringene til arbeidskopien min på kofferten. Nettoresultatet er at kofferten nå ser ut akkurat som grenen. Hvis serveren din oppbevares støtter ikke fusjonssporing da dette er den eneste måten å slå sammen en filial tilbake til kofferten. En annen brukstilfelle skjer når du bruker leverandørgrener, og du må slå sammen endringene etter en ny leverandør slippe inn i stammenkoden. For mer informasjon, les Kapittel om leverandørgrener i Subversion Book. Merging et utvalg av Revisions. Figur 4 54 Sammenslåingsveiviseren - Velg Revisjonsområde. I feltet Fra skriver du inn den fullstendige mappens URL for avdelingen eller merken som inneholder endringene du vil legge inn i arbeidet ditt kopi Du kan også klikke for å bla gjennom depotet og finne den ønskede grenen Hvis du har slått sammen fra denne grenen før, bruk bare rullegardinlisten som viser en historie med tidligere brukte webadresser. Hvis du slår sammen fra en omdøpt eller slettet grense da du må gå tilbake til en revisjon der den grenen fortsatt eksisterte. I dette tilfellet må du også spesifisere at revisjonen som en peg-revisjon i revisjonene som slås sammen, se nedenfor, ellers vil fusjonen fai Jeg kan ikke finne den banen i HEAD. I revisjonsområdet for å slå sammen feltet, skriv inn listen over revisjoner du vil slå sammen. Dette kan være en enkelt revisjon, en liste over bestemte revisjoner adskilt av kommaer eller en rekke revisjoner atskilt av et dash eller en kombinasjon av disse. Hvis du må spesifisere en peg-revisjon for sammenslåingen, legg til peg-revisjonen på slutten av revisjonene, f. eks. 5-7, e-postbeskyttet I eksemplet ovenfor er revisjonene 5,6, 7 og 10 ville bli slått sammen, med 3 være peg-revisjonen. Det er en viktig forskjell på måten en revisjonsområde er spesifisert med TortoiseSVN sammenlignet med kommandolinjeklienten. Den enkleste måten å visualisere det er å tenke på et gjerde med innlegg og gjerdspaneler. Med kommandolinjeklienten spesifiserer du endringene for å slå sammen ved hjelp av to gjerdspostrevisjoner som angir før og etter poeng. Med TortoiseSVN angir du endringssettet for å fusjonere ved hjelp av gjerderpaneler Årsaken til dette blir tydelig når du bruker loggdialogen å spesifisere revisjoner t o fusjonere, hvor hver revisjon vises som endringssett. Hvis du slår sammen revisjoner i biter, vil metoden som vises i Subversion-boken få deg til å slå sammen 100-200 denne gangen og 200-300 neste gang Med TortoiseSVN ville du slå sammen 100-200 dette tid og 201-300 neste gang. Denne forskjellen har generert mye varme på adresselistene. Vi anerkjenner at det er forskjell fra kommandolinjeklienten, men vi tror at for de fleste GUI-brukere er det enklere å forstå metoden Vi har implementert. Den enkleste måten å velge utvalg av revisjoner du trenger er å klikke på Vis logg, da dette vil vise de siste endringene med loggkommentarene. Hvis du vil slå sammen endringene fra en enkelt revisjon, velg du bare den revisjonen hvis du vil for å fusjonere endringer fra flere revisjoner, velg deretter det spekteret som bruker den vanlige Shift-modifisereren Klikk på OK, og listen over revisjonsnumre for å slå sammen vil bli fylt ut for deg. Hvis du vil fusjonere endringer tilbake ut av arbeidskopien, skal du returnere en endring w som allerede er forpliktet, velg revisjonene for å returnere og kontroller at Reverse Merge-boksen er merket. Hvis du allerede har slått sammen noen endringer fra denne grenen, har du forhåpentligvis notert deg den siste revisjonen fusjonert i loggmeldingen når du forpliktet endringen I så fall kan du bruke Vis logg for arbeidskopien til å spore den loggmeldingen. Husk at vi tenker på revisjoner som endringssett, bør du bruke revisjonen etter sluttpunktet til den siste fusjonen som utgangspunkt for dette fusjon Hvis du for eksempel har slått sammen revisjoner 37 til 39 forrige gang, bør startpunktet for denne fusjonen være revisjon 40. Hvis du bruker fusjonssporingsfunksjonene i Subversion, trenger du ikke å huske hvilke revisjoner som allerede er slått sammen - Subversion registrerer det for deg Hvis du forlater revisjonsområdet tomt, blir alle revisjoner som ikke er fusjonert, inkludert. Les avsnittet Merge Tracking for å finne ut mer. Når fusjonen spores, blir det brukt e-loggdialogboksen vil vise tidligere sammenslåtte revisjoner og revisjoner som forløper fellesforfedrepunktet, dvs. før avdelingen ble kopiert, som gråtonet. I avkryssingsfeltet Skjul ikke-sammensettbare revisjoner kan du filtrere ut disse revisjonene helt, slik at du kun ser revisjonene som kan fusjoneres. Hvis andre mennesker kan forandre endringer, vær så forsiktig med å bruke HEAD revisjonen. Det kan ikke referere til revisjonen du tror det gjør hvis noen andre gjorde en forpliktelse etter siste oppdatering. Hvis du lar rekkevidden av revisjoner gå tom eller har radioknappen alle revisjoner sjekket, så slår Subversion sammen alle ikke-fusjonerte revisjoner. Dette er kjent som en reintegrering eller automatisk fusjon. Det er noen forhold som gjelder for en reintegrere fusjon. For det første må serveren støtte fusjonssporing. be of depth infinite no sparse checkouts , and it must not have any local modifications, switched items or items that have been updated to revisions other than HEAD All changes to trunk mad e during branch development must have been merged across to the branch or marked as having been merged The range of revisions to merge will be calculated automatically. Merging Two Different Trees.
No comments:
Post a Comment