Verzovací system - pár dotazů...
- nou
- Začátečník

-
- Registrován: 11. pro 2009
Re: Verzovací system - pár dotazů...
tam nie je co vymyslat. proste kazdy projekt bude samostatny HG repozitar.
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: Verzovací system - pár dotazů...
jj, to zatím mám...
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: Verzovací system - pár dotazů...
jen ještě mi není jasné, jestli se bude projekt rozdělovat na větve, nebo dělat clony repozitáře... 
- nou
- Začátečník

-
- Registrován: 11. pro 2009
Re: Verzovací system - pár dotazů...
obydve. kazdy vyvojar si bude klonovat repozitar k sebe na disk. a tiez kazdy bude mat vsetky vetvy. git/hg su distribuovane verzovacie systemy. kazda jedna operacia okrem push/pull sa roby na lokalnom repozitary. kazdy repozitar obsahuje vsetky informacie takze aj ked nahodou vybuchne server tak sa takmer nic nedeje a staci len naklonovat niektory z repozitarov ktore maju vyvojari a ide sa dalej.
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: Verzovací system - pár dotazů...
ok, takže i vývojáři musí mít nainstalovaný mercurial u sebe...
A já si právě myslel, že se jen napojí na tu složku s projektem co je na serveru přes místní síť...
Takže na serveru tedy bude složka nesoucí název projektu, a v ní repozitář stable.
Dále bude klon clon_stable který si budou vývojáři klonovat k sobě - je to tak? Po provedení změn pak pushnou změny na server do clon_stable...
Po otestování se pak obsah clon_stable hodí do hlavního repozitáře stable a z něj na hosting...
To je tedy systém
No o víkendu se dostanu domů, kde mám 3 počítače a síť, takže si to můžu vyzkoušet...
EDIT: Takto: http://img801.imageshack.us/img801/3281/navrh2o.png
A já si právě myslel, že se jen napojí na tu složku s projektem co je na serveru přes místní síť...
Takže na serveru tedy bude složka nesoucí název projektu, a v ní repozitář stable.
Dále bude klon clon_stable který si budou vývojáři klonovat k sobě - je to tak? Po provedení změn pak pushnou změny na server do clon_stable...
Po otestování se pak obsah clon_stable hodí do hlavního repozitáře stable a z něj na hosting...
To je tedy systém
No o víkendu se dostanu domů, kde mám 3 počítače a síť, takže si to můžu vyzkoušet...
EDIT: Takto: http://img801.imageshack.us/img801/3281/navrh2o.png
- nou
- Začátečník

