Ho riflettuto su alcune strategie di ramificazione (creazione di rami per funzionalità, forse per sviluppatore poiché siamo un piccolo gruppo) e mi chiedevo se qualcuno avesse riscontrato problemi. La creazione di un ramo occupa molto spazio?TGB Ramificazione e spazio su disco
risposta
L'ultima volta che ho guardato, TFS utilizza la copia su scrittura, il che significa che non aumenterai lo spazio su disco finché non cambierai i file. È un po 'come usare i collegamenti simbolici finché non hai bisogno di cambiare le cose.
James è fondamentalmente corretto. Per una risposta più completa, abbiamo bisogno di iniziare con il post di Buck dal lontano 2006: http://blogs.msdn.com/buckh/archive/2006/02/22/tfs_size_estimation.aspx
Ogni nuova riga nella tabella versione locale aggiunge circa 520 byte (una riga viene aggiunto per ogni area di lavoro che ottiene il neo aggiunto elemento e la dimensione è dominata dalla colonna del percorso locale). Se si dispone di 100 aree di lavoro che ottengono l'elemento appena aggiunto, il database aumenterà di 52 KB. Se si aggiungono 1.000 nuovi file di dimensioni medie (mix di file di origine, file binari, immagini, ecc.) E si ottengono 100 spazi di lavoro, il database di controllo della versione aumenta di circa 112 MB (60 KB * 1.000 + 520 * 1.000 * 100) .
Possiamo omettere la cifra di 60 KB poiché gli elementi ramificati non duplicano il contenuto del file. (Non è abbastanza "copy-on-write", James - una quantità O (N) di metadati deve essere calcolata e memorizzata durante l'operazione stessa del ramo, contro sistemi come git che credo si ramificano in O (1) - ma hai ragione sul fatto che il nuovo oggetto punta allo stesso record in tbl_Content come elemento sorgente fino a quando non viene modificato). Questo ci lascia semplicemente con il fattore 520 * num_workspaces * files_per_workspace
. Sul server MS dogfood ci sono qualcosa come 2 miliardi di righe in tbl_LocalVersion, ma in un piccolo gruppo auto-descritto dovrebbe essere assolutamente trascurabile.
Il blog di Something Buck non menziona la cronologia delle fusioni. Se si adotta un flusso di lavoro di tipo branch-heavy e lo si attacca attraverso diversi cicli di sviluppo, è probabile che tbl_MergeHistory cresca quasi come tbl_LocalVersion. Di nuovo, dubito che si possa registrare anche sul radar di una piccola squadra, ma su grandi installazioni si possono facilmente accumulare centinaia di milioni di file. Detto questo, ogni riga è molto più piccola poiché non ci sono campi nvarchar (260).
- 1. iOS: dati principali e spazio su disco
- 2. test su spazio su disco in linux
- 3. Spazio su disco affamato Database NoSQL
- 4. Database che consuma meno spazio su disco
- 5. MongoDb: evitare spazio su disco eccessivo
- 6. ElasticSearch trova l'utilizzo dello spazio su disco
- 7. centos spazio libero su disco non aggiornato
- 8. modulo .NET Ionic.Zip uccidendo spazio su disco
- 9. Cassandra consuma tutto lo spazio su disco
- 10. mancata query SQL spazio su disco insufficiente
- 11. XCode 6 GM mangia spazio su disco e memoria
- 12. Trova spazio su disco in python su OS/X
- 13. Spazio su disco libero su un'unità di rete in Delphi
- 14. ramificazione e remoti teste Mercurial
- 15. Come risolvere lo spazio su disco insufficiente per Android Studio?
- 16. Utilizzo di ansible per gestire lo spazio su disco
- 17. Utilizzo di Android Studio con spazio su disco minimo
- 18. Problema di spazio su disco Amazon EC2 ed EBS
- 19. Quanto spazio su disco hanno i piani di heroku?
- 20. Il database Mongo occupa molto più spazio su disco di
- 21. Strategie di ramificazione e fusione
- 22. come trovare l'utilizzo dello spazio su disco per utente?
- 23. come risolvere jenkins 'Spazio su disco è troppo basso' problema?
- 24. Riempire lo spazio su disco nel dispositivo Android
- 25. Come trovare quanto spazio su disco è rimasto usando Java?
- 26. Costo della ramificazione su uniformi su GPU moderne
- 27. Gestione dipendenze .NET e tagging/ramificazione
- 28. Git/Sourcetree ramificazione e fusione di base
- 29. Ramificazione in Mercurial
- 30. Trie basato su disco?
+1: La mia comprensione pure. Il ramo occuperà spazio sulla stazione di lavoro locale, ma puoi sempre Cloak del ramo se non vuoi vederlo (che in pratica lo elimina dal tuo Workspace) e sfoltirlo una volta che è stato fatto e unito nuovamente. – TrueWill
I non sono riuscito a trovare alcuna informazione su questo, quindi se qualcuno incontra qualche link, indicamelo. Grazie per la risposta. –