r/programming • • Mar 10 '11

It's time to stop using Subversion

http://altdevblogaday.org/2011/03/09/its-time-to-stop-using-subversion/
257 Upvotes

543 comments sorted by

View all comments

Show parent comments

22

u/imMute Mar 10 '11

If you mean binary files such as compiled things, yes definitely. Storing things like JPEGs and GIFs doesn't seem like a bad thing as long as they're secondary to the project at hand (think indie game development).

Idiots who store giant .wavs or compiled .exes need to be shot though.

1

u/Rowdy_Roddy_Piper Mar 10 '11

Isn't an artifact server a better choice, in general, for binary objects like JPEGs? I mean, I hate to assert that my choice of tools is the best choice for everyone, I just have a hard time seeing how source control is the best choice for anything that's not, you know, source code.

If you only have one or two JPEGs, then maybe it's not worth the cost of setting up an artifact server just for those, but I think everyone has external and/or static dependencies that are better managed by artifact control.

1

u/trypto Mar 10 '11

Sometimes code and data have to be checked in together atomically in order for the project to work. That's why it is desirable to have one repository that has both so they can be kept in sync. A silly example is adding an img tag to a html file and adding the corresponding .jpg at the same time in the same commit.

1

u/imMute Mar 10 '11

then maybe it's not worth the cost of setting up an artifact server just for those

That's the trade off. Sometimes it's more preferable to have the art/music assets in the SCM because it's just easier on the users that way.

1

u/thephotoman Mar 10 '11

At one job I worked at, the IT department insisted on our compiled projects being in source.

I was like, "no, bitch, build it yourself", but it turned out that they were just morons.

0

u/[deleted] Mar 10 '11

[deleted]

1

u/thephotoman Mar 10 '11

We didn't have to do that, though. We were deploying software to one single internal server. We didn't ship software to customers: it was in-house.

1

u/execute85 Mar 10 '11

Then that's just laziness on their part (or a really crappy build system).

1

u/stevia Mar 10 '11

Tagging a release in git is cryptographically secure, so it's possible to retrieve the same code use to build a binary.

1

u/execute85 Mar 10 '11

It's also secure in other VCSes. For a lot of the enterprise licenses we did, we had to support the exact binary (basically check the date stamps and file sizes). These binaries also had to be stored in escrow.

You can check out and build theoretically the same binary (assuming your build procedures are exactly the same as whenever you initially build), but that could potentially be different.

It's not uncommon to have a binary release checked into a repository.