Today’s Customer Showcase post is going to be longer than usual, as it presents a product that may be of genuine interest to many developers, including at least some of Excelsior JET users.
Disclaimer: This is not an endorsement, we at Excelsior are not using the below product nor have we evaluated it. Should it seem to you that it might solve any of the problems you are facing, do your due diligence.
Doros Agathangelou of Triadiktyo Ltd., writes in:
Subversion is a highly popular, open-source source control system used by millions of developers around the world. Subversion (or svn) will record and remember every change in every file you have ever added to your svn repository. But what if you would like to permanently delete (or obliterate) a file that was accidentally added to your repository? What if you wanted to delete old bulky files that are taking so much space in your repository?s history, making your backup process cumbersome? What if you actually had to split your repository in two parts because an organizational change required that? And what if you had to extract a project from your repository into its own repository?
Until now, the only way to solve the above problems was to use the
svndumpfiltertool that ships with svn. But using
svndumpfilteron anything but the simplest of repositories can easily become a major source of frustration as the administrator wastes days filtering their repository over and over again because a new
svndumpfiltererror is thrown in each run.
Subdivision is a tool designed to solve the above problems.
It can permanently delete (or obliterate) files from an svn repository:
It can extract files from a repository into a new repository:
And it can also split a repository in two parts while guaranteeing that all files have made it into one of the two output repositories:
And all of this is done via an easy to use graphical interface.
Subdivision analyzes the file structure of the repository and creates an in-memory model of the relationships between the files. Sophisticated algorithms are then run on the user selections to calculate the required derived selections and append them to the selection. These derived selections eliminate all potential processing errors and the operation completes in one pass. Also, since Subdivision only processes the required revisions, the time savings are so substantial that the vast majority of our customers pay off their investment in Subdivision in the first week of use.
Subdivision is extremely safe as it never modifies your input repository, always creating a new repository as the output. In addition, Subdivision has a WYSIWYG (What You See Is What You Get) interface. This means that the files marked as present on the Subdivision interface will be exactly the files you will get in the output repository.
Our native builds are done using Excelsior JET in order to protect our IP. We would like to thank Excelsior for their generous discount program that they make available to start-up companies such as ours.