Nl/Terrasync: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 258: Line 258:


==== Resolutie ====
==== Resolutie ====
{{Let op|Niet aanbevolen. Begrijp de gevolgen}}
{{Caution|Niet aanbevolen. Begrijp de gevolgen}}


[http://forum.flightgear.org/viewtopic.php?f=17&t=28957&p=278275#p278275 Forum Post w/ PowerShell command is here]
[http://forum.flightgear.org/viewtopic.php?f=17&t=28957&p=278275#p278275 Forum Post w/ PowerShell command is here]


== Intern ==
== Intern ==
De SHA1 (Secure Hash Algorithm 1) hashes zijn wat er in de .dirindex bestanden staat, zowel op de server als op jouw computer. Wij synchroniseren time-stamps niet met de serverkopieën, omdat het aan de serverzijde een efficiënte mirroring bemoeilijkt (minder efficiënt). Ik ben er vrij zeker van dat hasj clashes geen probleem zijn, als de mensen van Git dat ook denken. We vertrouwen uitdrukkelijk niet op een speciale of bepaalde HTTP headers om de kans te maximaliseren dat we in de toekomst' gewoon' kunnen werken met verschillende HTTP providers en CDN (Content Delivery Network) opties. De structuur van de .dirindex bestanden is tekst-gebaseerd en hopelijk alledaags genoeg voor iedereen die de moeite neemt om er naar te kijken; ze worden op de server gegenereerd door enkele scripts die Torsten schreef. De code gebruikt in principe dezelfde logica als Git om SHA-hashes voor de gehele repository opnieuw te berekenen; als een van de verschillende stat () velden, vooral sie of mod-time, veranderen, herberekenen we de hash voor dat bestand op schijf.
De SHA1 (Secure Hash Algorithm 1) hashes zijn de weerslag wat er in de .dirindex bestanden staat, zowel op de server als op jouw computer. Wij synchroniseren time-stamps niet met de serverkopieën, omdat het aan de serverzijde een efficiënte mirroring bemoeilijkt (minder efficiënt). Ik ben er vrij zeker van dat "hasj clashes" geen probleem zijn, als de mensen van Git dat ook denken. We vertrouwen uitdrukkelijk niet op speciale of bepaalde HTTP headers om de kans te maximaliseren dat we in de toekomst 'gewoon' kunnen werken met verschillende HTTP providers en CDN (Content Delivery Network) opties. De structuur van de .dirindex bestanden is tekst-gebaseerd en hopelijk duidelijk genoeg voor iedereen die de moeite neemt om er naar te kijken; ze worden op de server gegenereerd door enkele scripts die Torsten schreef. De code gebruikt in principe dezelfde logica als Git om SHA-hashes voor de gehele repository opnieuw te berekenen; als een van de verschillende stat() velden, vooral sie of mod-time, veranderen, herberekenen we de hash voor dat bestand op schijf.
Wanneer de hash van een bestand op de computer verschilt van wat het volgens het .dirindex bestand zou moeten hebben, dan downloaden we het bestand. Dat is zo ongeveer een complete beschrijving van het synchronisatiemodel.  
Wanneer de hash van een bestand op de computer verschilt van wat het volgens het .dirindex bestand zou moeten hebben, dan downloaden we het betreffende bestand. Dat is zo ongeveer een complete beschrijving van het synchronisatiemodel.  
Daarom is het veilig om bestanden naar de boomstructuur te kopiëren met behulp van een tool, of dan te wijzigen - dit zorgt ervoor dat de stat () -data veranderen, waardoor de code de SHA-hash opnieuw zal berekenen, waardoor een her-download naar de server wordt gestart -kant kopie als de SHA niet overeenkomt. Let op: er is geen voorziening die voorkomt dat er gewijzigde (beschadigde) bestanden in de boomstruktuur zitten; ze worden altijd overschreven als ze opnieuw worden gecontroleerd.<ref>{{cite web
Daarom is het veilig om bestanden naar de directorystructuur te kopiëren met behulp van een stuk gereedschap, of het te wijzigen - dit zorgt ervoor dat de stat() data veranderen, waardoor de programmeercode de SHA-hash opnieuw zal berekenen; waardoor een her-download naar de server wordt gestart als de SHA niet overeenkomt. Let op: er is geen voorziening die voorkomt dat er gewijzigde (beschadigde) bestanden in de directorystruktuur zitten; ze worden altijd overschreven als ze opnieuw worden gecontroleerd.<ref>{{cite web
   |url    = https://sourceforge.net/p/flightgear/mailman/message/35064470/
   |url    = https://sourceforge.net/p/flightgear/mailman/message/35064470/
   |title  = <nowiki>Re: [Flightgear-devel] The future of terrasync</nowiki>
   |title  = <nowiki>Re: [Flightgear-devel] The future of terrasync</nowiki>
539

edits

Navigation menu