In parallel to my source code's git repository I'd like to have a way to access the history of builds as well. Sure enough I could manually create files/directories à la 67b75589ba57b90e83f9b9a121f8c4b61d0ea897.exe
(or using a naming system relative to the most recent tag), but that's rather unpleasant. A nice thing to have instead would be a second git repository (yes, I know git is not optimal for binaries, but they are small and one could still have a shallow clone) with the same commit messages but containing only the binaries.
To make clear what I mean, say there's a source file source.c
, which compiles into application.exe
, and commit 67b75589ba57b90e83f9b9a121f8c4b61d0ea897 of the source repository modifies source.c
with a commit message "Fixed issue #5123". Then the parallel repository should as automatically as possible contain a new commit with the new application.exe
and a commit message "fixed issue #5123" (maybe additionally referring to the original commit id).
I'd probably implement this via a post-commit hook which runs the compilation (aborting with a warning on failure), extracts the most recent commit id and message and commits the binaries to a separate repository. But maybe you can suggest a better solution - it doesn't have to use git, but the potential support regression testing via git bisect
(with pre-compiled binaries for speed-up) would probably outweigh git's suboptimal binary support...