PVCS, a versioning system so weird and inconsistent that developers actively tried to hide source code from the repository managers. When we announced a migration to subversion, project managers were literally standing in line begging to be the guinea pig for testing the migration procedure.
Some of its many random crimes againt humanity:
* Delete irrecoverably obliterates a file from history.
* The function that you should use instead of delete is almost impossible to find.
* If you do use that function, it is so buggy it causes corruption in your database, effectively obliterating the whole project.
* Acces rights management is insane. Never seen anything like it. It took 20 minutes of calculating effects from interfering rules to give someone access to a file without removing some other random person's access rights.
* Gui looks like the win31 era, and is so bad people prefer to manually update the database. Which was more trustworthy anyway.
* Multiple tree structures representing data blobs. Only one represents files. It is possible for the later part of a checkout to accidentally overwrite the early part.
* I've witnessed a team spending 6 months merging 2 weeks of development. 100 hours doesnt come close to the time wasted.
* Storage is an oracle db for metadata, and a file system for data. No deltas, changing 1 byte in a 1gb file writes out the whole gb.
* Commits over multiple files are not atomic, but the gui tries to pretend otherwise.
Now the weird thing was, it was so bad, management did not actually believe a product could be this big of a waste. Even when multiple developers gave it as a reason for leaving the company, they were brandished as whiners and no attempt to even validate the truth of the statement was made. Software stockholm syndrome is actually a thing.
Some of its many random crimes againt humanity:
* Delete irrecoverably obliterates a file from history.
* The function that you should use instead of delete is almost impossible to find.
* If you do use that function, it is so buggy it causes corruption in your database, effectively obliterating the whole project.
* Acces rights management is insane. Never seen anything like it. It took 20 minutes of calculating effects from interfering rules to give someone access to a file without removing some other random person's access rights.
* Gui looks like the win31 era, and is so bad people prefer to manually update the database. Which was more trustworthy anyway.
* Multiple tree structures representing data blobs. Only one represents files. It is possible for the later part of a checkout to accidentally overwrite the early part.
* I've witnessed a team spending 6 months merging 2 weeks of development. 100 hours doesnt come close to the time wasted.
* Storage is an oracle db for metadata, and a file system for data. No deltas, changing 1 byte in a 1gb file writes out the whole gb.
* Commits over multiple files are not atomic, but the gui tries to pretend otherwise.
Now the weird thing was, it was so bad, management did not actually believe a product could be this big of a waste. Even when multiple developers gave it as a reason for leaving the company, they were brandished as whiners and no attempt to even validate the truth of the statement was made. Software stockholm syndrome is actually a thing.