Version Control Intro
What is version control ?
Version control, as defined by Git, is a system that records changes to a file or set of files over time. This allows you to revisit and restore earlier versions if needed.
Now, you might wonder, doesn't AYON do something similar? We'll dive deeper into this in the following section.
Nature of Version Control
Version control, conceptually, is similar to hero versioning where you have a master version that points to one preferred version among other saved versions.
AYON at its core adopts the traditional up-versioning strategy, which stands apart from using a Version Control System. But what sets them apart? Let's compare the two to highlight key differences:
- Up-Versioning
- Version-Control
- Uses a folder-based structure.
- Updates are made by creating a new folder labeled with the next version number and saving the updated files there.
- To access a specific version, you simply navigate to the folder labeled with that version number.
- Allows simultaneous access to multiple versions, like loading v005, v008, and v009 simultaneously.
- Reviewing the history requires going through the folder structure.
- Uses a repository, Think of a repository as a database that keeps track of all version histories.
- Updates are made by committing changes, which are essentially snapshots of your files at a specific point in time.
- Accessing a specific version involves using commands to revert your files to that particular snapshot.
- Although it requires extra effort, it's possible to access multiple versions at once, like loading v005, v008, and v009 simultaneously.
- Reviewing the history requires using a dedicated tool designed for tracking and visualizing version histories.
From a pipeline perspective, users can remain focused on their tasks without worrying about the inner workings of various systems in the backend, as these are fully managed by the pipeline.
Additionally, it is up to the pipeline admin to choose the most suitable version control system.
Version Control & Creative Industries
Version control is widely recognized in the gaming industry and virtual production, more so than in other creative sectors such as VFX, animation and advertising. This is reflected in the extensive discussions on forums and official sites for Unreal Engine or Unity.
For instance, Epic Games offers an insightful article Versioning and Source Control, which delves into:
- Comprehensive tutorials on version control basics.
- Workflow practices for version control in virtual production.
- Building an Asset Library in Perforce, catering to various projects, sequences, seasons, episodes, and more.