What a version Control System:
A Version Control System (VCS) is a file repository used to store and reconstruct previous versions of a file. Features of a VCS can include:
The basics of version control are the ability to save changes made to files whilst retaining the changes from all previous version:
– Track changes
– Point in time snapshot.
– Review history
– Review changes by contributor
– Compare changes.
– Merge changes
A VCS enables experimentation and collaboration whilst removing risk.
There are two leading models of VCS Centralised Version Control (run on a central server that would have to be checked out), and Distributed Version Control (history is local to a user’s computer with action to push changes to a central repository).
My Experience of Version Control:
In my experience Version Control is critical for ensuring that you do not lose or overwrite work. In my opinion, it becomes even more crucial when working collaboratively as you need to ensure that you are working on the most recent version.
To gain a deeper understanding of Version Control Systems I read a paper called “If Your Version Control System could talk”. (Thomas Ball, Jung-Min Kim Adam A. Porter, Harvey P. Siy, 1997)
I do not currently have any experience in coding this article was focused on coding however, the practices could be applied to code free development.
Thomas Ball et al noted that VCS is not just a version history it provides contextual information. The additional information could include but not limited to, file changed, time of change, login ID. It is possible in some version of VCS to track a group of related changes in a Modification Record (MR). MR can also have an abstract and other descriptive information attached to it. The software can be used to assess the state of code and identify where there is complexity so that components can be restructured to improve efficiency and maintenance. The study found that contextual data could be “exploited in the study of system evolution”. ( Kim, J., Siy, H. and Porter, A., 1997)
In summary, their findings show that with additional analysis VCS can provide more than its primary function and could be utilised to improve software development. (Kim, J., Siy, H. and Porter, A., 1997)
Utilising a Version Control System for my practice
I looked at using GITHUB as recommended by the course, but I thought this may just be adding additional effort without adding value. I decide to create my Version Control System in Figma, it has an embedded version history feature. The feature works by adding checkpoint to the file’s version history every 30 minutes post activity. It is possible to add names and descriptions to the auto-saved versions to add context.
To elevate the Version History to a Version Control Systems I intend to group saved files and add naming conventions and descriptions. I will use this to create a master file and duplicate branches for experimentation. As Figma is cloud based it has the storage to save all ,y working files.
Kim, J., Siy, H. and Porter, A., 1997. If Your Version Control System Could Talk. [online] https://scholar.google.com/. Available at: <https://www.researchgate.net/profile/Adam-Porter-2/publication/2791666_If_Your_Version_Control_System_Could_Talk/links/00463517a9234b2508000000/If-Your-Version-Control-System-Could-Talk.pdf> [Accessed 10 March 2021].
View a file’s version history. [online] Available at: <https://help.figma.com/hc/en-us/articles/360038006754-View-a-file-s-version-history> [Accessed 10 March 2021].
eQuorum Corporation. 2021. Version Control: Why is it important? | eQuorum Corporation. [online] Available at: <https://www.equorum.com/version-control-why-is-it-important/> [Accessed 10 March 2021].
Rojčyk, D., 2019. Versioning design system with Figma, take two. [online] Medium. Available at: <https://design.kiwi.com/versioning-design-system-with-figma-take-two-124295a91268> [Accessed 10 March 2021].
Jordan, K., 2020. [image] Available at: <https://www.youtube.com/watch?v=h2xylPqXO8M> [Accessed 10 March 2021].
2017. What is GIT. Available at: <https://www.youtube.com/watch?v=xAAmje1H9YM> [Accessed 10 March 2021].