<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.vdrift.net/index.php?action=history&amp;feed=atom&amp;title=Autoupdate</id>
	<title>Autoupdate - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.vdrift.net/index.php?action=history&amp;feed=atom&amp;title=Autoupdate"/>
	<link rel="alternate" type="text/html" href="http://wiki.vdrift.net/index.php?title=Autoupdate&amp;action=history"/>
	<updated>2026-08-03T17:00:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>http://wiki.vdrift.net/index.php?title=Autoupdate&amp;diff=1170&amp;oldid=prev</id>
		<title>Timo 6: Formatting style updates</title>
		<link rel="alternate" type="text/html" href="http://wiki.vdrift.net/index.php?title=Autoupdate&amp;diff=1170&amp;oldid=prev"/>
		<updated>2012-08-27T11:22:54Z</updated>

		<summary type="html">&lt;p&gt;Formatting style updates&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:22, 27 August 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot; &gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==User Interface==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==User Interface==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Several GUI pages have been added. From the main menu, the &amp;quot;Cars and Tracks&amp;quot; button takes the user to a page with options to check for updates and manage cars. When the user clicks &amp;quot;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;check &lt;/del&gt;for &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;updates&lt;/del&gt;&amp;quot;, the sourceforge svn browser html is scraped to get the latest revision numbers for the car folders. The car manager UI is populated from code and allows the user to see what updates are available and provides an &amp;quot;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;apply update&lt;/del&gt;&amp;quot; button.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Several GUI pages have been added. From the main menu, the &amp;quot;Cars and Tracks&amp;quot; button takes the user to a page with options to check for updates and manage cars. When the user clicks &amp;quot;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Check &lt;/ins&gt;for &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Updates&lt;/ins&gt;&amp;quot;, the sourceforge svn browser html is scraped to get the latest revision numbers for the car folders. The car manager UI is populated from code and allows the user to see what updates are available and provides an &amp;quot;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Apply Update&lt;/ins&gt;&amp;quot; button.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Versioning==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Versioning==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are two types of versioning: the versioning for each car folder, and the versioning for the car format.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are two types of versioning: the versioning for each car folder, and the versioning for the car format.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;First, car folder versioning. The data/settings/updates.config file is distributed with each release, and contains the cars that have been included in that release along with their SVN revision numbers. When the game checks for updates, the sourceforge svn browser html is scraped to get the latest revision numbers, and that information ([available_cars] section) along with the current on-disk versions ([cars] section) are stored in an updates.config in the user&amp;#039;s folder (~/.vdrift on &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;linux&lt;/del&gt;). The game offers to apply updates when the on-disk versions are less than the available versions.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;First, car folder versioning. The &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039;&lt;/ins&gt;data/settings/updates.config&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039; &lt;/ins&gt;file is distributed with each release, and contains the cars that have been included in that release along with their SVN revision numbers. When the game checks for updates, the sourceforge svn browser html is scraped to get the latest revision numbers, and that information ([available_cars] section) along with the current on-disk versions ([cars] section) are stored in an &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039;&lt;/ins&gt;updates.config&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039; &lt;/ins&gt;in the user&amp;#039;s folder (&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039;&lt;/ins&gt;~/.vdrift&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039; &lt;/ins&gt;on &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Linux&lt;/ins&gt;). The game offers to apply updates when the on-disk versions are less than the available versions.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Next, car format versioning. Sometimes, the format of car files changes in a way that breaks compatibility with old data files. To protect against updating cars to a format that the user&amp;#039;s executables won&amp;#039;t understand, format versions are stored in the updates.config file in the [formats] section. The version of the car format that the executable release understands is set in the data/settings/updates.config file included in the release (and copied to the user&amp;#039;s folder). The game retrieves the latest data/settings/update.config via the sourceforge svn website and checks the format version there to make sure it matches the version number in the local update.config. If the format versions are not equal, updates will refuse to apply.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Next, car format versioning. Sometimes, the format of car files changes in a way that breaks compatibility with old data files. To protect against updating cars to a format that the user&amp;#039;s executables won&amp;#039;t understand, format versions are stored in the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039;&lt;/ins&gt;updates.config&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039; &lt;/ins&gt;file in the [formats] section. The version of the car format that the executable release understands is set in the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039;&lt;/ins&gt;data/settings/updates.config&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039; &lt;/ins&gt;file included in the release (and copied to the user&amp;#039;s folder). The game retrieves the latest &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039;&lt;/ins&gt;data/settings/update.config&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039; &lt;/ins&gt;via the sourceforge svn website and checks the format version there to make sure it matches the version number in the local &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039;&lt;/ins&gt;update.config&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039;&lt;/ins&gt;. If the format versions are not equal, updates will refuse to apply.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Updating==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Updating==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When the user clicks &amp;quot;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;apply update&lt;/del&gt;&amp;quot;, the car format versioning is re-checked per the description above. If the car format versions mismatch, the game refuses to continue. Otherwise, updates are applied by fetching the .tar.gz bundle for a car&amp;#039;s folder from sourceforge&amp;#039;s http svn browser to a temporary folder (~/.vdrift/tmp on linux). This file then decompressed using libarchive into the settings directory (~/.vdrift on &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;linux&lt;/del&gt;) under a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;&lt;/del&gt;cars&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot; subdir&lt;/del&gt;. The game should look here first when loading car files, and fall back to the global data path. The downloaded file is deleted once the update completes successfully, otherwise it leaves the temporary file around for troubleshooting.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When the user clicks &amp;quot;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Apply Update&lt;/ins&gt;&amp;quot;, the car format versioning is re-checked per the description above. If the car format versions mismatch, the game refuses to continue. Otherwise, updates are applied by fetching the .tar.gz bundle for a car&amp;#039;s folder from sourceforge&amp;#039;s http svn browser to a temporary folder (&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039;&lt;/ins&gt;~/.vdrift/tmp&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039; &lt;/ins&gt;on linux). This file then decompressed using libarchive into the settings directory (&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039;&lt;/ins&gt;~/.vdrift&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039; &lt;/ins&gt;on &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Linux&lt;/ins&gt;) under a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039;&lt;/ins&gt;cars&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&amp;#039; subdirectory&lt;/ins&gt;. The game should look here first when loading car files, and fall back to the global data path. The downloaded file is deleted once the update completes successfully, otherwise it leaves the temporary file around for troubleshooting.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Development]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Development]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Timo 6</name></author>
	</entry>
	<entry>
		<id>http://wiki.vdrift.net/index.php?title=Autoupdate&amp;diff=70&amp;oldid=prev</id>
		<title>Timo 6: 3 revisions: Import from old wiki (on 15 May 2012)</title>
		<link rel="alternate" type="text/html" href="http://wiki.vdrift.net/index.php?title=Autoupdate&amp;diff=70&amp;oldid=prev"/>
		<updated>2012-08-26T17:18:37Z</updated>

		<summary type="html">&lt;p&gt;3 revisions: Import from old wiki (on 15 May 2012)&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:18, 26 August 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Timo 6</name></author>
	</entry>
	<entry>
		<id>http://wiki.vdrift.net/index.php?title=Autoupdate&amp;diff=69&amp;oldid=prev</id>
		<title>Venzon at 16:12, 31 July 2011</title>
		<link rel="alternate" type="text/html" href="http://wiki.vdrift.net/index.php?title=Autoupdate&amp;diff=69&amp;oldid=prev"/>
		<updated>2011-07-31T16:12:50Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:12, 31 July 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot; &gt;Line 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Updating==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Updating==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When the user clicks &amp;quot;apply update&amp;quot;, the car format versioning is re-checked per the description above. If the car format versions mismatch, the game refuses to continue. Otherwise, updates are applied by fetching the .tar.gz bundle for a car&amp;#039;s folder from sourceforge&amp;#039;s http svn browser to a temporary folder (~/.vdrift/tmp on linux). This file then decompressed using libarchive into the settings directory (~/.vdrift on linux) under a &amp;quot;cars&amp;quot; subdir. The game should look here first when loading car files, and fall back to the global data path. The downloaded file is deleted once the update completes successfully, otherwise it leaves the temporary file around for troubleshooting.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When the user clicks &amp;quot;apply update&amp;quot;, the car format versioning is re-checked per the description above. If the car format versions mismatch, the game refuses to continue. Otherwise, updates are applied by fetching the .tar.gz bundle for a car&amp;#039;s folder from sourceforge&amp;#039;s http svn browser to a temporary folder (~/.vdrift/tmp on linux). This file then decompressed using libarchive into the settings directory (~/.vdrift on linux) under a &amp;quot;cars&amp;quot; subdir. The game should look here first when loading car files, and fall back to the global data path. The downloaded file is deleted once the update completes successfully, otherwise it leaves the temporary file around for troubleshooting.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Development]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Venzon</name></author>
	</entry>
	<entry>
		<id>http://wiki.vdrift.net/index.php?title=Autoupdate&amp;diff=68&amp;oldid=prev</id>
		<title>Venzon at 20:30, 27 July 2011</title>
		<link rel="alternate" type="text/html" href="http://wiki.vdrift.net/index.php?title=Autoupdate&amp;diff=68&amp;oldid=prev"/>
		<updated>2011-07-27T20:30:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:30, 27 July 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot; &gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Next, car format versioning. Sometimes, the format of car files changes in a way that breaks compatibility with old data files. To protect against updating cars to a format that the user&amp;#039;s executables won&amp;#039;t understand, format versions are stored in the updates.config file in the [formats] section. The version of the car format that the executable release understands is set in the data/settings/updates.config file included in the release (and copied to the user&amp;#039;s folder). The game retrieves the latest data/settings/update.config via the sourceforge svn website and checks the format version there to make sure it matches the version number in the local update.config. If the format versions are not equal, updates will refuse to apply.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Next, car format versioning. Sometimes, the format of car files changes in a way that breaks compatibility with old data files. To protect against updating cars to a format that the user&amp;#039;s executables won&amp;#039;t understand, format versions are stored in the updates.config file in the [formats] section. The version of the car format that the executable release understands is set in the data/settings/updates.config file included in the release (and copied to the user&amp;#039;s folder). The game retrieves the latest data/settings/update.config via the sourceforge svn website and checks the format version there to make sure it matches the version number in the local update.config. If the format versions are not equal, updates will refuse to apply.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Updating==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;When the user clicks &amp;quot;apply update&amp;quot;, the car format versioning is re-checked per the description above. If the car format versions mismatch, the game refuses to continue. Otherwise, updates are applied by fetching the .tar.gz bundle for a car&amp;#039;s folder from sourceforge&amp;#039;s http svn browser to a temporary folder (~/.vdrift/tmp on linux). This file then decompressed using libarchive into the settings directory (~/.vdrift on linux) under a &amp;quot;cars&amp;quot; subdir. The game should look here first when loading car files, and fall back to the global data path. The downloaded file is deleted once the update completes successfully, otherwise it leaves the temporary file around for troubleshooting.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Venzon</name></author>
	</entry>
	<entry>
		<id>http://wiki.vdrift.net/index.php?title=Autoupdate&amp;diff=67&amp;oldid=prev</id>
		<title>Venzon: New page: This page describes, at a high level, how the auto-update function works.  ==Introduction== One major barrier to releasing more often is the huge size of the VDrift releases. These large s...</title>
		<link rel="alternate" type="text/html" href="http://wiki.vdrift.net/index.php?title=Autoupdate&amp;diff=67&amp;oldid=prev"/>
		<updated>2011-07-27T16:33:08Z</updated>

		<summary type="html">&lt;p&gt;New page: This page describes, at a high level, how the auto-update function works.  ==Introduction== One major barrier to releasing more often is the huge size of the VDrift releases. These large s...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This page describes, at a high level, how the auto-update function works.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
