2010-06-07 8 views

risposta

19

Dato il numero di revisione, è possibile trovare la Git SHA con

git svn find-rev r1938 

I don 'T so se c'è un modo 'one-shot' per ottenere il commit o altro, ma si può scrivere qualcosa di simile

git log -p `git svn find-rev r1938` 

Update: si noti che è anche possibile afferrare il messaggio di commit con

git svn log -r 1938 

Update di nuovo: di notare che find-rev funziona anche in senso inverso:

git svn find-rev c7443021942 

restituisce il numero di commit SVN.

+0

Funziona sul repository che è stato utilizzato per la migrazione. Se questo repository sta andando in remoto, non può più essere utilizzato, tuttavia è ancora possibile utilizzarlo: 'git log --grep = '@ 12345''. Puoi aggiornare la tua risposta anche con questo? –

+0

Penso che il tuo commento sia abbastanza buono ':)' Non sono molto sicuro di cosa intendi con "andare in remoto", quindi non posso fare molto di più, mi dispiace. –

+0

Voglio dire: se si spinge il repository locale su uno remoto. Quindi funzionerà solo il metodo 'git log'. –

-2

Con Git è simile:

Fixed in d8602bb9729ddb2f28e61028cc5981cb310231a2. 

Prendi il diff con:

git show d8602bb9729ddb2f28e61028cc5981cb310231a2 
+1

nota che in genere solo bisogno i primi cinque o giù di lì caratteri del hash –

+0

Non mi dica a tutti come posso capire che svn commit 12345 è stato mappato a commettere ID: d8602bb9729ddb2f28e61028cc5981cb310231a2 dopo la migrazione! Fondamentalmente ho bisogno di qualcosa tipo: git show -r12345 –

+0

Puoi usare 'git log -1' per mostrare l'ID di commit dell'ultimo commit. Feed that ID to 'git show', voilá. Per trovare una revisione svn specifica in un repository, prova 'git log --grep = '@ 12345' -p'. – Bombe

Problemi correlati