My question is similar, but here are the main differences in my scenario:
We are starting a new project from scratch, using PHP and web tech. There would be no down time in development as we would be adopting it from the beginning, if I have my way.
My dev team consists of me, and my boss. We are the "IT" Department of a relatively small firm. There is another IT worker who does desktop support but no development.
My job title is Programmer; my boss's is IT Manager. The upper echelon of management likes my boss. They like me too, but probably not enough to give me the authority to override him.
The web app will replace a legacy FoxPro application with absolutely no source control. In fact, due to legal requirements, the decision was made (before I was hired) to fork the app into 7 completely separate programs - not just the files that calculate things which can vary by state - but I mean the entire directory was copied, 7 times, and different states were given to different developers. Things diverged from there. My boss's idea of version control is to copy and paste entire source files from the state he's working in, into all the other states, thus overwriting those files. Small tweaks are recorded in text files manually, and must be copied and pasted by the developer for the target state. This doesn't always work so nicely. I get blamed for changing things and causing it to break when these files are pasted over.
My boss's proposal, directly pasted from an email:
Updates should be submitted as packages in the SUBMISSIONS folder. The package should contain all relevant files as well as an ‘UPDATE.NFO’ file that contains a description of the update, a list of all new files included (with descriptions), and a list of all modified files with modification details.
Update packages should focus on an individual element and not stray from its intended purpose. Code should be designed to be modular and reusable whenever possible.
All submitted packages should be installed in each developer’s test environment soon after submission. Each developer is to review the new addition and voice any concerns over its installation to the production environment. A standard package update should be held for a minimum of 3 business days for this review process before being loaded into the production environment. High priority updates/fixes can skip this requirement.
The reason source control was invented is to make all that automatic, right? I suggested subversion, because that's what I used in college. Boss doesn't like subversion because "It makes a mess of the code" and people on the internet told him it was bad. (Where is he looking???) I don't know whether he dislikes only subversion, or all source control products (he hasn't replied to that question yet). I am not asking for a compare/contrast of different systems like svn vs git, I can do that myself. I am looking for a third party who can present a logical argument for the use of SOME form of version control.
Please, fellow coders, help me. If something you can say, addressed to my boss, would have an affect on my plight, I beg you to come forth. My boss can be reasoned with if a logical argument is presented. I am putting forth my own effort on the side to convince him, through research and demonstration, but if people from the development community are overwhelmingly on my side, I think he might reconsider. To be fair, I must also ask those opposed to version control to speak up. RSVP.
Or am I wrong altogether? Is source control really necessary in my situation? This is our main business-critical software we're talking about, so it will end up huge no doubt. But there's only 2 developers (now).
MY ACTUAL QUESTION: If I can't convince him, would there be any point to me using it only for myself? I am speaking as someone with very limited experience actually using svn; all I really know is checkout and commit. What are the features of source control (may include other products than svn) that would aid in my individual development effort?
And please no "Get another job" comments. I know, people, believe me I know. Before it even comes up, you may assume that I am insane. Maybe I'm just a sucker for challenge or a plain old masochist. But just consider it not an option.