155PIN2 Projekt - Informatika 2: Porovnání verzí

Z GeoWikiCZ
Řádek 127: Řádek 127:
<pre>
<pre>
diff --git a/Makefile b/Makefile
diff --git a/Makefile b/Makefile
index c1b0730..2f43e19 100644
index 743e0c7..26de1b4 100644
--- a/Makefile
--- a/Makefile
+++ b/Makefile
+++ b/Makefile
@@ -6,3 +6,6 @@
@@ -3,3 +3,6 @@ PDFLATEX=pdflatex
   
   
  pdf:
  pdf:
Řádek 140: Řádek 140:


:* Nahraní změn do vzdáleného repozitáře
:* Nahraní změn do vzdáleného repozitáře
 
git add Makefile
  git commit -m"Makefile: pridano pravidlo 'clean'"
  git commit -m"Makefile: pridano pravidlo 'clean'"
  git push
  git push

Verze z 22. 2. 2011, 17:26

Anotace

Předmět navazuje na Projekt - Informatika z bakalářského studia. Studenti jsou rozděleni do skupin, které během semestru pracují na zadaném tématu z oboru geoinformačních technologií.

Skupiny během semestru průběžně prezentují výsledky a postup prací. Semestr je zakončen veřejnou prezentací projektů.

Zadání projektu

Akademický rok 2010/2011

Akademický rok 2009/2010

Akademický rok 2008/2009

Požadavky

  • Výsledek projektu je šířen pod licencí GNU GPL, pokud s touto podmínkou autoři nesouhlasí, musí to explicitně uvést na první straně dokumentace
  • Závěrečná zpráva je uložena do repositáře pin2. Součástí závěrečné zprávy musí být:
    • textová dokumentace ve formátu PDF včetně zdrojového textu, např. LaTeX
    • všechny zdrojové texty strukturované podle potřeby do hierarchie podadresářů
    • se zdrojovými texty překládaných programů musí být dodán vždy soubor Makefile

Struktura adresáře (příklad pro skupinu A rok 2009):

/2009
|
|-/a
  |
  |-/dokumentace
  |-/src
  |-/prezentace
  • Projekt je zakončen veřejnou prezentací
    • K prezentaci se předkládá textová část dokumentace (nemusí obsahovat přílohy), tak aby byla k dispozici a mohla být dána k nahlédnutí přítomným zájemcům
    • Plná dokumentace musí být k datu odevzdání zprávy vystavena v repositáři pin2

Trac

Trac je nástroj pro správu projektu a hlášení chyb. Trac je svobodný software licencovaný pod GNU GPL. Umožňuje integraci systému hlášení chyb, systému pro správu verzi (např. Git) a wiki.

Trac předmětu je dostupný na adrese

http://geo102.fsv.cvut.cz/trac/pin2

Příklad vypsání ticketů pro skupinu 2010/A.

Git

Zdrojové kódy včetně dokumentace jsou uloženy v Git repositáři pin2. Právo zápisu je omezen na členy dané skupiny, přístup pro čtení omezen není.

Návod pro práci s Gitem naleznete zde.

Příklad stažení repositáře

git clone git@geo102.fsv.cvut.cz:pin2.git

a nahraní submodulu pro daný akademický rok

cd pin2
git submodule init
git submodule update 2010

Pro experimenty (seznámení s Gitem) používejte sandbox

git clone git@geo102.fsv.cvut.cz:sandbox.git

Pracovní cyklus

Před prvním commitem je vhodné nastavit osobní data a textový editor
git config user.name "Martin Landa"
git config user.email "martin.landa@fsv.cvut.cz"
git config core.editor "emacs"
Naklonování repozitáře a submodulu pro daný akademický rok
git clone git@geo102.fsv.cvut.cz:pin2.git
cd pin2
git submodule init
git submodule update 2010
Vytvoření základních adresářů projektu (viz požadavky)
cd 2010/a
mkdir dokumentace
mkdir src
mkdir prezentace
Přidání nového souboru
cd dokumentace
git add Makefile
git commit -am"Makefile pro dokumentaci projektu"
Nahrání změn do vzdáleného repozitáře

Před modifikací souborů je vhodné aktualizovat všechny soubory v aktuálním adresáři a tím zabránit případným kolizím při nahrávaní změn do vzdáleného repozitáře.

git pull

Přehled aktuálního stavu poskytuje příkaz `git status`

git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   Makefile
#

Před nahráním změn do vzdáleného repozitáře je vhodné pro kontrolu zobrazit změny, které jste v lokální kopii provedli

git diff Makefile
diff --git a/Makefile b/Makefile
index 743e0c7..26de1b4 100644
--- a/Makefile
+++ b/Makefile
@@ -3,3 +3,6 @@ PDFLATEX=pdflatex
 
 pdf:
        $(PDFLATEX) $(NAME).tex
+
+clean:
+       rm -f $(NAME).pdf
  • Nahraní změn do vzdáleného repozitáře
git add Makefile
git commit -m"Makefile: pridano pravidlo 'clean'"
git push
Přejmenování/přesunutí souboru
git mv Makefile.old Makefile.old1
git commit -m"Makefile.old prejmenovan na Makefile.old1"
git push
Odstranění souboru (lokální kopie i souboru ve vzdáleném repozitáři)
git rm Makefile.old
git ci -m"Makefile.old odstranen"
git push
Vrátit provedené změny
  • Před odstraněním změn je vhodné zjistit jejich rozsah
git diff Makefile
diff --git a/Makefile b/Makefile
index c1b0730..2f43e19 100644
--- a/Makefile
+++ b/Makefile
@@ -2,9 +2,6 @@
 NAME=dokumentace.tex
 
 all:
-       make pdf
-
-pdf:
        $(PDFLATEX) $(NAME).tex
 
 clean:
  • Odstranění lokální modifikace (tj. přepsání souboru lokální kopie souborem ze vzdáleného repozitáře) se provede příkazem `git revert`. Tyto změny jsou nevratné!
git revert Makefile
Přehled provedených změn
svn log
------------------------------------------------------------------------
r117 | landa | 2010-03-07 18:12:39 +0100 (Sun, 07 Mar 2010) | 1 line

Makefile: pridano pravidlo 'clean'
------------------------------------------------------------------------
r116 | landa | 2010-03-07 18:08:56 +0100 (Sun, 07 Mar 2010) | 1 line

Makefile pro dokumentaci projektu
------------------------------------------------------------------------
r115 | landa | 2010-03-07 18:04:09 +0100 (Sun, 07 Mar 2010) | 1 line

zakladni adresare projektu
------------------------------------------------------------------------

Viz také zobrazení změn v Tracu.

Nastavení svn:ignore
svn propedit svn:ignore .
Výpis vlastností
svn proplist -v .

-->

PostGIS

Pro účel projektu je na serveru 'geo102' zřízena databáze pgis_pin2. Každé skupině je přiřazeno unikátní schéma, např. skupině 'A' v roce 2009 - a09. V projektech se schéma uvádí vždy explicitně pro každou tabulku, tedy např.

SELECT count(*) FROM a09.obce;

Pro potřeby UMN MapServer či QGIS lze k databázi přistupovat jako uživatel 'postgis' s heslem 'postgis1'.

Konzultace

Ing. Martin Landa <martin.landa fsv.cvut.cz> (B802, konzultační hodiny)