ATTENZIONE: tale "unione fittizia", come raccomandato da @ Martin-Gisler, può davvero rovinarti, se poi vuoi fare una vera unione dei due rami. L'unione fittizia verrà registrata e dirai che ti sei fuso nel ramo in cui hai effettuato l'unione fittizia: non vedrai le modifiche. O se ti unisci all'altro ramo, le modifiche su quell'altro ramo verranno annullate.
Se invece si è interessati a copiare un intero file da un ramo all'altro, si può semplicemente fare:
hg update -r to-branch
hg revert -r from-branch file
hg ci -m 'copied single file from from-branch to to-branch
Se si desidera selezionare diverse parti di quel file, quindi "hg record"
è utile.
L'ho appena fatto nella mia home directory .hgignore.
Se entrambi i rami hanno apportato modifiche a un file che si desidera conservare, un trucco sporco sarebbe creare un'unione dei due rami utilizzando hg merge, probabilmente/probabilmente su un altro ramo ancora, controllare quello dentro e quindi copiare un singolo file tra l'unione e il ramo a-:
hg update -r to-branch
branch merge-branch
hg merge -r from-branch
hg ci -m 'temp merge to be discarded"
hg update -r to-branch
hg revert -r merge-branch single-file
hg ci -m 'merged single-file from from-branch to to-branch"
hg strip merge-branch
vale la pena ricordare: il modo di "copiare un singolo file tra i rami" (o revisioni, o dalla revisione di fondere, o ... .) è "hg revert". Cioè
hg update -r Where-you-want-to-copy-to
hg revert -r Where-you-want-to-copy-from file-you-want-to-copy
...
hg ci
Per qualche ragione io, e alcuni dei miei colleghi, trovare questo MOLTO confusione. "ripristina" == "copia" ... ha senso per alcuni schemi di utilizzo, ma non per tutti.
Questa dovrebbe essere la risposta accettata invece di quello che ha dato Martin Geisler, anche se in realtà non unirà il file, copiare è ciò che si vorrebbe fare la maggior parte del tempo e non rovinerebbe il ramo. – noamik
Questo ha funzionato alla grande per portare un singolo file da un ramo a Una cosa che noto, comunque, è che il check-in del bagagliaio non sembra comparire nella cronologia del file, il che è sfortunato: –
ciao e grazie per la risposta, tuttavia ho dei problemi nella mia situazione il ramo sorgente contiene un file che non esiste nel mio ramo predefinito, ma voglio copiarlo senza unire il resto del ramo. Quando provo a fare ciò che hai descritto, io ottengo 'nessun file in questo modo' Qualche suggerimento? – propagated