One major barrier to releasing more often is the huge size of the VDrift releases. These large sizes are due to the large number of cars and tracks that are typically included in a release. If VDrift has auto-update functionality, then releases can be very minimal (one track and one car, for example) and people can download new cars and tracks (and keep their existing ones up to date) through an in-game interface.&lt;br /&gt;
&lt;br /&gt;
The rest of this document talks exclusively about updating cars, but tracks should work similarly.&lt;br /&gt;
&lt;br /&gt;
The auto-update functionality was first proposed in this forum post:&lt;br /&gt;
http://vdrift.net/Forum/viewtopic.php?p=12999&lt;br /&gt;
&lt;br /&gt;
==User Interface==&lt;br /&gt;
Several GUI pages have been added. From the main menu, the &amp;quot;Cars and Tracks&amp;quot; button takes the user to a page with options to check for updates and manage cars. When the user clicks &amp;quot;check for updates&amp;quot;, the sourceforge svn browser html is scraped to get the latest revision numbers for the car folders. The car manager UI is populated from code and allows the user to see what updates are available and provides an &amp;quot;apply update&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
==Versioning==&lt;br /&gt;
There are two types of versioning: the versioning for each car folder, and the versioning for the car format.&lt;br /&gt;
&lt;br /&gt;
First, car folder versioning. The data/settings/updates.config file is distributed with each release, and contains the cars that have been included in that release along with their SVN revision numbers. When the game checks for updates, the sourceforge svn browser html is scraped to get the latest revision numbers, and that information ([available_cars] section) along with the current on-disk versions ([cars] section) are stored in an updates.config in the user&amp;#039;s folder (~/.vdrift on linux). The game offers to apply updates when the on-disk versions are less than the available versions.&lt;br /&gt;
&lt;br /&gt;
Next, car format versioning. Sometimes, the format of car files changes in a way that breaks compatibility with old data files. To protect against updating cars to a format that the user&amp;#039;s executables won&amp;#039;t understand, format versions are stored in the updates.config file in the [formats] section. The version of the car format that the executable release understands is set in the data/settings/updates.config file included in the release (and copied to the user&amp;#039;s folder). The game retrieves the latest data/settings/update.config via the sourceforge svn website and checks the format version there to make sure it matches the version number in the local update.config. If the format versions are not equal, updates will refuse to apply.&lt;/div&gt;</summary>
		<author><name>Venzon</name></author>
	</entry>
</feed>