GIT & Document Management Systems
What is GIT?
Git is a free distributed version control framework for software projects that was first published in 2005 in its first version. The software enables multiple developers to collaborate on a project at the same time, regardless of their geographical location.
Version control allows you to make changes to the project from anywhere, record and monitor those changes, and go back to previous versions of the project at any time. Git is platform agnostic, which means it can be used in almost any situation.
Moreover, it is a distributed version control system, unlike other systems that depend on a centrally stored database. This ensures that each project team member has their own copy of the project database, referred to as the repository. Working with Git without a central database is theoretically possible.
GIT IS an example of a distributed version control system (DVCS) because of its architecture (Distributed Version Control System). Instead of storing the entire version history of the program in a single location, as was the case with previous popular version control systems like CVS or Subversion (also known as SVN), Git stores the entire history of all changes in each developer's working copy.
What are some advantages & disadvantages when using a GIT based document management system?
When comparing, several points can be used to help them decide. This does not represent a complete list, but contains some important aspects:
- Binary files
- Access rights
- Disk space requirements
Large binaries are difficult to store in Git since each developer downloads the repository's entire change history to their computer. This means that every time a change is uploaded to a file, repositories expand by the entire file size.
Only the branch currently being edited is downloaded to the individual client machines in SVN, i.e. only the most recent updates to the project are downloaded. Big binaries, on the other hand, do not inflate the repository on individual workstations as easily as Git does.
The definition of branches is a important topic in the debate. In general, branching in Git for document control is thought to be easier and more straightforward than in SVN. Since a Git branch is really just a reference to a commit in a local repository, this is the case. This means you can quickly build new branches and publish them as needed.
With SVN, a repository's modification history is often the same, with the exception of a few very rare exceptions. Anyone who wants to edit a repository's history in SVN needs to be able to connect to the central server. However, since Git is essentially distributed, anybody can alter any part of the repository's history in the local copy. Uploading a repository's updated history will cause issues if other people's work is focused on the same changes.
GIT or SVN in an open source document management system?
bitfarm-Archiv has been using Slik Subversion for more than 15 years. The program is not a standalone graphical user interface, but rather a so called shell extension. This means that the options of the software are integrated into the explorer menus and can only be accessed from there. However, our software offers several options for versioning documents.
► Contact our team for a free live presentation
A check-out prevents other users from making changes to the original document. This is to prevent copies in case several people want to work on the document at the same time. After the document has been checked back in, the changes to the new version are noted and other users can continue working on the document again. Do you have any questions regarding SVN? Feel free to contact our team.