[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: Storing VS binaries in Subversion

From: Shawn Talbert <stalbert_at_exploreconsulting.com>
Date: 2007-06-14 07:50:50 CEST

I generally thought like Toby on this topic; but with disk space so cheap
and SCM systems becoming better with binaries, I am turning to embrace
storing some binaries in the repo for reasons such as:

* for shared libraries, prebuilt binaries don't require other developers to
download the entire source and build it along with their own code that
merely uses the shared library (convenient,concise and no nested builds
needed).

* again for shared libaries in an object-oriented paradigm, allowing simple
checkout of the precompiled files keeps the source opaque, preserving
encapsulation of the implementation. Generally, users of the shared library
should not need the code behind the library lest they be tempted to pierce
encapsulation and make decisions based on implementation instead of the
abstractions. Devs that really do need the library source can of course
still get it.

* correctness. Having the release binaries (e.g. executables) in the repo
guarantees you have exactly the bits that were sent to the customer. This
can be useful for multiple reasons here's just one. If a couple years from
now you've upgraded compilers or something else in your build environment,
you may find yourself unable to reliably reproduce those original binaries.
Unless you have also stored every bit of your artifact generation tools
(i.e. your entire build environment, including specific compilers and so
forth!) I don't see how one can guarantee the same exact binary. In short,
the correctness of derived files cannot be obtained via the correct sources
alone, if the tools that generate the binaries are themselves not
controlled.

-----Original Message-----
From: Toby Thain [mailto:toby@smartgames.ca]
Sent: Wednesday, June 13, 2007 2:10 PM
To: Henrik Sundberg
Cc: users@subversion.tigris.org
Subject: Re: Storing VS binaries in Subversion

On 13-Jun-07, at 5:39 PM, Henrik Sundberg wrote:

> Hi,
>
> I've just heard that Microsofts C++ compiler generates different obj
> or exe files at each recompilation.
> The problem was said to be that they are storing pointers in maps and
> then generate code while iterating the map. And thus places all
> routines in random order at each recompilation.
>
> 1) Is this true? Both for obj and exe files?
>
> 2) Is this handled well by Subversion? Should I avoid placing binaries
> generated by Microsoft compilers in Subversion?
>
> I intended to place ~300 exe/dll files in one Subversion directory,
> and to recompile and commit them often (every day).
> There are also a couple of thousands of obj files that I might like to
> keep as well.

Personally I think it's bad practice to store any derived file
(especially objects) in a repository. Ymmv; I'd be interested to hear
an argument in favour of it, because I can't think of [m]any.

--Toby

>
> /$
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Jun 14 07:51:09 2007

This is an archived mail posted to the Subversion Users mailing list.