Hi together, i was bored by updating all SVNs one by one, and i was also bored by writing batch-files to keep my SVNs all up to date. At the end i decided to code a small Plugin which can update everything i want it to update by click This is now the result of my simple plugin, it is only a framework. For a public use, there is some more work to do - implement a settings form with some options like: Link to SVN, Type of SVN (plugin/bot/routine), maybe SVN Credentials) - move the helper methods from the form1.cs, put them into a helper class so that all of them can be used on pulse / botstartup / update button - move some internal variables to public plugin variables Currently it can update (that's what i used it for) - PureRotation - King WoW - Singular (trunk) - Fury Unleashed Since i'm not allowed to publish 3rd party stuff within a plugin i decided to give U (the user) the ability to install the Plugin by yourself, so that u can be sure that there is nothing bad in the needed and compiled dll file the file u will need is called SharpSvn.dll u can download the needed zip from here http://sharpsvn.open.collab.net/files/documents/180/5568/SSvn-1.7002.1998.zip Within the downloaded zip u will find a Folder called SharpSvn in this folder are a lot of files, u'll need only SharpSvn.dll (every other file is not needed!) Copy this one file to your HB root folder and u will have all prerequisites to use the Plugin with Honorbuddy You won't need to install a svn client, but it is also okay to have a different client version installed than this Plugin uses I'm sure i will work on this, every now and then, and will add the functionalities i mentioned above, but if any of the Devs decides that this is interesting and will use it for an advanced / flexible version of this ... feel free to use the code
I'll be waiting for the further advanced one, that can update more than just the handful of SVNs you have attached. I've got a massive amount of SVN files to update since I have about four HB directories, all using almost the same plugins, routines, and bot bases. So, all in all, about 100+ SVN directories to update on a per use basis. D: lol
well for the beginning u could use a texteditor open the form1.cs goto line 62 and insert this Code: /*Example for a Routine*/ StartInNewThread(Path.Combine(Styx.Common.Utilities.AssemblyDirectory, "Routines"), "YourRoutineSVN","TheRoutineFolderName"); /*Example for a Plugin*/ StartInNewThread(Path.Combine(Styx.Common.Utilities.AssemblyDirectory, "Plugins"), "yourPluginSVN","ThePluginFolderName"); /*Example for a BotBase*/ StartInNewThread(Path.Combine(Styx.Common.Utilities.AssemblyDirectory, "Bots"), "yourBotSVN","TheBotFolderName"); /*Anything else, maybe not related to Honorbuddy? no Problem*/ //StartInNewThread("FolderSomeWhereOnYourComp", "yourSomethingSVN","TheSomeThingSubdirectory"); i know this isn't the best solution atm but since we talked via pm some weeks ago, u see i haven't had that much time to advance it for more flexibility^^ this is my first weekend where i maybe have some real time to do more *shit* and add the rest of the support
I was creating a simular plugin a while bag but stopped, have u thought about implementing a copy/paste feature. Like copying the Quest Behavior files into the right folders ; )
if the structure on the SVN is the correct one and u tell the plugin to checkout it to the QB folder, it will work, but will be tricky, since u can only have one repo in one folder so basicly it will work, but u shouldn't use it for QBs u shouldn't use it if u wanna overwrite the default ones if it is something like HB\QBs\YourQbs ... all is fine
nice plugin you could have held shift selected all that needed to update right clicked and did an update to do all of them at once tho
for every of your HB installations? in the current version (my local one, not the published one), i only need the plugin to get every HB installation up to date, without thinking about it ... if i already did it and you are wrong Routines -> select them + right click Plugins -> select them + right click BotBases -> select them + right click 3 times for each of the installations But that's not all ... the modified versions (or my suggestions from the first post) would be more advanced ... u'll need the Plugin + ONE xml file which u have to copy to each installation and *wuuuush* every hb gets updated on startup, without looking through the forum for the svn links and so on
[RantWarning] If you haven't heard there is going to be some kind of way for HB to update behaviors like the meshes do, if it wasn't scrapped or put on hold or something. I managed to figure out how to strip Cava's plugin (with permission) and make one that simply updated Kick's profiles, the plugin itself, and the behaviors. Brodie adapted it for himself as well and incorporated his daily profile switcher, but I feel like no matter what you do people find a way to mess things up. The only reason I'm reluctant with these is the fact that if it's going to help in this kind of way, I want it to be smart about it. Like if I go to the effort to make all of this work I want it to really work. Namely because I haven't delved too much into C#, but I can make plugins and behaviors albeit rather slowly . I haven't gotten to open this up and prod at it, but the one adapted from Cava's makes revision files but doesn't really intelligently scan for the integrity of the folder structure and simply relies on the revision file. On top of the fact it doesn't use a background thread so it lags the first time you turn it on, resulting in more whining. So after a new HB release you have to install the plugin from fresh again, change the 3 revision numbers to an older revision, or make a filler commit. The amount of work to make such redundancies is probably outlandish for me, probably others as well, but it's a dream that people wont have to do anything but install 1 plugin or svn. [/RantWarning] Interested in seeing how this progresses, such things are long past due with all of these new shiny things for HB but with no clean way of installing it all.
Would it be possible for u to share this modified updater for kickz ? I use a batch file atm, but it doesn't copy etc... Already use the cava/brodieman plugins
have you guys considered symlinking the folders from 1 place, to your multiple places? It's not like there are any problem in having the same copy used multiple times. Then you could have all your relevant SVN folders in 1 place, and symlink out from there.. (and save download time and space in the progress) Guide to do it on Windows: How to Use Symlinks in Windows
Several HB Installations kept up to date nice and easy. Hi Zeldrak i came across the same issues, my solution is using only one "main" HB installation, and parallel Installations for all sessions. So for me my disk looks like the attached pictures But only the main has the structure like routines botbases and so on. The other ones have only symbolic links to the main BotFolder tree. This can be realised in Windows with the command: mklink /d "Bots" "HB1/Bots" for Example, commited within the directory HB2, this for each subfolder, except Settings, CompiledAssemblies and Cache, they are created by buddy, if not there. The same in HB3, HB4, HB5 and so on. This would be a great opportunity to have it done by a batch routine like "for %a in (*.) do set storedir=%a, rmdir %a, mklink /d %storedir% hb1/%storedir%", or something like that. Since it has to be done only once, i do it manually. As you can see, there are the directories "Cache", "CompiledAssemblies" and "Settings" as real Directories within the parallel Installations. This is needed, in order to store the CharSettings and Generalsetting e.g. the Licence Key separately. But the others are to be kept up to date only within in the main tree, and then you have updated them once for all installations. Now you have only one thing to keep in mind, when it comes to updates: The symbolic links are pointers, pointing to the folders in your main installation. So if you have to update honorbuddy, you do it in the main directory, then you copy all the files (not the folders, as shown in HB_Pic4.jpg) to the other directories. This is the fastest way. If you forget it, and start hB2/honorbuddy.exe, beeing an old Version, so HB starts the update automatically. There is no problem at all, you can just go ahead, since the OS (Windows) has no clue of navigating through symblic links, and so just the files in HB1/Folderxy are overwritten. So you should be perfectly fine in this case too. It takes just much longer than the manually performed copy ... Works like a charm for me. Greets from Austria Arngu P.S.: @pytte seems to have the same thing in mind. SO according to me this is the most elegant solution to avoid the "clash of versions", which you are likely to encounter, just in case you miss something.