RimWorld

RimWorld

43 ratings
GitUpdater
   
Award
Favorite
Favorited
Unfavorite
Mod, 1.3, 1.4, 1.5, 1.6
File Size
Posted
Updated
365.517 MB
7 Apr, 2022 @ 4:03pm
23 Jul @ 9:16pm
18 Change Notes ( view )

Subscribe to download
GitUpdater

Description
Automatically updates mods with git repositories, both those in RimWorld's Mods folder as well as, if enabled, ones from the Steam Workshop.

It works right out of the box!
When it's in your active modlist, it already does all the work for you: when the game starts up, it updates any mods in (Game Install Location)/Mods. You can update Steam mods as well, but this part requires configuring.

How do I configure it?
Under Options > Mod Options > GitUpdater, you'll see the config menu. Each setting is defined below.
Setting
Behavior
Require manually updating repositories
If this is off, the game will update mods each time the game starts. If this is on, a new "Update" button will appear, and the game will only update when the button is pressed.
Use local mods only
If this is on, the mod will only detect other mods with git repositories in (Game Install Location)/Mods. If this is off, it will include Steam mods in the updater (not recommended, but some mods do come with git repositories and are more frequently updated outside of Steam).
Prune old/obsolete branches
Prunes any branches that are no longer being used/deleted at the remote repository.
File conflict strategy
Chooses what to do when there is a file conflict during a mod update. Diff3, while it is an option, is not implemented yet.
Mod repository list setting
Behavior
Mod button
Clicking on a mod will remove it from the list.
Add
Brings open a menu, and shows a series of mods that can be added to the list.
Blacklist/Whitelist
Blacklist prevents the mods in the list from being updated by GitUpdater. Whitelist makes sure only the mods in the list are updated by GitUpdater.

Known Issues
SSH is not supported
For some forsaken reason, LibGit2Sharp's official implementation of SSH is to open a command prompt for every remote call that uses SSH. I have tried to fix this manually and have only been met with FFI hell.

Q&A
Q: Is it compatible with CE/[Forbidden Mod Here]?
A: If it isn't, God help you.

Support me on Ko-Fi! https://ko-fi.com/james_aka_david

Created using LibGit2Sharp at https://github.com/Jamesthe1/libgit2sharp.
GitHub: https://github.com/Jamesthe1/GitUpdater
Popular Discussions View All (1)
3
26 Jun @ 4:15pm
how to use it
dan83m
58 Comments
Jamesthe1  [author] 9 Aug @ 6:01pm 
@ZzZombo Did my best to capture everything in try/catch blocks, I must have missed a spot.
ZzZombo 9 Aug @ 5:38am 
Please make sure that all calls to 3d party APIs are wrapped in `try`/`except`. You can never be sure they won't throw, making your mod fail to run properly. For example, my local mod under development triggers an exception in your dependency used for working with Git because it doesn't like how it is set up when the mod tries to find its upstream remote information.
Jamesthe1  [author] 28 Jul @ 7:07pm 
@multiplayer_rocks It affects the workshop folder version, I'd like to make a local backup option but mod ID's are a bit of a concern with that.
multiplayer_rocks 25 Jul @ 12:04am 
Thanks for this. With all the steam shenanigans of downloading old mod versions this is useful as a bunch of mods are getting updated often and they have a github.

Question
With regards to the steam portion of this, does it autocheck ALL your workshop files and then create a "local copy" or just replace the workshop folder version.
Jamesthe1  [author] 24 Jul @ 11:12pm 
If you're looking for this to happen to every mod though, there's too much variability for that to be possible and I cannot find a way for my mod to do that.
Jamesthe1  [author] 24 Jul @ 11:02pm 
If you need the raw C# files of GitUpdater, they're in the master branch; binaries are placed under the sourceless branch. Be sure to pull first as I recently updated the license.
moo 24 Jul @ 5:40pm 
Hi. Probbbbabbbbbly should exclude executables, not a safe idea.

I was interested in the raw source c# files to make those searchable
Jamesthe1  [author] 24 Jul @ 12:31pm 
Pretty much, yeah.

I might want to experiment with build scripts, just uncertain regarding user safety and how nicely that's going to play with RimWorld; I'm not exactly sure how mod assemblies are loaded.
So it's basically just like running git pull in the terminal?
moo 28 Jun @ 12:26am 
Hol up! Can I put a request in, probably a separate mod is best. Since you can link mods to github repos, can you force a download of the SOURCE folder. Intent is to feed searchable content into RimPy's file search, so we can better search and get a list of potential bad acting mods/functions?