3

When I finished our release process, I got a lot of outputs like exe, dll, and setup files. Should I store them in subversion?

Actually for the next release process, I need this outputs. Because I need to make a setup file with previous outputs. Some of output(exe, dll etc) should be included if the file isn't changed through the build process

So I've stored all of the previous outputs in build machine, instead of svn. Is it better to move the outputs to svn?

Devgrapher
  • 87
  • 6
  • possible duplicate of [Is it acceptable/good to store binaries in SVN?](http://stackoverflow.com/questions/531442/is-it-acceptable-good-to-store-binaries-in-svn) – Wim Coenen Jan 26 '11 at 11:14
  • @Wim It's not necessarily the same thing. – Maxpm Jan 26 '11 at 17:16

3 Answers3

4

No, you should keep them in your build machine. svn will do nothing for your executables and libraries. That's what build servers are for. It's not as if svn could produce a diff for your executables that made any sense.

If you need access to them from the internet or from a number of machines, you can use FTP or something similar.

Rafe Kettler
  • 75,757
  • 21
  • 156
  • 151
1

If you could ever need to quickly dig up exe files from past releases, this may make sense. But I'd just store them on a disk, not in a VCS — there are no reasonable changes to track.

If you can't easily check out a release tag and build any past release, probably your build infrastructure needs an upgrade.

9000
  • 39,899
  • 9
  • 66
  • 104
  • Why would you ever need to dig up the executable files from past releases? The whole point of version control is that you can *recompile* them from any previous version of the code trunk that you want. If that's not the case, you're doing it wrong. – Cody Gray - on strike Jan 26 '11 at 11:24
  • @cody-gary: An executable from a previous release may be needed when a customer sends you a crash dump. But I completely agree that you must be able to build any release executable any time from sources. – 9000 Jan 26 '11 at 13:44
0

Our sources are kept in Subversion, the recent and some 'golden' builds are kept in the build system, but most deliverables are pushed to our ivy repository for developer, integration and release builds. As @Rafe mentioned, you gain very little benefit from putting deliverables under version control. Some groups like to have third party deliverables under version control, but again that depends on how it is managed and the need for tight controls, and the availability of an artifact repository system (like maven or ivy).

Arcege
  • 438
  • 2
  • 7