====== Riadenie a organizacia prace na projektoch ======
Pravidla nachadzajuce sa na tejto stranke su v sucasnosti navrhom. Po upravach a schvaleni sa tato poznamka vyhodi a stanu sa zavazne.
===== Zapis prispevkov do wiki =====
Aby sa zamedzilo viacnasobnemu pridavaniu podobneho textu je ako prve potrebne vyhladat slovo a podobne vyrazy. V pripade, ze uz existuje stranka s podobnym obsahom je potrebne zvazit ci nie je vhodne pridat novy text do predchadzajuceho prispevku.
===== Organizacna struktura v sos =====
===== Organizacna struktura v svn =====
==== Branchovanie ====
Ak je potrebne spravit branch zo starsej revizie tak pouzijeme prikaz v konzole
"svn copy -r *revizia cesta_z cesta_do"
Standardne branch-ovanie len s reviziou
revizia - cislo revizie, ktore urcuje po ktoru reviziu si prajeme zmeny v branch-y. Je je napriklad 20050 si uz neprajeme tak tam dame 20049 a vieme ze v branch-y uz nemame nove zmeny
==== Mergovanie ====
Pri mergeovani sa nenechava nevyrieseny konflikt. Nie je teda mozne komitovat po mergenuti kod ktory pouziva iba jednu vetvu, alebo ma konflikt ako komentar. V pripade neschopnosti riesenia mergeovacieho konfliktu sa kontaktuje nadriadeny ktory urci cloveka alebo skupinu ludi ktora vyriesi konflikt.
Na mergovanie sa odporuca pouzivat softver "KDESVN". Program automaticky vytvara poznamky do properties-ov kam branch mergujeme. Properties projektu obsahuje informacie ktory branch bol kedy mergnuty a po ktoru reviziu. Je to dolezite pre spravu branch-ov.
Po prebehnuti merge-u nastava niekedy problem, ze su modifikovane properties(mergeinfo) aj nad nekorenovymi adresarmi. Mergeinfo property maju mat len korenove adresare ako trunk, ESlave, EOnboardComputer a podobne. Cpp aj H subory nemaju obsahovat v svn repozitari mergeinfa.
**Problem sa da vyriesit nadriadenym**: ( Pozor, prikaz vykonavajte v podpriecinku so suborom, s ktorym mate problem. Nepouzivajte prepinac -R !!! )
svn propdel svn:mergeinfo ./file
Tento prikaz je potrebne vykonavat s velkym pozorom na to aby sa nezmazali merge-infa v korenovom adresari. Startili by sa infromacie o branchovani a mergeoch
[[howto:svn|navod na pracu s svn]]
===== Organizacna struktura v sablonach na phoenixe =====
[[coding:rules_phoenix|Popis prace na phoenixe]]
===== Upravy kompilacnych skriptov =====
===== Zalohovanie zdrojakov =====
===== Upravy konfiguracnych suborov =====
Pri poziadavke na zmenu v konfiguracnom subore (pridanie polozky / zmena polozky / zmena struktury) sa to najprv skonzultuje s veducim teamu. Ten potom na zaklade porovnania a konzultacie s produktovym / analytikom a so sucasnymi nastaveniami rozhodne co dalej. Cielom je aby sa nezaviedlo duplicitne nastavenie, ktore bude alebo v dvoch konfiguracnych suboroch alebo v subore aj v Back office systeme (rozumej winade).
V pripade zmeny v konfiguracnom subore sa upravi adektvatne aj dokumentacia tu: [[dev_doc:configs|Konfiguracne subory]].
===== Praca s Enterprise architektom =====
Projekty ktore maju dizajn / analyzu v Enterprise Architekte a maju nastavene cesty ku zdrojovym kodom je potrebne pred tym ako sa v modeli robia upravy aktualizovat so zdrojakmi. Ked by aj nic ine, tak to usetri vela problemov a casu.
===== Cislovanie kniznic =====
cislovanie 2.4 vs. 2.6.
Pozri aj: [[libraryversion:libraryversion|pravidla cislovania brancheovych verzii.]]
Aby bolo mozne na zaklade define-ov "KNIZNICA_MAJORVERSION" v kniznici kompatibilne vykompilovat aj pre stare a nove projekty( na zaklade define-u vieme urcite casti kodu ifdefnut na verziu kniznice )
\\
\\
Nastavenie a vyuzitie plus ine poznatky najdeteme v odkaze verzionovania kniznic.
\\
\\
Verzionovanie kniznic:
[[coding:libraryversion|Nastavenie Major, Minor a Maintance verzii kniznice]]
===== Ine =====
Na zneplatnenie funckie pre dalsie pouzivanie s apouziva makro:
//don't use me any more
DEPRECATED(void OldFunc(int a, float b));
//use me instead
void NewFunc(int a, double b);
pricom je dane v libke basedefs ako:
#ifdef __GNUC__
#define DEPRECATED(func) func __attribute__ ((deprecated))
#elif defined(_MSC_VER)
#define DEPRECATED(func) __declspec(deprecated) func
#else
#pragma message("WARNING: You need to implement DEPRECATED for this compiler")
#define DEPRECATED(func) func
#endif