Mi è stato assegnato un clone di un repository Mercurial e non so su quale versione di Mercurial sia stato creato il repository. Tutti i repository Mercurial sono retrocompatibili? Cioè posso installare l'ultima versione di Mercurial sulla mia macchina ed essere in grado di interagire con il repository OK o potrebbero esserci dei problemi che non conoscono la versione di Mercurial in cui è stato creato il repository?La versione di Mercurial è importante?
risposta
scrivo post sul blog su questo argomento:
- http://brain-break.blogspot.com/2011/09/new-mercurial-repository-format.html
- http://brain-break.blogspot.com/2009/09/new-mercurial-repository-format-fncache.html
Poco attualmente nuova versione HG può operare su vecchi repository a livello locale, ma tornare frase falsa.
Il protocollo filo non cambia fra le versioni HG in modo da poter clone, tirare, spinta da qualsiasi versione di HG a qualsiasi versione di HG che corrono sul http: // e ssh: // Protocolli.
Se si accede a un repository sul vostro filesystem locale e non è supportato, si ottiene un messaggio di errore del tipo:
abort: requirement 'fncache' not supported!
Questa controllato da parole chiave da richiede file:
$ cat repo/.hg/requires revlogv1 store fncache dotencode
Quando si utilizza SSH, è importante la versione di Mercurial sul server. Quindi puoi usare una vecchia versione localmente per parlare con un nuovo repository Mercurial sul server. Ho modificato la tua risposta per riflettere questo. –
@ MartinGeisler Molte modifiche per la correzione. È difficile tenere conto di tutte le cose quando cerchi di risparmiare tempo personale quando rispondi a SO. – gavenkoa
Prego, sono felice di migliorare una buona risposta! –
Gli sviluppatori di Mercurial vanno a great lengths per assicurare la compatibilità con le versioni precedenti.
Le modifiche che potrebbero influire sulla compatibilità sono elencate anche in UpgradeNotes.
- 1. Cos'è la sharding e perché è importante?
- 2. Perché la codifica java secure è importante?
- 3. La dimensione utilizzata con NVARCHAR è importante?
- 4. Mercurial, come taggare la vecchia versione dei file
- 5. Il file project.xcworkspace è importante?
- 6. Perché JSON è importante?
- 7. Mercurial Server è un must per l'utilizzo di Mercurial?
- 8. Controllo versione TFS 2012 vs Mercurial
- 9. configurazione estensione Versione controllato in Mercurial
- 10. La posizione di una lumaca in un URL è importante?
- 11. Bazaar, Mercurial o altro per controllo versione utente singolo?
- 12. L'ordine di più chiamate va_end è importante?
- 13. Quando l'ordine di funzione è importante?
- 14. Quanto è importante l'integrazione del controllo della versione con il software di tracciamento dei bug
- 15. L'ordine dei blocchi di cattura è importante?
- 16. L'ordine di join è importante in SQL?
- 17. Come ottenere una versione specifica di un file in Mercurial?
- 18. Perché la barra finale del servizio Web è così importante?
- 19. Perché la posizione delle parentesi graffe in JavaScript è importante?
- 20. Perché è importante solo la seconda dimensione dell'array?
- 21. Easymock: l'ordine delle catture è importante?
- 22. Quanto è importante il file .vsmdi di Visual Studio?
- 23. È richiesta la versione 1.10 di Gradle. La versione attuale è 2.2.1. in Android
- 24. È richiesta la versione 1.8 di Gradle. La versione attuale è 1.9-rc-3 - Android Studio
- 25. La versione di Nuget non è corretta?
- 26. Qual è la versione C++ di Guid.NewGuid()?
- 27. Quanto è importante disinserire variabili in PHP?
- 28. Che cos'è WebIDL e (perché) è importante?
- 29. Mercurial: file non è ~/.hgrc
- 30. Quanto è importante disporre un font, davvero?
quando si dice " Mi è stato dato un clone ", intendi che hai eseguito" hg clone "o che qualcuno ha zippato una directory e l'ha inviata a te? –