Nl/Terrasync: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 72: Line 72:
</ref>
</ref>


De http download methode zal goeddeels op dezelfde manier werken als voorheen, maar nu worden alleen de (eventuele) gewijzigde bestanden gedownload. De svn methode vereist 2x de werkelijke ruimte op de harde schijf als gevolg van de manier waarop svn werkt. Gewoonlijk vereist Git dat je elke versie die ooit is gemaakt downloadt om de nieuwste kopie te krijgen (er zijn werk omwegen voor het geval je gewoon de meest recente versie wilt.) Dus het eindresultaat voor de gemiddelde gebruiker die gewoon wil downloaden om de scenery te gebruiken is dat de http methode in het algemeen sneller en eenvoudiger zal zijn. Het vereenvoudigt ook de code binnen FlightGear behoorlijk en moet de synchronisatie robuuster maken. Zoals eerder gezegd, moet het de taak vereenvoudigen om een scenery mirror op te zetten voor degenen die dat willen. Net als voorheen hebben power users meerdere opties voor het updaten van scenery of mixen en samenvoegen met verschillende bronnen als ze dat willen. <ref>{{cite web
De http download methode zal goeddeels op dezelfde manier werken als voorheen, maar nu worden alleen de (eventuele) gewijzigde bestanden gedownload. De svn methode vereist 2x de werkelijke ruimte op de harde schijf als gevolg van de manier waarop svn werkt. Gewoonlijk vereist Git dat je elke versie die ooit is gemaakt downloadt om de nieuwste kopie te krijgen (er zijn wel omwegen voor het geval je gewoon de alleen meest recente versie wilt.) Dus het eindresultaat voor de gemiddelde gebruiker die gewoon de scenery voor gebruik wil downloaden, is dat de http methode in het algemeen sneller zal zijn. Het vereenvoudigt ook de programmeercode voor FlightGear behoorlijk en zou de synchronisatie ook beduidend robuuster moeten maken. Zoals al eerder gezegd zou het, voor degenen die dat willen, veel vereenvoudigen moeten worden om een scenery mirror op te zetten. Net als voorheen hebben power users meerdere opties voor het updaten van scenery en, indien ze dat zouden willen, deze eventueel vanuit verschillende bronnen te combineren. <ref>{{cite web
   |url    = https://sourceforge.net/p/flightgear/mailman/message/35061856/
   |url    = https://sourceforge.net/p/flightgear/mailman/message/35061856/
   |title  = <nowiki>Re: [Flightgear-devel] The future of terrasync</nowiki>
   |title  = <nowiki>Re: [Flightgear-devel] The future of terrasync</nowiki>
Line 82: Line 82:
</ref>
</ref>


De techniek van de http repository is veel eenvoudiger dan die van de svn repository en het zal vrij eenvoudig zijn om een lokale mirror op te zetten of stukjes data te downloaden. Met enige nog te ontwikkelen scriptcode (python bijvoorbeeld) is het niet nodig om bestaande data opnieuw te downloaden. Ik weet niet hoe terramaster werkt, maar ik weet zeker dat het gemakkelijk zal zijn aan te passen aan de nieuwe http toegangsmethode. <ref>{{cite web
De techniek van de http repository is veel eenvoudiger dan die van de svn repository en het zal vrij eenvoudig zijn om een lokale mirror op te zetten of om blokken data te downloaden. Met enige nog te ontwikkelen scripts (in combinatie met bijvoorbeeld python) is het niet nodig om bestaande data opnieuw te downloaden. Ik weet niet hoe terramaster werkt, maar ik ben er zeker van dat het eenvoudig zal zijn aan te passen aan de nieuwe http-opzet. <ref>{{cite web
   |url    = https://sourceforge.net/p/flightgear/mailman/message/35062543/
   |url    = https://sourceforge.net/p/flightgear/mailman/message/35062543/
   |title  = <nowiki>Re: [Flightgear-devel] The future of terrasync</nowiki>
   |title  = <nowiki>Re: [Flightgear-devel] The future of terrasync</nowiki>
Line 92: Line 92:
</ref>
</ref>


Het doel is om SVN volledig af te stoten en alleen nog de HTTP repository te gebruiken. Ik zou dat doel het liest z.s.m. willen bereiken, omdat we op dit moment twee single-points of failure hebben voor de SVN-service. De eerste is de webdienst http://scenery.flightgear.org/svn-service (draait op een private webserver) en de tweede is de enige SVN-server beschikbaar voor publieke toegang, ook gehost op een private server. Als een van beide wegvalt, is de SVN-terrasync dood. Ik heb geleerd dat het een slecht idee is om niet te voorzien in een terugvalmechanisme. <ref>{{cite web
Het doel is om SVN volledig af te stoten en alleen nog de HTTP repository te gebruiken. Ik zou dat doel het liefst z.s.m. willen bereiken, omdat we op dit moment twee mogelijke bronnen voor problemen hebben wat betreft de SVN-service. De eerste is de webdienst http://scenery.flightgear.org/svn-service (die draait op een private webserver) en de tweede is de enige SVN-server die beschikbaar is voor publieke toegang en die ook gehost wordt op een private server. Als een van beide wegvalt, is de SVN-terrasync onbereikbaar. Ik heb in het verleden ondervonden dat het een slecht idee is om niet te voorzien in een terugvalmechanisme. <ref>{{cite web
   |url    = https://sourceforge.net/p/flightgear/mailman/message/35062543/
   |url    = https://sourceforge.net/p/flightgear/mailman/message/35062543/
   |title  = <nowiki>Re: [Flightgear-devel] The future of terrasync</nowiki>
   |title  = <nowiki>Re: [Flightgear-devel] The future of terrasync</nowiki>
Line 102: Line 102:
</ref>
</ref>


Torsten zond een patch naar SimGear en voegde een aantal debugberichten in de verdachte lus. (ze verschijnen alleen met <code>--log-level=debug</code> - voeg ook <code>--log-class=terrasync</code> toe om de output enigszins beperkt te houden) <ref>{{cite web
Torsten zond een patch naar SimGear, inclusief een aantal debugberichten. (deze zijn echter alleen zichtbaar bij gebruik van de optie <code>--log-level=debug</code> - eventueel <code>--log-class=terrasync</code> om de output enigszins beperkt te houden) <ref>{{cite web
   |url    = https://sourceforge.net/p/flightgear/mailman/message/35063277/
   |url    = https://sourceforge.net/p/flightgear/mailman/message/35063277/
   |title  = <nowiki>Re: [Flightgear-devel] FW: The future of terrasync</nowiki>
   |title  = <nowiki>Re: [Flightgear-devel] FW: The future of terrasync</nowiki>
Line 112: Line 112:
</ref>
</ref>


We hebben nu C++ en Python referentievoorbeelden, beide hopelijk gemakkelijk te gebruiken. De C++ tool vind je hier: https://sourceforge.net/p/flightgear/simgear/ci/next/tree/simgear/io/http_repo_sync.cxx Ook hier zijn verbeteringen welkom. <ref>{{cite web
We hebben nu C++ en Python referentievoorbeelden die beide hopelijk makkelijk te gebruiken zijn. Trouwens, de C++ tool vind je hier: https://sourceforge.net/p/flightgear/simgear/ci/next/tree/simgear/io/http_repo_sync.cxx Ook hier zijn voorstellen voor verbeteringen welkom. <ref>{{cite web
   |url    = https://sourceforge.net/p/flightgear/mailman/message/35065868/
   |url    = https://sourceforge.net/p/flightgear/mailman/message/35065868/
   |title  = <nowiki>Re: [Flightgear-devel] The future of terrasync</nowiki>
   |title  = <nowiki>Re: [Flightgear-devel] The future of terrasync</nowiki>
539

edits

Navigation menu