I'm developing some class libraries with a distributed team. We use Subversion for our source control. One of the developers wants to commit his bin and obj directories to the repository, that has never been standard practice for me. What's the best practice? What are the pros and cons?
My rule is that all generated files are excluded.
You surely shouldn't add any compiled files to the main branch. You can't compare them with the usual tools and they will slow down everything.
In version branches of releases, you could include them to have the original compiled files so there won't be a difference because the compiler changed or something like this. But you will most likely have all the binary releases stored somewhere else and Subversion is not really the right place.
I can see why you MIGHT want to commit the bins, for example if you have different versions of an app you need to maintain that require specific versions of the DLLs. But even in that case, you could always build new bins off a tag/branch.
As for committing the obj files, I can't think of any good reason to do that..
I would not add compiled libaries to source control unless you don't have the source code.
For example:
3rd Party Libraries/Controls for which I don't have the source = Go in Source Control under some kind of "Dependencies" folder.
Any libraries we write = Only the source is in the repository, never the binaries.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With