05. februar 2010 - 08:55Der er
12 kommentarer og 1 løsning
SVN best practices - "synkronisering"
Hej alle.
Jeg skal have sat nogle SVN-repositories op og mangler nogle anbefalinger fra jer eksperter.
Det bliver placeret på en linux-server og tilgås igennem apache. Det er muligt noget af det er manglende forståelse. Plz, ikke bare smide et link. Jeg er interesseret i hvad DU siger. Det er jo dig som har erfaringen. Jeg ved fuldt ud hvordan man sætter repositories op og rettigheder o.s.v. + installation af dav o.s.v. Så spild ikke din tid på det. Jeg er ude efter "Best practice" fra nogle erfarne SVN-brugere.
Til sagen - jeg har 5 mennesker der skal arbejde sammen på tværs af projekter og på tværs af lokationer. Alle 5 mennesker kender SVN og bruger det flittigt, men jeg kan ikke helt gennemskue om de gør det rigtigt.
De sidder og arbejder på en class på den stationære computer og derefter commit'er de den for lige derefter at update deres bærbar. Det er denne måde de "synkroniserer" imellem deres arbejds-stationer. Det kan jo give et projekt der ikke kan compiles. Hvad er best practice her? Er det i det hele taget den måde man "synkroniserer" imellem flere arbejds-computere?
Den kan jeg godt følge dig I, men hvad med den situation at man ikke er færdig med sin class og man skal have den "flyttet" til en anden maskine for at arbejde videre med den på et andet tidspunkt? Der har et par stykker brugt det som en "synkroniserings"- mulighed. Hvad er det "rigtige" måde at gøre det på?
Jeg retter lige produktion til trunk i trin 3. Hvis class'n er færdig så skal den vel chekkes ind i trunk ? Og derefter er det ikke noget problem at tjekke den ud et andet sted. Men er den ikke færdig kan man vel tagge en debug version og så chekke den tag ud arbejde med den og når man er færdig merge taggen med trunk.
Og hvis man så glemmer / bliver syg så vil det man har chekket ind i trunk blive til test / og til sidst prod. Så vil RuntimeException springe i produktionen og man skal til at forklare at man fik et råd.
Jeg syntes man skal bruge svn til versionsstyring og så skal man skrive programmer i koden som virker i den version man skriver i. Det kan godt være at man ikke syntes det er kønt, men det er ret praktisk.
Hvis man sender kode i test/produktion uden at have spurgt udviklerne om de er færdige (eller inspiceret koden hvis en udvikler er totalt unavailable) og heller ikke tester koden, så er det sikkert ikke den eneste fejl. Og fejlen skal ikke klandres brugen af source control, men på den totalt uforsvarlige udviklings process man bruger.
Jeg har fulgt denne tråd med spænding. Det er rart at se at der er nogen som kommer med deres erfaringer her. Og jeg er ganske enig i den sidste kommentar - men - hvad gør man så? De skal jo have lov at arbejde på flere computere.
Kører man et helt privat svn ved siden af sådan at man først lægger det i "hoved"-svn når det er klar?
Er vi helt ud i en helt almindelig synkronisering som der sættes op for dem selv?
Hvad gør udviklere som arbejder sammen på denne her? Lader de simpelthen være med at gå hjem fra arbejde før den sidste stump kode fungerer? :)
Hvis man har det problem at ens udviklingsmiljø skifter fysisk fra en maskine til en anden. Ret sjældent. Som jeg foreslpg så tagger man det man er igang med. Chekker sit arbejde ind. PÅ den anden maskien chekker man så sin tag ud, arbjeder på den chekker ind. Tager til dem andem maskine updater arbejer , chekker ind.
Når jeg siger at man ikke skal chekke noget ind i trunk før det virker betyder det ikke at det nødvendigvis skal være helt færdig, men det er ikke smart hvis det giver compileringsfejl, kaster exceptions så det ødelægger andres test mm.
Jeg bliver nødt til at gå lidt i tænkeboks her, men jeg synes det er nogle fede indlæg der er kommet her. Dog vil jeg sige at det med at det er ret sjældent at man skifter fysisk maskine er ikke tilfældet her. De gør det hele tiden her. De har faktisk 3 maskiner (stationær på arbejdet, stationær derhjemme + en bærbar).
bauerdata, gider du give et svar her? Jeg har besluttet at du skal have P. Det er ikke 100% det jeg var ude efter, men jeg har fået nok til at gå videre med.
Man kan jo organisere sig på forskellige måder og hvis man kan blive enige med hinanden om at gøre det på en konsistent måde, så er det jo det vigtigste.
Det har du så sandelig ret i, men det er også derfor det er vigtigt for mig at få styr på det her. Eller rettere få styr på DEM :D
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.