Quando uso "p4 diff", ignora i file che ho aperto per aggiungere. È possibile generare un diff che include file aggiunti e file modificati?Perforce - genera una diff compresi i file aggiunti?
risposta
Considerando lo diff in Perforce confrontare i file nell'area di lavoro del client con le revisioni nel depot, la risposta breve è "no".
Non c'è storia documentata da confrontare con la added file (non impegnati al deposito prima di un submit)
La risposta più comporterebbe uno script per completare la diff con il pieno contenuto dei file aggiunti. (un po 'come in questo SO question)
Oh bene. È un peccato, grazie per la risposta. – kdt
Questa è una caratteristica mancante nota di p4 diff che molti strumenti che si occupano di Perforce devono risolvere.
Lo strumento di revisione del codice Reviewboard viene fornito con lo strumento post-review. È usato per creare diffs per una vista del codice, ma farà solo una diff se vuoi.
È in python, è possibile estrarre la sezione diff per il proprio uso.
Ho appena risolto questo problema e ho incluso i miei file aggiunti in una recensione pre-commit di Fisheye.
Quello che ho fatto è stato copiare l'intestazione del descr hk diff hunk dei file modificati. Ciò include una riga che elenca il depot e i percorsi locali - piuttosto semplice - e un'altra linea con le informazioni sull'intervallo, formattate come descritto here.
Così, ho aggiunto ogni allegati il contenuto di ogni file per il diff, ciascuno preceduto da
==== //path/to/depot/file#1 - /path/to/workspace/file ====
@@ -1,1 +1,LEN @@
dove LEN
è il numero di righe nel file aggiunto.
Questo ha funzionato per me; Il tuo chilometraggio può variare.
Ho appena ottenuto che funzioni, ramificando la risposta di Aaron. Invece di
==== //path/to/depot/file#1 - /path/to/workspace/file ====
ho usato
--- //path/to/file [TIMESTAMP GENERATED BY NORMAL DIFF]
+++ //path/to/file [TIMESTAMP GENERATED BY NORMAL DIFF]
@@ -1,1 +1,LEN @@
quindi assicurarsi di avere un +
all'inizio di ogni riga aggiunta.
Ho scritto questo per aiutare me su Cygwin:
#!/bin/bash
if [ $# -ne 1 ]; then
echo "usage: $0 <pathSpec>"
exit 1
fi
pathSpec=$1
doIt() {
p4 opened "$pathSpec" | egrep "#.* - add" | while read f; do
# figure out the workspace path
depotPath=${f%#*}
clientFileLine=$(p4 fstat "$depotPath" | grep clientFile)
workspacePathWin=${clientFileLine#... clientFile }
# diff output
echo ==== $depotPath#1 - $workspacePathWin ====
workspacePath=$(cygpath "$workspacePathWin")
lineCount=$(wc -l < "$workspacePath")
echo @@ -0,0 +1,$lineCount @@
# the actual diff contents
sed -e 's/^/+/' "$workspacePath"
echo
done
}
doIt
Basta p4 stampare i file aggiunti (lo so, non è grande) - ma è senza dubbio un modo per andare.
- 1. Compresi i file .cpp
- 2. Perforce diff visiva di un file diramato (p4 diff2 con diff esterno)
- 3. Perforce non sincronizza i file correttamente
- 4. Perforce sincronizzare rapidamente una directory in uno stato pulito
- 5. Perforce in sospeso script script in sospeso
- 6. Eliminazione automatica dei file aggiunti di recente quando si ripiega in Perforce
- 7. Come faccio a diff-16 i file con GNU diff?
- 8. Git pre-commit hook: file modificati/aggiunti
- 9. Genera piuttosto diff html in Python
- 10. Git - file scartare aggiunti
- 11. file texture Compresi nel file Collada
- 12. Come diff solo i file sorgente?
- 13. Mercurial: elenca i file "hg diff"
- 14. Eliminazione dei diff per i file cancellati in git
- 15. compresi i parametri in OPENQUERY
- 16. È possibile recuperare i file cancellati cancellati in perforce?
- 17. cmake compresi i file h da altre directory
- 18. Perforce: mantenere Perforce dal modificare il formato di file di testo
- 19. Perforce Revert Mostra "file non aperti su questo client"
- 20. scrivendo oggetti js su file (compresi i metodi) in nodejs?
- 21. Come impostare i bit di autorizzazione file con Perforce
- 22. Come trovare i file in Perforce usando P4V?
- 23. Compresi i cst bootstrap in Aurelia
- 24. visualizzare una matrice, compresi i valori, come heatmap
- 25. Does 'svn switch' cancella sempre i file aggiunti localmente?
- 26. Devo inviare file non modificati a Perforce?
- 27. Diff senza file
- 28. Plupload Avvia automaticamente caricati quando i file aggiunti
- 29. Come rimuovere tutti i file aggiunti in GIT
- 30. Come annullare tutti i file aggiunti in Mercurial
"P4 riconciliare" il lavoro per te? http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_reconcile.html – P4Shimada