We need to archive the project output (in our case, one executable file of about 1 MB in size).
NOTE. . The practical result of this is that for any release of the released assembly I need to archive an unchangeable copy of it for an indefinite period. (for example, if we build from r993, r1014, r1205 and r1293 our source tree, I need to save one output for each of them.)
Naturally, we use Subversion for this, because we have a server running. What is unnatural, where you can put the output of the assembly.
Checking the area of the source tree -> not very good, because it complicates updates / merges, etc.
Create a special area in the repository associated with the source tree , for example:
project-foo/
branches/
tags/
trunk/
build/ <-- released executables go here
(along with metadata containing source references)
We really do not need branches or tags for the executable; I just need a place where an immutable snapshot that I can reference (in the case of SVN, along the path and rev #)
Create a special area in the repository loosely connected to the source tree , for example:
project-foo/
branches/
tags/
trunk/
project-foo-build/ <-- released executables go into a subdir:
branches/
tags/
trunk/
Use a different program than SVN. ??? Whatever it is, he must support ideas
- immutable data
- data related metadata
- several versions of the same type (for example, the assembly executable for the foo project)
Any suggestions?
I am inclined to the idea of number 2, but I wanted to step back and better understand the various advantages / disadvantages.
* , , . , . , , , . , , . .