Difference between revisions of "Version Control"

2,641 bytes added ,  12:02, 27 August 2019
Added details, formatting, links, grammer, and examples.
imported>HaploTR
imported>Qazaaq
(Added details, formatting, links, grammer, and examples.)
Line 1: Line 1:
[[Category:Tutorials]]
The [[Version Control]] system allows multiple developers to work simultaneously on a single [[Data File]].
<br />
The [[Creation Kit]] does this by merging the contents of a multiple child plugins into a single master plugin.
Information contained herein was taken from the Skyrim page, and amended after testing in the Fallout 4 Creation Kit. Though instructions are similar, this page shall document the process specifically for Fallout 4, in the context of mod collaboration from multiple contributors. This page will not document how to use external revision control software such as Perforce, or Git.
Using the version control system is essential to working on team projects.
<br />
This page will document the process of mod collaboration with multiple contributors.
<br />
This document will not cover how to use external revision control software such as ''Perforce'', or ''Git''.
== Setup your Creation Kit installation to enable version control ==
This document assumes basic usage knowledge of the Creation Kit.
<br />
 
* Navigate to your Fallout 4 directory
 
* Create the following new folders:
= Setup =
** Fallout 4\Merging\Data
To begin, configure the [[Creation Kit]] to enable version control.
** Fallout 4\Merging\VersionBackup
This will involve creating directories, network sharing folders, editing [[Initialization File]]s, and creating a master [[Data File]].
** Fallout 4\Data\CheckInBackup
 
 
=== Create Directories ===
Navigate to the Fallout 4 installation directory and create the following new folders.
* <code>...\steamapps\common\Fallout 4\Merging\Data</code>
* <code>...\steamapps\common\Fallout 4\Merging\VersionBackup</code>
* <code>...\steamapps\common\Fallout 4\Data\CheckInBackup</code>
 
 
=== Enable Windows Sharing ===
Enable ''Windows File Sharing'' on the following two folders.
* <code>...\steamapps\common\Fallout 4\Merging</code>
* <code>...\steamapps\common\Fallout 4\Data\CheckInBackup</code>


* Enable Windows Sharing for the newly created folders
Configure sharing for <code>CheckInBackup</code>, and then repeat these steps for the <code>Merging</code> folder.
** Right click on the CheckInBackup folder -> select "Properties" -> select the "Sharing" tab -> click "Advanced Sharing..."
There is no need to share any of the <code>Merging</code> sub-folders.
** Click "Share this folder", and then "OK"
* Right click on the '''CheckInBackup''' folder and select '''Properties'''.
** Back on the Properties windows, click "Share..."
* Select the '''Sharing''' tab -> click '''Advanced Sharing...'''.
* Click '''Share this folder''', and then '''OK'''.
* Back on the ''Properties'' windows, click the '''Share...''' button.
*: [[File:SharePropertiesTab.png]]
*: [[File:SharePropertiesTab.png]]
** You won't actually be sharing your computer with anyone else, so you don't have to add any additional users - just click "Share" -> "Done"
* You won't actually be sharing your computer with anyone else, so you don't have to add any additional users - just click '''Share''' -> '''Done'''.
** Make note of the "Network Path" displayed, you'll need this for the next step
* Make note of the '''Network Path''' displayed, you'll need this for the next step.
** Repeat the above for the Merging folder (you don't need to do this individually for the two sub-folders within)
 
 
=== Create Master File ===
The Creation Kit version control system will need a master [[Data File]] to merge child plugins into.
There are various ways to create new master files with community made software.
Some of these include [[XEdit]], [[Wrye Bash]], or any hexidecial editor.
There are even more software projects that can be found with an internet search.
 
Create a new master plugin.
 
 
=== User Information ===
Use the windows command line to get your ''User Name'' and ''Computer Name''.
You can optionally execute the batch file below to get configuration information.
 
====== VersionControl.bat ======
<source lang="winbatch">
@ECHO OFF
ECHO Use these values to configure the Creation Kit version control system.
ECHO.
ECHO Computer Name: %COMPUTERNAME%
ECHO User Name: %USERNAME%
ECHO.
PAUSE
</Source>


====== Example Output ======
<source lang="text">
Use these values to configure the Creation Kit version control system.


* Next, navigate back to your Fallout 4 directory
Computer Name: KS07
* Open the file "CreationKit.ini"
User Name: Scrivener07
* Modify the following line to say:
 
Press any key to continue . . .
</Source>
 
 
=== Initialization Files ===
* Navigate to the <code>...\steamapps\common\Fallout 4</code>, the Fallout 4 directory.
* Open\Create the <code>CreationKitCustom.ini</code> [[Initialization File]].
* Populate the <code>CreationKitCustom.ini</code> with the following:
<source lang="ini">bUseVersionControl=1</source>
<source lang="ini">bUseVersionControl=1</source>


Line 53: Line 102:




 
= Understanding Data Files =
 
== Understanding .esp and .esm files ==
<br />
<br />
.esp files are "Bethesda Plugin Data Files"
.esp files are "Bethesda Plugin Data Files"
Line 171: Line 218:
<br/>
<br/>
<br/>
<br/>
== Merge process and workflow of the individual team member ==
== Merge process and workflow of the individual team member ==
<br/>
<br/>
Line 208: Line 256:
<br/>
<br/>
<br/>
<br/>
== Notes ==
* Information contained herein was taken from the Skyrim page, and amended after testing in the Fallout 4 [[Creation Kit]].
== See Also ==
* [[Creation Kit]]
* [[Data Window]]
* [[Version Control Window]]
* [[Data File]]
* [https://support.microsoft.com/en-us/help/4092694 File sharing over a network in Windows 10].
* [Skyrim - Version Control](https://www.creationkit.com/index.php?title=Version_control)
* [Skyrim - Mod Merging](https://www.creationkit.com/index.php?title=Mod_Merging)
* [Wheeze's Creation Kit Tutorials - Skyrim Version Control](https://www.youtube.com/watch?v=6eInvAyMXoI)
* [https://www.perforce.com/ Perforce - Source Control Manager]
* [https://git-scm.com/ `git` - Source Control Manager]
[[Category:Editor Reference]]
[[Category:Tutorials]]
Anonymous user