2012-05-09 4 views
5

Ho un file chiamato/work/file.py nel mio repository.Mercuriale come creare una patch per un file in repo

ho lavorato in pronti contro termine (su altri file troppo oltre file.py) e commettendo miei cambiamenti e sono passati dalla revisione 20 a 30.

Come faccio a creare una patch solo per file.py da revisioni da 20 a 30 senza includere gli altri file?

Qualcosa di simile:

hg export 20:30 file.py > new.patch 

hanno provato il comando, ma non funziona.

Grazie

risposta

5

hg export esporta i singoli gruppi di modifiche come entità separate.

Se ho capito bene, è necessaria una risposta alla domanda "Quali modifiche sono state apportate a file.c tra la revisione 20 e la revisione 30?", Cioè è necessario solo un file diff.

Ecco come si può fare:

hg diff file.c -r 20:30 > new.diff 

Come approccio più versatile, è possibile utilizzare -I (Includi pattern file)/-X (escludere).

+0

Grazie, posso quindi applicare il diff come patch con hg import? – Neeran

+0

Dopo essere stato aggiornato alla versione 20, sì, è possibile. Nota questo aggiornerà solo 'file.c', e la cronologia dei changeset (20:30) andrà persa. Cura di spiegare qual è il problema che stai risolvendo? – Helgi

+0

Stava bene volevo solo le modifiche per solo file.py da esportare come patch e non le altre modifiche ad altri file nello stesso commit. – Neeran