2010-07-17 11 views

risposta

16

Il nome generico per questa funzione è:

Scaffalature:. La possibilità di caricare in realtà revisioni intermedie al server senza veramente il check-in
In un CVCS (centralizzata VCS), è effettivamente necessario carica quei dati intermedi su un server centrale.
Ma in un DVCS (Distributed VCS), è sufficiente memorizzarli in un repository locale.

c'è:

si possono trovare tutti gli altri comandi di scaffalatura SCM in questo SCM comparison table on Wikipedia.

  • AccuRev: keep/co (questo è controverso in this question)
  • Bazaar: accantonare/unshelve
  • Darcs: ripristinare/unrevert
+1

In alternativa, per Mercurial: http://stackoverflow.com/questions/6158419/hg-mercurial-any-way-to-set-aside-the-working-copy-for-later –

+0

Possibilmente WP ha cambiato da questa risposta, ma la voce di Accurev non mostra supporto per scaffali :( –

+0

@MattSach Sì, questo deve essere cambiato dopo questa domanda del 2013: https://stackoverflow.com/q/19765112/6309 – VonC

4

Jazz controllo del codice sorgente, integrata in IBM Rational Team Concert supporta questa funzionalità. Si chiama "Suspend".

Dal sito Jazz.net: "Jazz consente di rimuovere temporaneamente un set di modifiche dal proprio spazio di lavoro sospendendolo. A un certo punto in futuro, è possibile riprendere il set di modifiche e continuare a lavorare su di esso."

Jazz Source Control FAQ

+0

Questo non è veramente equivalente perché non è intermedio: quando si "sospende" lo si è rimosso dal proprio spazio di lavoro ma il check-in si è verificato (il componente ha un nuovo changeset) – Oliver

+1

Quando si _Sospendi un changeset, il _code_ viene rimosso dallo spazio di lavoro locale ** e * * dal tuo spazio di lavoro del repository. È nel tuo componente ma solo come "Shelved" o "Suspended" di modifiche. Ciò significa che se qualcuno carica quel repository e compila il progetto, ** non ** contiene tali modifiche. Quindi, in che senso è diverso da Shelve o Stash? – macrobug

1

Se non si desidera utilizzare scaffali, è possibile farlo nel modo seguente.

hg diff > mylocalchanges.txt 
hg revert -a 
# Do your merge here, once you are done, import back your local mods 
hg import --no-commit mylocalchanges.txt 
Problemi correlati