Basically, there is a management problem (your organization don't understand the basics of software development process, e.g. the V-model) condensing into the apparent inability of using minimal present-era workflow, methodology, and tools. This is common (read about Peter's principle).
BTW, I guess that recent SNCF railway incident in Paris at end of 2017 have a similar cause (total lack of software culture at high management level, hence blockage of a major Paris railway station for more than a day; of course there are very competent IT teams at SNCF, but they are not consulted on major decisions). I can name several European industries with total lack of software culture and I am sure to be able to find similar things even in the USA.
The main issue is: are you working alone on your code base, or do you work with colleagues?
If you are working alone, you can use git locally on your computer, and backup your code (and probably even your .git
repository) periodically (to that external storage space). Be sure to never lose more than a half-day of work (so back up your data periodically and reliably).
(I suppose that you know at least both git
and svn
and that you know the technical superiority of git
; if you are not even allowed to install some tool like git
on your work computer you need to have a serious conversation with your boss about that issue: you need the ability and authorization to install external open source tools (and that goes with your responsibility to choose, configure and install them wisely & carefully and without known vulnerabilities)
If you are working with several colleagues (I guess less than a dozen of them), you need to convince all of them to use a version control system, and you probably need to tell about that to your immediate (and common) boss. He could (probably) decide (or simply implicitly accept) that some machine (perhaps even some old desktop, perhaps even your own desktop) is used as a git server. You absolutely need to set up that server so that the git repository is backed up at least every hour; you cannot afford (and you need to talk to your boss about) losing more than an hour of work of your team.
BTW, I love Linux, and I would recommend installing Linux on the machine acting as a git
server; then installing git
and configuring periodical backups (with some crontab
job) is very easy; notice that a git
server could run Linux with Windows clients using it. I would even suggest you to switch your development machine to Linux if you can. It is "cheaper" and much more developer-friendly
But you need to use an SCM. You might ask your boss a different question: should your team use an existing SCM or should it reinvent the wheel and make your own SCM? Bosses are generally against the idea of reinventing the wheel. If you are permitted to reinvent the wheel, tell your boss that it a full time job for at least a year (that will probably make your boss cry, then accept the obvious way) and have fun making your own SCM. In that unlikely case, be sure to study the existing SCM systems, and ask to make your SCM system some free software tool (to be used and improved by other teams).
You may need to prepare (during several days) a precise and specific argumentation for the need of an SCM: first for your colleagues, then for your immediate boss. Be sure to also suggest concrete solutions (like running some git server on some desktop or some "old" server, and backing it up hourly thru a crontab
job)
Don't install any software (from outside, even open-source) on your work computer without permission (in most countries, especially for sensitive IT work for the State, installing a software without permission is legally a crime, and you might lose your job or go to jail if you do that .... so be sure to be authorized to do so; perhaps cover your ass by asking a permission in writing, or at least by email).
(either you'll need to ask on a case by case basis, or you need to get trust from your organization to be allowed to install any legal software -mostly open source or free software- on your work computer).
PS. How to technically build, configure, install then use git
(from its free software source code) -or most other free software VCS- on a machine (even without admin permission) is a very different question (to be asked elsewhere). And it is possible to install then use git
without any admin permission, provided you have enough resources (time, disk space, some C compiler, etc...) for that.
I tried installing Visual SVN server, but it failed because I don't have admin privileges to install.
This is solvable by some specific configuration and compilation of your git
or svn
from the free software source code of git
or SubVersion -not just a binary package- (and also the source code of dependencies); how to technically do that is a different question (but such technical questions should go at some other place). Of course you should ask permission (from your boss) to compile the source code of git
before doing it. He will tell you, or you will discuss with him, about the practical details (if he accepts such a solution) regarding transfering that source code from outside onto your work computer.