Today we are announcing the first-ever availability of Perforce depots (repositories) on-demand with integrated ticketing and collaboration tools. Existing Assembla users can add a Perforce depot to any new or existing projects. If you do not have any Assembla account, get started today for free.
We like git for its developer-friendly workflows, and Subversion for its simplicity and multi-subtree scalability. However, Perforce brings some special capabilities:
- Perforce is the repository of choice for game developers who use big asset files and terabyte-sized repositories.
- Perforce has mature, commercially supported clients. They include visualizations like “heatmap,” which shows which lines are recently modified and a stream browser that shows the flow of code between streams.
- Perforce merges on the server, which turns out to be useful. Git merges on the client. Git is a distributed VCS, where you have all of the information and software required to do a merge right on your workstation. If you want to send code to a different stage of development someone with a different repository usually has to run a manual merge. Subversion is somewhere in between. It merges on the client, using information it requests from the server. This splitting of information places some limitations on the merges that it can do successfully and also requires manual intervention. Perforce is a truly centralized VCS that merges on the server. So you can set up streams and tell the server to merge changes automatically to specific teams, builds, and releases. The stream actions are important if you do a lot of continuous integration at enterprise-scale. You can accelerate development by feeding changes automatically to the various build and deploy points. That’s one reason why big software companies like VMware rely on Perforce.
WHAT DO YOU GET?
The Assembla implementation includes all of our normal repository features, including a Web code browser, activity stream, and email alerts. You also get professional server management and backup. You get integrated permissions, which means that every space gets its own p4d server with users that match the space's team and can login with an Assembla username and password.
We added code review with merge requests that are very similar to our git merge requests. A developer can make changes on a “development" stream, and then create a merge request to send them to the “mainline” stream. A mainline owner can use the online review board to make comments and merge the changes.
So, you get four sources of acceleration from Perforce on-demand, hosted by Assembla. First, you can quickly create depots and invite users. Second, you can work together in an Assembla workspace with a highly visible activity stream and tasks. Third, you can use Perforce streams to run continuous integration with merge, build, test, and deploy. Fourth, you can review code from a lot of contributors and make sure that it works correctly, and your mainline stream is always ready to deploy, and you can release multiple times every day.
HOW TO USE IT
1) Get a client from the Perforce site. Add a Perforce depot to any new or existing Assembla project. If you do not have an Assembla account, get started today for free.
2) Follow the instructions on the Assembla Source/P4 tool to set P4PORT and P4HOST. When using non-cloud Perforce you only set P4PORT to point to a server. In our cloud implementation we send P4PORT to a proxy server, and use P4HOST to connect you to the correct depot in our redundant and scalable cloud of servers.
3) You get a mainline stream and you can commit to it directly. Or, you can create development streams where your contributors can work and submit merge requests.
We did a Perforce/Assembla press release. Assembla received the opportunity to become the FIRST provider of on-demand Perforce repositories after I sent a note to Perforce last year suggesting that we try it. Special thanks go to Randy DeFauw at Perforce for pushing this project forward and providing technical advice. Vladimir Zdorovenco and Sergiy Golub from Assembla figured out how to use the p4 sever in an on-demand, Web product. Thanks go to Nigel Chanter and Chris Seiwald, who run Perforce, for agreeing to try it and allowing Assembla licensing for up to 17 users for free to use with your Assembla project. If more users are necessary, please contact us for details.