Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Committing binaries to SVN

Tags:

svn

tags

I've searched around a bit, but haven't found a satisfactory answer, so I'd like to hear your opinions on this.

I have a couple of tools which I have to update and deploy to a few servers every now and then. The source is managed in a SVN repository.

To save myself the bother of copying the binaries to the production servers by ftp or similar means (I have no means of building the projects on the servers), I'm thinking of creating an area in the repository to commit them as well. I could then simply retrieve the most current version of the executables from the svn server whenever I need them.

Since I don't necessarily want to update/commit the binaries every time I work on the source, I would not create the folder for the binaries as a subfolder of my project. Committing the binaries would then (and should) be a separate, conscious act.

--- trunk
    --- project1
    --- project2
--- built
    --- project1
    --- project2

As far as I can see, there should be no problems with this setup. What I'd really like is to then give both the source revision and the binaries a single tag, so as to be able to retrieve everything that belongs together at once.

--- tags/project1/release2/ 
         includes files from 
--- trunk/project1/ revision 487 and
--- built/project1/ revision 488 

Is what I'm after possible, and how would I achieve it? Should I instead be looking at some other way of solving this problem?

like image 719
Tom Juergens Avatar asked Oct 12 '08 19:10

Tom Juergens


People also ask

How does SVN store binary files?

If Subversion determines that the file is binary, the file receives an svn:mime-type property set to application/octet-stream. You can always override this by using the auto-props feature or by setting the property manually with svn propset . Subversion treats the following files as text: Files with no svn:mime-type.

How do I move a directory to a SVN repository?

Moving files and folders select the files or directories you want to move. right drag them to the new location inside the working copy. release the right mouse button. in the popup menu select Context Menu → SVN Move versioned files here.

How do I edit a SVN repository?

Click on the new working copy and right click to select the repository browser (TortoiseSVN -> Repo-browser) Right click the file of choice in the repository browser and select "Update item to revision"


1 Answers

There's nothing weird about your setup (I'm doing similar things with both build tools and build artifacts when I need to preserve the exact bits.) The layout you want is definitely possible - to "include" specific versions of other branches or tags in your tags/project1/release2, all you need to do is set svn:externals properties on tags/project1/release2 referencing the URL of the sources and revisions you want to pull in, and you're set.

like image 149
Mihai Limbășan Avatar answered Oct 22 '22 05:10

Mihai Limbășan