In che misura la dipendenza dagli spazi bianchi di Python interagisce con il controllo del codice sorgente per quanto riguarda l'unione?

StackOverflow https://stackoverflow.com/questions/119399

Domanda

Mi chiedo se la necessità di modificare il rientro del codice per regolare l'annidamento abbia effetti negativi sulla fusione delle modifiche in un sistema come SVN.

È stato utile?

Soluzione

Funziona bene fintanto che tutti nel progetto hanno accettato di usare lo stesso stile di spazi bianchi (spazi o tabulazioni).

Ma ho visto casi in cui uno sviluppatore ha convertito un intero file da spazi in tabulazioni (penso che Eclipse lo avesse come funzionalità, associato a Ctrl + Tab!), il che rende quasi impossibile individuare differenze diff.

Altri suggerimenti

Ho usato Python con SVN e Mercurial e non ho problemi a unirmi.

Tutto dipende da come viene fatta la differenza - e sospetto che si tratti di carattere per carattere, che noterebbe la differenza tra un livello di rientro e un altro.

Generalmente i sistemi di controllo del codice sorgente si fondono riga per riga per impostazione predefinita. Ho scoperto che l'unione del codice Python non è diversa dall'unione di qualsiasi altro codice sorgente ragionevolmente rientrato. Se un programmatore racchiude un blocco di codice in un'istruzione if (rientro dell'intero blocco) e un altro programmatore modifica qualcosa all'interno del blocco, si verificherà un conflitto di unione. Fortunatamente, il conflitto in questo caso è super facile da risolvere.

Se si utilizza uno strumento di unione esterno, lo strumento potrebbe supportare algoritmi di fusione testuali più dettagliati che tengono conto automaticamente dello scenario sopra.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top