-
- Registrován: 11. pro 2009
Re: Verzovací system - pár dotazů...
instalovat samostatny mercurial nemusi byt nutne. zalezi od toho co vsetko vie ten plugin do netbeans. treba to vyskusat ci funguje ten plugin samostatne alebo potrebuje aj mercurial program.
na tamto je vhodne spravit dve branch stable a develop. robit dva rovnake repozitare na serveri je zbytocne. fakt by si mal precitat nejaky poriadny tutorial pretoze ti unikaju uplne zakladne principi ako git/hg funguju.
na tamto je vhodne spravit dve branch stable a develop. robit dva rovnake repozitare na serveri je zbytocne. fakt by si mal precitat nejaky poriadny tutorial pretoze ti unikaju uplne zakladne principi ako git/hg funguju.
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: Verzovací system - pár dotazů...
no, tutorialy čtu už dva dny, ale právě v tom mám docela guláš...o víkendu to nějak poladím...snad...
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: Verzovací system - pár dotazů...
nou: Ahoj, tak jsem si to teď zkoušel:
Udělal jsem si doma na síťovém disku (simuluje server) složku s projektem a z ní udělal repozitář (init a add). Pak jsem se ze dvou různých PC napojil na ten repozitář a otevřel si v editoru stejný soubor a z každého PC jsem přidával změny (commit + update). Je tu jen ten problém, že vlastně když takto pracují dva lidi na jednom souboru (např. soubor s funkcema), tak si můžou soubor vlastně navzájem přepsat (když vývojář 1 upraví soubor a provede commit tak když druhý vývojář zrovna upravuje tento soubor také, tak se mu nabídne reload souboru - přijde o necommitnuté změny).
Takže jsem postupoval takto: Na servru jsem vytvořil projekt, init, add. Každý uživatel si udělal u sebe klon tohoto repozitáře. Pak nebyl problém aby si každý tvořil své soubory a pushoval je na server (push + update), ale jak vyřešit situaci, když dva lidi začnou pracovat na stejném souboru?Např. jeden bude tvořit hlavičku v index.php a druhý bude tvořit zápatí index.php? Každý udělá commit a push na server, ale pak jak to spojím do sebe? Když udělám merge, tak mi to hodí chybu a ukáže obsah těch dvou verzí - co teď? Jak se toto řeší?
Zatím by tedy mohlo fungovat toto: repo_release, vývojáři si u sebe budou klonovat repo_release a změny pushovat zpět do něj. Obsah repo-release by byl pak na hostingu...
Díky...
Udělal jsem si doma na síťovém disku (simuluje server) složku s projektem a z ní udělal repozitář (init a add). Pak jsem se ze dvou různých PC napojil na ten repozitář a otevřel si v editoru stejný soubor a z každého PC jsem přidával změny (commit + update). Je tu jen ten problém, že vlastně když takto pracují dva lidi na jednom souboru (např. soubor s funkcema), tak si můžou soubor vlastně navzájem přepsat (když vývojář 1 upraví soubor a provede commit tak když druhý vývojář zrovna upravuje tento soubor také, tak se mu nabídne reload souboru - přijde o necommitnuté změny).
Takže jsem postupoval takto: Na servru jsem vytvořil projekt, init, add. Každý uživatel si udělal u sebe klon tohoto repozitáře. Pak nebyl problém aby si každý tvořil své soubory a pushoval je na server (push + update), ale jak vyřešit situaci, když dva lidi začnou pracovat na stejném souboru?Např. jeden bude tvořit hlavičku v index.php a druhý bude tvořit zápatí index.php? Každý udělá commit a push na server, ale pak jak to spojím do sebe? Když udělám merge, tak mi to hodí chybu a ukáže obsah těch dvou verzí - co teď? Jak se toto řeší?
Zatím by tedy mohlo fungovat toto: repo_release, vývojáři si u sebe budou klonovat repo_release a změny pushovat zpět do něj. Obsah repo-release by byl pak na hostingu...
Díky...
- nou
- Začátečník

-
- Registrován: 11. pro 2009
Re: Verzovací system - pár dotazů...
no spravne si isiel spravit merge. tebe vznikol merge konflikt. ten vznika ak v jednom subore je zmenena ta ista cast naraz. to musi vyriestit vyvojar rucne. na to sa hodi nejaky GUI tool ako je Meld http://meldmerge.org/ alebo Diffuse http://diffuse.sourceforge.net/ alebo iny. v tebou popisanom priklade ze jeden vyvojar spravy zmenu na zaciatku suboru a druhy na konci by ku konfliktu nemalo dojst a malo by to spojit automaticky. (hm chvilka googlenia naznacuje ze mercurial neobsahuje automaticky merge tool. to je teda dost nevyhoda oproti git ktory je v tomto ohlade takmer dokonaly) merge sa vzdy roby lokalne kedy sa vytvory novy commit ktory spaja tieto dve verzie. tento commit sa potom pushne na server. http://mercurial.selenic.com/wiki/Merge ... figuration
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: Verzovací system - pár dotazů...
ok, díky...ještě něco - když má někdo naklonovaný repozitář ze serveru, tak jak mám správně editovat nějaký soubor? Protože při klonování se mi soubory ke mě nestáhnou...Je tedy správný postup, že si ručně soubor ze serveru zkopíruji k sobě? Nebo to jde i jinak (tak, aby mercurial soubor zkopíroval ke mě sám)?
- nou
- Začátečník

