Il seguente problema sta diventando sempre più comune:Trova file non aggiunti alla sovversione
- Ci sono diversi sviluppatori che lavorano su un progetto che comprende i nuovi file (di solito le immagini)
- Tutti dicono che tutto è registrato e congeliamo lo sviluppo. A nostra insaputa, ci sono immagini che non sono state archiviate. L'utente non nota i file mancanti perché sono nuovi, non check-out, quindi svn sembra buono
- Il codice è compilato e distribuito (scusate, no team di QA)
- il giorno successivo il cliente ci racconta le immagini mancanti
- il CTO ci legge l'atto di tumulto
Nota: i percorsi delle immagini sono sia nel codice e nei database quindi non è facile ottieni un elenco completo di tutte le immagini utilizzate.
La mia speranza è di scrivere un piccolo programma C# da far eseguire a tutti prima della distribuzione. Voglio scoprire quali file nella directory del progetto (o uno dei suoi subdir.s, in modo ricorsivo) non sono stati aggiunti a subversion. Idealmente, mi piacerebbe anche escludere gli articoli che sono stati aggiunti attivamente alla lista di ignora.
Utilizziamo TortoiseSVN con host e client Windows.
Come posso scoprire a livello di codice file non aggiunti?
La cosa più vicina che ho potuto trovare fino ad ora è this dicendo di usare svn status | grep -e ^?
ma sembra un comando Unix.
Non è una risposta, ma quando ho commesso via Tortoise, ho sempre la "Mostra senza versione file "casella selezionata. Mostra tutti i file nella directory che non sono stati ancora aggiunti e mi ricorda di controllarli. Le cose che vuoi ignorare (.suo, .user, file ReSharper, ecc.) Possono essere ignorate una volta, e impedirà a questo di rovinare i dati diff, lasciando solo i veri file non controllati. –
Sembra un problema per me. "Tutti dicono che tutto è archiviato" non è abbastanza, la prossima persona per rompere la build dovrebbe pagare 10 $ (salvadanaio per la squadra). Creare uno strumento per verificare se un altro strumento è usato correttamente suona molto male. –
Non importa quanto ci proviamo, almeno qualche volta spezzeremo la build. (Cercare così tanto che non lo rompiamo MAI è una perdita di tempo). Questa è una buona domanda perché, nella mia esperienza, l'errore di controllo # 1 è la mancanza di nuovi file. – doug65536