Siamo appena passati da TFS a Mercurial per il nostro piccolo team. Il progetto principale su cui lavorano 3 persone è un'applicazione Windows Form in C#. Ogni volta che si utilizza il designer, anche per semplici modifiche, viene eseguito un intero lotto di riorganizzazione e modifica del file .Designer. Se due persone lavorano su questo file, anche apportando semplici modifiche, l'unione è un incubo assoluto. C'è un modo semplice per risolvere questo problema? In TFS, abbiamo disattivato le modifiche simultanee, pertanto non abbiamo riscontrato questo problema.C'è un modo più semplice per unire i file di Windows Form .Designer?
risposta
Le fusioni di questo tipo di file sono sempre dolorose ... Questo è il motivo per cui esistono alcune estensioni "di blocco" per Mercurial, quindi è possibile avere lo stesso flusso di lavoro di TFS se necessario.
Ad esempio, è possibile utilizzare Lock extension scritto da Martin Geisler per bloccare i file .Designer fino al successivo push
, così facendo si eviterà qualsiasi modifica simultanea evitando così anche l'unione.
Ancora non penso che questo risolva il problema della fusione tra filiali, anche se non è quello che l'OP sta chiedendo. –
Il "blocco" dei file non è una soluzione appropriata (né pratica in un ambiente distribuito). Il problema è rappresentato dal generatore di codice di Microsoft, che non si preoccupa di rendere il file leggibile dall'uomo (ad esempio, ordinare i membri, ad esempio). Se dovesse emettere il codice in modo ordinato, non sarebbe necessario ordinare centinaia di hunk per una piccola modifica di una sola riga, perché solo quella riga cambierebbe. Onestamente non riesco a capire come l'hanno implementato perché sia così imprevedibile. Devono usare un RNG per divertimento o qualcosa del genere ... – bambams
Il problema è ogni volta che il motore del codice gen può generare codice in ordine diverso !!! che fa fondere un dolore.
Designer WinForm (.NET), progettista Swing (Java) fa affidamento sul motore del codice gen.
design.cs di ASP.NET contiene solo il campo di supporto, che ha meno probabilità di soffrire.
Il campo di supporto di WPF viene generato in obj/*. G.cs, che non è richiesto per mantenere il controllo del codice sorgente, quindi nessun problema di unione.
- 1. Un modo semplice per unire i plists?
- 2. XSLT: un modo semplice per unire i file xml
- 3. Esiste un modo semplice per unire due valori di System.Drawing.Color?
- 4. Un modo semplice per visualizzare i file di dump postgresql?
- 5. C'è un modo per unire i file pdb con ilmerge?
- 6. Un modo efficiente di unire i dati da più tabelle
- 7. Creazione di un modulo semplice con qt-designer e pyqt
- 8. Il modo più semplice per avviare e arrestare i servizi Windows in Windows XP
- 9. Il modo più semplice per scaricare un file?
- 10. Visual form JQuery UI designer
- 11. Il modo più semplice per generare file di localizzazione
- 12. modo più semplice per programmare un file system virtuale in Windows con Python
- 13. Qual è il modo più semplice per creare un tasto di scelta rapida per Windows?
- 14. Il modo più semplice di scrivere NSData in un file
- 15. Esiste un modo semplice per escludere i file per i quali ricerche di FuzzyFinder?
- 16. Aggiunta di un controllo utente utilizzando il designer di Windows Form
- 17. Un modo semplice per decomprimere un file .zip usando zlib
- 18. Come unire più file di patch?
- 19. Il modo più semplice per disegnare un'immagine?
- 20. Il modo più semplice per controllare i numeri
- 21. Un modo più semplice per mantenere aggiornato un ramo git
- 22. Il modo più semplice per scambiare due file in bash
- 23. Qual è il modo più semplice per unire tutti, ma un cambio da un ramo in Git?
- 24. C'è un modo per ritardare un gestore di eventi (diciamo per 1 secondo) in Windows Form
- 25. Il modo più semplice per scrivere e leggere un XML
- 26. Esiste un modo più semplice per creare il pacchetto perl
- 27. Loopback - Il modo più semplice per estendere un modello integrato
- 28. Sospendi ridisegno di Windows Form
- 29. Modo più semplice per trasformare un DOMSource in un StreamSource?
- 30. Il modo più semplice per riprodurre mp3 da Visual C++
L'unione di '* .Designer.cs' è un periodo di dolore. – IAbstract
Stavo per fare la stessa domanda sui file web designer designer. Immagino sia possibile che il blocco sia la soluzione migliore, ma non una soluzione molto soddisfacente quando ciò che vuoi veramente è lasciare che tutti lavorino e poi unirsi più tardi. – regularmike