539
edits
No edit summary |
No edit summary |
||
| Line 258: | Line 258: | ||
==== Resolutie ==== | ==== Resolutie ==== | ||
{{ | {{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 | 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 | 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> | ||
edits