[Linux-Biella] hg vs git spiegatemi

PaulTT paultt a bilug.linux.it
Ven 18 Nov 2011 15:19:47 CET


On 18/11/2011 13:41, Daniele Segato 說:
> On Fri, 2011-11-18 at 12:52 +0100, PaulTT wrote:
>> On 18/11/2011 12:05, Paolo Ciarrocchi 說:
>>> 2011/11/18 Federico "Darkmagister" Pietta<f.pietta a gmail.com>:
>>>> io naturalmente compilo il programma dopo il pull ...
>>>> quindi creo la dir build ci vo dentro do un cmake ../ e poi compilo ...
>>>>
>>> ma prima di fare il pull fai un make clean e/o un git clean -dxf e/o
>>> git reset --hard?
>> ecco, perche' serve?
>> se io non ho committato nulla, perche' dovrebbe farsi gli affari miei e
>> rompere, a priori?
> ma in realtà la domanda è: secondo te cosa dovrebbe fare?
>
> il pull è un'operazione di merge, tipicamente
>
> a) vi sono diverse casistiche: la tua working directory è pulita e non
> hai fatto commit
> b) la tua working directory è pulita ma hai fatto qualche commit
> c) la tua working directory è sporca (hai modifiche non committate)
>
>
> nel caso a) git aggiorna facendo un "fast forward" all'ultimo commit
> nel caso b) git aggiorna e fa un merge con le tue modifiche locale, in
> caso di conflitti ti chiede di risolverli
> nel caso c) git ti fa una pernacchia perché se fai un pull con delle
> modifiche in locale non te le sovrascrive rischiando di farti perdere
> del lavoro
>
>
> quindi la semplice domanda è: cosa dovrebbe fare git, secondo te, nel
> caso c)?
uh, chiedermi cosa fare?
oppure, altra domanda, esiste un --force che mi forzi l'update al 
mainstream?
senza dover _IO_ scrivere un clean inutile prima?

> e sinceramente vedo lo stesso problema per mercurial

hg pull -u senza --force mi fa il merge in automatico, se io ho una 
modifica in locale e il remoto non e' cambiato
cosa che detto tra noi, fa gia' anche svn eh ;P, o quantomeno chiede 
direttamente


>> che ci compili dentro o tocchi un file, puo' darsi che in automatico
>> switchi branch?
> git da solo no di certo
> *potrebbe* farlo il tuo tool di compilazione, anche se ne dubito

boh, come detto, magari non lo fa piu', oppure mi era capitato di 
compilar qualcosa che lo facesse
avevo avuto incasinamenti con branches del kernel
e, fidati, e' piu' veloce fare cp -a e dopo rm dopo la compilazione che 
dover cmq fare rm e git clone again :D

-- 
Stallman's Law: under corporatocracy, every advance in technology
is an opportunity for corporations to reduce, in practice,
the rights of human beings.



Maggiori informazioni sulla lista Linux