155PIN2 Projekt - Informatika 2: Porovnání verzí
m (→Git) |
m (→Git) |
||
Řádek 73: | Řádek 73: | ||
git clone git@geo102.fsv.cvut.cz:sandbox.git | git clone git@geo102.fsv.cvut.cz:sandbox.git | ||
==== Pracovní cyklus ==== | ==== Pracovní cyklus ==== | ||
; Nastavení editoru | ; Nastavení osobních dat a editoru | ||
git config user.name "Martin Landa" | |||
git config user.email "martin.landa@fsv.cvut.cz" | |||
git config core.editor "emacs" | |||
; Stažení lokální kopie adresáře projektu ze vzdáleného repozitáře | ; Stažení lokální kopie adresáře projektu ze vzdáleného repozitáře | ||
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) | ; Vytvoření základních adresářů projektu (viz požadavky) | ||
cd | cd 2010/a | ||
mkdir dokumentace | |||
mkdir src | |||
mkdir prezentace | |||
; Přidání nového souboru | ; Přidání nového souboru | ||
Řádek 96: | Řádek 100: | ||
cd dokumentace | cd dokumentace | ||
git add Makefile | |||
git commit -am"Makefile pro dokumentaci projektu" | |||
; Nahrání změn do vzdáleného repozitáře | ; Nahrání změn do vzdáleného repozitáře | ||
Řádek 103: | Řádek 107: | ||
:* 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. | :* 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 ` | :* Přehled aktuálního stavu poskytuje příkaz `git status` | ||
git status | |||
<pre> | <pre> | ||
# 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 | |||
# | |||
</pre> | </pre> | ||
:* 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 | :* 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 | |||
<pre> | <pre> | ||
diff --git a/Makefile b/Makefile | |||
index c1b0730..2f43e19 100644 | |||
--- Makefile | --- a/Makefile | ||
+++ Makefile | +++ b/Makefile | ||
@@ -6,3 +6,6 @@ | @@ -6,3 +6,6 @@ | ||
Řádek 133: | Řádek 143: | ||
:* Nahraní změn do vzdáleného repozitáře | :* Nahraní změn do vzdáleného repozitáře | ||
git commit -m"Makefile: pridano pravidlo 'clean'" | |||
git push | |||
; Přejmenování/přesunutí souboru | ; 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) | ; 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 | ; Vrátit provedené změny | ||
Řádek 154: | Řádek 162: | ||
:* Před odstraněním změn je vhodné zjistit jejich rozsah | :* Před odstraněním změn je vhodné zjistit jejich rozsah | ||
git diff Makefile | |||
<pre> | <pre> | ||
diff --git a/Makefile b/Makefile | |||
index c1b0730..2f43e19 100644 | |||
--- Makefile | --- a/Makefile | ||
+++ Makefile | +++ b/Makefile | ||
@@ -2,9 +2,6 @@ | @@ -2,9 +2,6 @@ | ||
NAME=dokumentace.tex | NAME=dokumentace.tex | ||
Řádek 173: | Řádek 181: | ||
</pre> | </pre> | ||
:* Odstranění lokální modifikace (tj. přepsání souboru lokální kopie souborem ze vzdáleného repozitáře) se provede příkazem ` | :* 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 | ; Přehled provedených změn |
Verze z 22. 2. 2011, 17:19
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
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
- Nastavení osobních dat a editoru
git config user.name "Martin Landa" git config user.email "martin.landa@fsv.cvut.cz" git config core.editor "emacs"
- Stažení lokální kopie adresáře projektu ze vzdáleného repozitáře
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 c1b0730..2f43e19 100644 --- a/Makefile +++ b/Makefile @@ -6,3 +6,6 @@ pdf: $(PDFLATEX) $(NAME).tex + +clean: + rm -f $(NAME).pdf
- Nahraní změn do vzdáleného repozitáře
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)