Sessió 2 curs programació linux
Sessió 2 18-4-2008. Control de versions
Instal.lem CVS:
sudo apt-get install cvs
Com obtenir el codi font d'un projecte CVS
cvs -z3
-d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs
co emacs
-> es baixen els fitxers del projecte emacs
cd emacs per veure el contingut
copiar: Ctrl+shift+C
El Sergi Tur prefereix Subversion a CVS
Subversion es va fer a posteriori, amb la idea de millorar CVS (CVS ve del 1980 i porta vicis incorporats)
$ sudo apt-get install subversion
El uso de la base de datos Berkeley permite aislamiento, atomicidad, recuperación de datos, integridad, backups en caliente, y concurrencia sin necesidad de usar ficheros de lock. Con Berkeley DB no se pueden editar los ficheros a mano como con CVS, pero eso tampoco es necesario porque el repositorio no se corrompe. Subversion resulta más fiable que CVS sobre sistema de ficheros transaccional. Nota: Los logs de la base de datos llegan a ocupar bastante espacio, pero existe una herramienta para eliminarlos (svnadmin).
Berkeley: no és un sgbd, és una llibreria amb la que podem crear una bd de forma dinàmica
http://kutxa.homeunix.org/howtos/berkeley.html
Primer és necessari que existeixi una carpeta:
$ sudo mkdir /var/lib/svn
Amb la comanda svnadmin podem crear el repositori:
$ sudo svnadmin create /var/lib/svn
Permisos:
$ sudo groupadd cursplinux
$ usermod -a -G cursplinux cursice
$ sudo chown -R www-data:cursplinux /var/lib/svn
$ sudo chmod -R 775 /var/lib/svn
l'usuari www-data és per tal que el pugui utilitzar l'Apache (té una interfície web)
ls -la /var/lib/svn -> veiem tot el que hi ha. Aquests fitxers no s'han de tocar directament
$ svn help
$ cd
$ mkdir cursplinux
$ cd cursplinux
$ svn checkout
https://svn.lafarga.cpl.upc.edu/dades/svn/plinux
Ens descarreguem el curs de cursplinux des de La Farga:
$ cd
$ mkdir cursplinux
$ cd cursplinux
$ svn checkout
https://svn.lafarga.cpl.upc.edu/dades/svn/plinux
login/pwd: anonymous/anonymous
-> hem baixat una còpia de treball, i no tenim permisos per modificar els fitxers [en aquest cas estem utilitzant el repositori no per guardar codi font, sinó per guardar el contingut d'un curs]
Anem ara a pujar al repositori local el curs que hem baixat de La Farga (import):
svn import -m "Missatge inicial" ~/cursplinux
file:///var/lib/svn/cursplinux
$ groups -> podem veure els grups a què pertanyem, i no hi és el grup cursplinux -> hem de reiniciar l'entorn gràfic (tancar la sessió)
~/cursplinux -> és on hem baixat els fitxers des de La Farga
file:///var/lib/svn/cursplinux -> és el repositori del nostre subversion
Anem a crear una còpia de treball (checkout):
$ cd -> tornem al home
$ mkdir svn
$ cd svn
$ svn co file://localhost/var/lib/svn/cursplinux
cursplinux (multiplataforma)
o
$ svn co file:///var/lib/svn/cursplinux cursplinux
(Unix)
copiem el repositori a la carpeta cursplinux que es crea dins de svn
PoEdit -> eina per treballar en projectes multilingüe
http://www.poedit.net/index.php
Eclipse
Eclipse -> IDE generalista (no només Java), que està
pensat per utilitzar-se amb plugins
és multiplataforma (màquina virtual de Java)
$ cd
$ wget
$ tar xvzf eclipse-cpp-europa-winter-linux-gtk.tar.gz
-> wget descarrega el fitxer d'Inet, i te'l deixa a la carpeta actual
subclipse: plugin per utilitzar subversion amb Eclipse
wget
http://subclipse.tigris.org/files/documents/906/39522/site-1.2.4.zip
per executar Eclipse: ./eclipse -> ./ és perquè no està en el path el directori de l'executable d'Eclipse, i per tant li has de dir on està (directori en curs)
workspace: /home/cursice/workspace
a Eclipse treballem amb perspectives, segons la tasca que estàs realitzant: programar, debugar,...
Open perspective -> SVN Repository Exploring
Nes SVN Repository: file:///var/lib/svn
/// perquè // és per al protocol i /var és perquè trobi bé el camí
i fiquem el repositori de La Farga:
https://svn.lafarga.cpl.upc.edu/dades/svn/plinux
i el tercer repositori és la màquina del profe:
http://147.83.75.135/svn_cursplinux
WebDAV -> està basat en http, i serveix per fer les tasques de treball col.laboratiu amb una interfície web Web-based Distributed Authoring and Versioning, or WebDAV, is a set of extensions to the Hypertext Transfer Protocol (HTTP) which allows users to collaboratively edit and manage files on remote World Wide Web servers. The group of developers responsible for these extensions was also known by the same name and was a working group of the Internet Engineering Task Force (IETF).