Ho lavorato con le filiali da un po 'di tempo ormai, ma ho sempre usato gli strumenti da riga di comando per eseguire l'effettiva fusione. Tuttavia, ora ho bisogno di farlo solo da Eclipse. Branching e merging essendo una caratteristica ampiamente utilizzata dei sistemi SCM per molti anni, mi aspettavo che Eclipse avesse un buon supporto per esso, ma non sembra essere il caso.Come unire grandi progetti in Eclipse?
Attualmente sto lavorando a un prodotto che è composto da diversi progetti che devono essere ramificati. Quando si uniscono le modifiche da trunk a ramo, normalmente eseguo quanto segue dalla radice del checkout dei rami: (Sto usando Subversion come esempio qui, ma i problemi dovrebbero applicarsi anche ad altri strumenti SCM.)
svn update
svn merge ^/trunk
svn commit -m "Merged from trunk"
Forse risolvere alcuni conflitti nel mezzo, ma questo è tutto quello che devo fare. Tuttavia, in Eclipse posso unire solo a livello di progetto, che presenta i seguenti svantaggi:
- non posso unire il contenuto della cartella principale, solo i contenuti dei singoli progetti. Lo stesso vale per l'aggiornamento, BTW.
- Se la struttura del progetto viene modificata sul trunk (ad esempio, è stato aggiunto un nuovo progetto), tali modifiche non vengono affatto unite. Lo stesso per l'aggiornamento, di nuovo.
- L'unione non è atomica. Se durante il processo di fusione si verifica un commit durante il processo di fusione, le cose possono incasinarsi nella mia copia di lavoro. (Questo può essere risolto, ma non convenientemente.)
Queste limitazioni sembrano abbastanza semplici dal fatto che Eclipse non è a conoscenza della cartella radice, poiché esegue il controllo di singoli progetti da SVN.
La mia domanda è: mi manca qualcosa o è davvero impossibile utilizzare Eclipse in un modo simile a quello che farei dalla riga di comando? E se è davvero impossibile, allora come fanno gli altri a far fronte a questo? Tutti usano strumenti esterni come la riga di comando o TortoiseSVN?
che SVN plug stai usando in Eclipse? –
Attualmente sto usando Subversive con SVNKit 1.3, ma non penso che questi problemi abbiano a che fare con il plugin, o con SVN stesso. O c'è un miglior supporto per, diciamo, Mercurial o forse CVS? –