AI 2008 SVN autoupdate
Posted: 17 Jun 2009, 13:34
kLabMouse has implemented an autoupdate.pl script into the AI 2008 project.
If you want to test it out on windows, you can download the latest svn command-line tools here:
Setup-Subversion-1.6.2
How it works
The script checks for the repositories: openkore, fields, tables if their global rev (last changed rev of repo in svn) is greater than their local rev (the rev we have on our pc).
If this is the case, that means that the global repo (in svn) has changed since we last updated our local repo.
So the script will use the 'svn update --force --accept theirs-conflict' command for that repo.
(note: you can see a repository as a file tree)
Limitations:
- the initial checkout must still be done by the user himself
- not every user uses SVN
Solve limitations?
- hand out an improved version of the script that does the checkout (if the repo does not exist locally, we check it out) instead of handing out svn snapshots
- native svn client built into kore
- make combination of different svn clients (kore native + other) possible by using a downgrade script: issue discription
Potential uses: (read: crazy idea's)
- A system that automatically updates our grf from the patch-server, then extracts the table files, then commits those to svn so that all the user clients are updated immediately (trough the autoupdate feature).
- Conditional checkout of "tables/servername" (folder structure -> see openkore TODO) dependent on which server the user plays.
Got idea's or want to discuss? Make a post!
If you want to test it out on windows, you can download the latest svn command-line tools here:
Setup-Subversion-1.6.2
How it works
The script checks for the repositories: openkore, fields, tables if their global rev (last changed rev of repo in svn) is greater than their local rev (the rev we have on our pc).
If this is the case, that means that the global repo (in svn) has changed since we last updated our local repo.
So the script will use the 'svn update --force --accept theirs-conflict' command for that repo.
(note: you can see a repository as a file tree)
Limitations:
- the initial checkout must still be done by the user himself
- not every user uses SVN
Solve limitations?
- hand out an improved version of the script that does the checkout (if the repo does not exist locally, we check it out) instead of handing out svn snapshots
- native svn client built into kore
- make combination of different svn clients (kore native + other) possible by using a downgrade script: issue discription
Potential uses: (read: crazy idea's)
- A system that automatically updates our grf from the patch-server, then extracts the table files, then commits those to svn so that all the user clients are updated immediately (trough the autoupdate feature).
- Conditional checkout of "tables/servername" (folder structure -> see openkore TODO) dependent on which server the user plays.
Got idea's or want to discuss? Make a post!