Uppgifter på svn
Om man skall koda något lite större bör man versionshantera sitt jobb, det system så vi tar upp är subversion (svn). Det är ett av de vanligaste versionshanteringssystemen och bygger på i princip samma tänk som de flesta andra. På senare tid har git börjat komma och det jobbar på ett lite annorlunda sätt.
Uppgift 1
- Man kan köra subversion på en massa olika sätt, ni skall här pröva att sätta upp ett eget repository på era lokala filer eller på freetux och hämta till er bärbara via ssh eller direkt via lokala filer.
- Extra - gör både via ssh och lokala filer
svn via ssh + lokala filer
Om du skall jobba med ssh rekommenderar jag att du använder dig av ssh public key för att slippa logga in hela tiden
# På den dator som du har tänk ha ditt repository # Detta kommando skapar ett nytt "repository" under $HOME/my-repo. svnadmin create $HOME/my-repo # Skapa en arbetskopia # På din bärbara eller på ett annat ställe på servern. Det är här du ska jobba med filerna. mkdir my-files svn import -m "My files" my-files svn+ssh://my-username@my-server/my-home/my-repo/my-project # alternativt om du kör lokalt svn import -m "My files" my-files file:///my_home/my-repo/my-project rm -rf my-files svn checkout svn+ssh://my-username@my-server/my-home/my-repo/my-project # alternativt om du kör lokalt svn checkout file:///my-home/my-repo/my-project
Nu kan man skillnaden mella file och svn+ssh!
Lättaste sättet att lägga till flera filer som inte är versionshanterade är via import.
Om du vill lägga till all din kod för en websida med ett enda kommando
#För att slippa skriva en massa varje gång så kan man sätta en miljövariabel export SVNROOT="svn+ssh://my-username@my-server/my-home/my-repo" svn import -m "My website" www ${SVNROOT}/www mv www www_bak svn checkout ${SVNROOT}/www www
Uppgift 2
- Du skall göra följande steg och reflektera över vad som händer och hur det funkar.
OBS!! Du skall byta ut https://svn.oedu.se/my_repos/ mot dit eget repository som du skapat.
Steg att följa
# Tips svn help # för mer hjälp om ett visst kommando svn help [underkommando] # Gör dessa steg för att komma igång # Du kan börja med att skapa en tom mapp # Måste börja med att lägga in något för att testa # alternativ skicka in det du har gjort, försöka tänka igenom # vilka filler du har och var de ligger i så fall # Skapa en testmapp som du jobbar i mkdir svntest cd svntest # Här skapar jag en tom mapp för mitt projekt, i det ska jag ha # olika under mappar, code, grafik, docs mm mkdir pa # svn import gör man ganska sällan svn import pa https://svn.oedu.se/my_repos/pa # här kommer man att få logga in, godkänna ett cert och ev spara sitt lösen - det brukar jag göra. # tar bort rm -fR pa #kollar tree -a # checkar ut # svn checkout gör man ganska sällan svn checkout https://svn.oedu.se/my_repos/pa #kollar tree -a # går in i pa och skapa två filer, fil1 och fil2 # Kollar status svn status # Som du ser är det ? lägger till fil1 och fil2 svn add fil1 fil2 # kollar svn status # skicka in alla ändringar # du kan ändra vilken editor du skall redigera ditt logg meddelande i. Man kan även lägga till en flagga -m "logg text" till svn commit svn commit # Skapa en till fil fil3 och ändra i fil1 # Kollar status svn status # Som du ser är det ett ? på fil3 och m på fil1, vill du lägga till den gör det med svn add fil3 svn status svn commit # ta bort fil2 rm fil2 ls -la # Uppdatera svn update ls -la # som du ser är den nu tillbaka # för att verkligen ta bort en fil svn delete fil2 svn commit ls -la
Det man använder mest är:
svn commit svn update svn add # sen är det bra att kunna svn delete svn update -r (mm..) svn info svn diff svn help svn help [underkommando]