Hi everyone. So I've been working on a little program for the past few months, to ease effort in backing up mod projects, creating git repositories for those projects, and more, called...
Source Control GeneratorLinks•
Releases (Download Here)•
SourceMain Features:Easy Git Repository Creation • Git repositories for projects can be created with a minimal amount of clicks.Backup Projects in Bulk • Projects can be archived with one click and saved to a specific directory.Save Time Through Templates & Keywords
• Text files that need to exist for each project (readme, changelog, license, etc.) can be auto-generated through templates.
• Templates are customizable with keywords and are made to be completely extensible.
• New templates can be created, and new keywords defined.Project Customization via Modules • Modules allow SCG to support projects of specific types, such as Divinity: Original Sin 2 mods.Markdown Converter • SCG contains a built-in Markdown converter, for converting markdown to various formats, such as BBcode and HTML._______________________________________________
SCG comes with a Divinity: Original Sin 2 module, which allows it to detect DOS2 mods for backing up and creating git repositories (with junctions!).
DOS2 Features:Once the DOS2 data path is set, existing mod projects will show up in the "Available Projects" list.
Managed Projects ListManaged mod projects display a variety of useful information:
Each mod project entry contains a set of shortcuts for navigating to its various folders within the DOS2 data folder:
Projects with a Readme have a button that opens it up within the Markdown Converter:
Markdown (Reddit, Github, Discord formatting) can be converted and saved to Steam Workshop BBCode, Nexus Mods BBCode, and Larian Forums UBBCode, all at once:
Git Generator Creating git repositories for your mods, for proper source control and backup/versioning, is made simple through SCG.
JunctionsWhen creating git repositories for mod projects, junctions are created for the various mod folders within the Data folder. The following folders are junctioned by default:
• Editor/Mods/ModName_UUID
• Mods/ModName_UUID
• Projects/ModName
• Public/ModName_UUID
Junctions allow the mod to be source controlled by git, without physically moving the folders out of the data folder.
Templates & KeywordsTemplates allow you to save some time when creating git repositories. They allow you to create basic files with keywords that are used when generating the git repository. For example, here's a basic readme file:
Two keywords that stand out here are "$ProjectName for $ModuleName". If we look at the keywords screen:
$ProjectName is replaced by the mod's display name, and $ModuleName is replaced by "Divinity: Original Sin 2".
Keywords come with system keywords, such as mod data, data keywords, which use the current date when replaced, and user keywords, which can be customized by the user.
_______________________________
So that's the basic gist of SCG. Hopefully this little tool will aid in backing up your mod projects, and save you time in adding source control to your mods.
Since this is the first public release of SCG, I'm sure I haven't ironed out all the bugs yet, so feel free to report bugs and/or feature requests here:
SCG Issue TrackerAnd give this a glance for bug report formatting and whatnot:
Contributing GuideThanks for reading!