-
- Registrován: 11. pro 2009
Re: Verzovací system - pár dotazů...
prikaz hg clone adresa/odkial/klonovat by mal vytvorit normalne vsetky subory vo working directory.
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: Verzovací system - pár dotazů...
no, právě že ne, udělal jen složku .hg
Tak teď jsem to zkoušel přes příkazovou řádku (předtím jsem to udělal přes naklikání v TortoiseHG Workbench) a zkopíruje to soubory v repozitáři, ale složky ne...Takže když mám v hlavním repo. vytvořený netbeans PHP projekt, tak v něm je:
.hg(složka)
nbproject(složka), kterou vytvořil netbeans
nějaký vytvořený soubor (index.php třeba)
Ale do klonu se zkopíruje jen .hg a ten soubor/y (index.php)
Tak teď jsem to zkoušel přes příkazovou řádku (předtím jsem to udělal přes naklikání v TortoiseHG Workbench) a zkopíruje to soubory v repozitáři, ale složky ne...Takže když mám v hlavním repo. vytvořený netbeans PHP projekt, tak v něm je:
.hg(složka)
nbproject(složka), kterou vytvořil netbeans
nějaký vytvořený soubor (index.php třeba)
Ale do klonu se zkopíruje jen .hg a ten soubor/y (index.php)
- nou
- Začátečník

-
- Registrován: 11. pro 2009
Re: Verzovací system - pár dotazů...
to je cudne. su tie subory v repozitary? to znamena pridane cez hg add a aj commitnute?
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: Verzovací system - pár dotazů...
měly by být...dělám to takto:
Složka s projektem je např.
->Z:\projekty\projekt1
příkazy přes cmd:
->dostanu se do složky
->hg init
->hg add
Commit po add nedělám..Jak udělat - normálně ještě po add dát -> hg commit -m "popisek"?
Složka s projektem je např.
->Z:\projekty\projekt1
příkazy přes cmd:
->dostanu se do složky
->hg init
->hg add
Commit po add nedělám..Jak udělat - normálně ještě po add dát -> hg commit -m "popisek"?
- nou
- Začátečník

-
- Registrován: 11. pro 2009
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: Verzovací system - pár dotazů...
ahá, už to funguje...takže chyběl commit...Zajímavé je, že když jsem tvořil a klonoval repo. přes TortoiseHG Workbench (naklikával v menu), tak to také nešlo...Takže od teď cmd...
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: Verzovací system - pár dotazů...
Ahoj, ještě jedna věc:
Mám soubor xxx.php, kam dám např. jeden řádek (blok, cyklus, atd...), commit, pak druhý řádek/blok, commit, a třetí+commit.
Pak zjistím, že prostřední je zbytečný a chci ho dát pryč (ale první a třetí blok nechat). Jak to nejlépe řešit? Ručně odmazat a commit, nebo je tam na to nějaká pomůcka? Díky...
Mám soubor xxx.php, kam dám např. jeden řádek (blok, cyklus, atd...), commit, pak druhý řádek/blok, commit, a třetí+commit.
Pak zjistím, že prostřední je zbytečný a chci ho dát pryč (ale první a třetí blok nechat). Jak to nejlépe řešit? Ručně odmazat a commit, nebo je tam na to nějaká pomůcka? Díky...
- nou
- Začátečník

-
- Registrován: 11. pro 2009
Re: Verzovací system - pár dotazů...
ano ide pomocou hg backout odporucam precitat cele toto http://hgbook.red-bean.com/read/finding ... takes.html
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: Verzovací system - pár dotazů...
ok, přečtu...ještě jedna věc - když dáme do repozitáře-release nové změny - je možné, aby to mercurial automaticky hodil na náš hosting (např. přes FTP)?
- nou
- Začátečník

-
- Registrován: 11. pro 2009