Revision control is a very important thing. All to often we forget about keeping track of our electronic files and which one is the most current. If not the most recent one, the one that should be running in the system. I believe that we have all seen filenames like this:
- Final Version – Tim’s Great Website
- Really the Final Version – Tim’s Great Website
- Tim’s Great Website – The Final Version
- It is the Final Countdown to Tim’s Great Website
- Final Final Version – Tim’s Great Website
- FINAL FINAL VERSION REV A – Tim’s Great Website
- Use this File – Tim’s Great Website
- This file is Tim’s Great Website Really Promise It is Done
You likely chuckled at some of those file names. We have all probably done something like this. Especially when there are multiple people working on a project, which version is the most current? If the files are being emailed does the time date stamp stay the same, especially crossing time zones. There is the issue of people working concurrently on the same file.
Many of us have heard about Huddle Spaces, I suggest using Huddle Storage. There are actually solutions for managing file versions and allowing everyone access. The system used by most software engineers is a version control or revision control system. Some people also call the central location where everything is kept a Repository or Depot. They are checking things in and out of the Depot. Basically when someone checks out the file, they are the only one who can edit it; when it is checked back in everyone is able to edit the file again. Some software will also automatically determine differences between revisions.
There are software packages designed specifically for this task ranging from Subversion to Perforce to Github to open source software Git. These might be overkill for some uses. Leading a project that required multiple people having access to the current revision of a file, I experienced the benefits of version control. (I also learned new colorful metaphors as adjectives for Perforce.) The consistent name of the file meant no one had to worry about opening the wrong file.
There are also some other solutions for file control that might not be as apparent. Dropbox does a reasonable job of keeping previous versions for 30 days. It also does an acceptable job of informing users if there are file conflicts. Microsoft SharePoint allows one to check in and check out files as well as updating the version numbers and rolling back files.
The above solutions require a connection to a network. Many job sites don’t have connectivity. That does not mean files can’t be managed effectively. There is a simple nomenclature system that can provide a solution. When creating a new file include a time/date suffix. The format of the time date is key to making the system function. The time/date stamp is year followed by month then day then 24 hour time. One needs to include all the leading zeros. For instance I am writing this sentence at 170803 2205. The exact text format and spacing is up to the individual, consistent formatting is required.
Using this format allows for sorting the file name providing the ability to know the chronological order. Each time I decide to make a revision, I save with a new suffix. If I need to roll back it is easy to know the sequence. This approach addresses the issue of file time stamps changing when transferring or emailing files. It is possible to branch into different approaches simply by using multiple directories or using a branch ID.
Well it is 17–08-03_22-12, I think I like this revision and will post it.
Actually I had to make some edits after proofreading, you are reading version 17 08 03 22 25.
Well actually 1708032251
Now if you will excuse me, I have to check content versions…
Note: Bradford is employed by Harman and wants to indicate that clearly. Harman is also an underwriter of AVNation. He does recuse himself from discussions to avoid any conflict or confusion when appropriate. He will represent Harman on occasion such as interviews at trade shows. This column is his own opinion and does not intend or attempt to speak on behalf of Harman.