2010-02-08 4 views
7

Il git-bisect fornisce ganci per eseguire una ricerca binaria sulle revisioni e capire quale modifica ha interrotto il progetto. Esiste uno script equivalente per Perforce? Ho fatto ricerche SO e Google senza fortuna.Esiste uno script che fornisce l'equivalente a git-bisect per Perforce (p4)?

Aggiornamento 1 mar 2010: come correttamente sottolineato da Douglas Leeder, questo è facile con una storia lineare. Tuttavia, abbiamo più filiali con fusioni in corso tra i rami, quindi non è così banale come sarebbe con la cronologia lineare. Inoltre, costruire e testare il codice richiede un po 'di tempo (ore), quindi il test automatico sarebbe bello farlo andare senza il mio ritorno e per la corsa notturna/settimanale.

+2

Non è uno script, ma puoi provare a importare la cronologia di p4 in un repository git locale e utilizzare 'git bisect '. Vedi http://git-scm.com/docs/git-p4. Tieni presente che in progetti di grandi dimensioni p4 ci vuole molto tempo per importare tutta la cronologia. –

+1

ha rilevato questo: https://github.com/Ravenbrook/mps/blob/master/tool/p4-bisect –

risposta

-3

Non penso che esista uno strumento esplicito, immagino perché la sincronizzazione con un punto della storia in un sistema di controllo del codice sorgente centralizzato è molto più semplice, quindi nessuno ha sentito la necessità di uno strumento.

Basta sincronizzare la cronologia fino a raggiungere un punto in cui la regressione (che si sta tentando di tracciare) non si verifica più, quindi sincronizzare con la cronologia tra quel punto e HEAD, fino a trovare la revisione del problema.

+0

La cronologia di Perforce tende anche ad essere più lineare. – Arafangion

+4

'git bisect' si occupa di eseguire una ricerca binaria tra commit e rilevamento automatico del difetto scrivendo unit test. Fare questo a mano è praticamente inutile, come sui grandi sistemi, ci possono essere diverse ore tra le build e chi vuole eseguire la ricerca binaria a mano comunque? – liberforce

+0

Anche se la cronologia è lineare, qualcosa di simile a 'git bisect' è utile perché non è necessario dividere manualmente gli elenchi di modifiche e verificare i file. –