From running Beanstalk, we know there are plenty of teams still using Subversion (SVN). We also know many of those teams have an interest in switching to Git. At the same time, when SVN is what a team knows, a switch like this is intimidating. You still have deadlines to meet and there’s a learning curve to understanding the nuances of Git!
When we set out to make Conveyor, we had to make a decision on what the underlying layer would be, and we chose Git. If you’re curious, Ilya detailed why we made that decision.
Conveyor is going to be the perfect entry point for those teams interested in switching to Git. You get the benefits of Git without the hassle of learning the ins and outs of how to use Git. By being a desktop app, no command line usage is necessary. With Conveyor, version control gets out of the way and allows a team to focus on writing great code. All without having to keep a Git cheat sheet handy.
The Best of Git
From our research, we know the complexity of Git prevents many from switching from SVN. On a fundamental level there’s the difference between a centralized and distributed repository. Staying in sync with local and remote repositories becomes labor intensive. And switching what branch you’re working on is an exercise in learning how to stash changes. Sure, none of these things prevents one from using Git, but they make the switch to Git that much more difficult.
As painful as Git is at times, SVN has its own problems. Merging conflicts brings on nightmares, branching is slow, and repository history isn’t local. Have you ever gone to get a cup of coffee while you wait for SVN to run a command? Or what about when you lose internet connection along with the ability to commit.
Conveyor removes some of the complexity of Git but includes all the best parts.
There’s the fast performance, easy branching, and simple merging. Working on a project offline is possible.
To improve on Git, Conveyor syncs all activity between local and remote repositories for you. Our sync service handles pushing, pulling, cloning, etc. for you. That means a project in Conveyor is always up-to-date. And we use simple terminology that anyone can understand, like “Switch to Task” when you’re ready to start working.
Opinionated yet thoughtful
To get work done, Git comes with no process built-in. It’s open-ended and teams have to decide how they will structure their development workflow. Many of these processes are laborious, complicated, and error-prone because of their manual nature. It makes the idea of switching to Git even more intimidating.
To solve this, Conveyor comes with an enforced workflow. It’s a workflow that you use and not one that you manage. Work is done in Projects. Projects are broken into assignable tasks. Tasks have descriptions and comments to allow people to discuss work where it’s happening and not in another tool. To round out the workflow, there are powerful deployments to get your code where you need it and run any necessary build commands.
This workflow lets you ship code faster. If frees you to write great software and not refer to a flow chart to remember your development process.
Preparing To Switch
We understand the daunting aspect of a switch. Habits and rituals are important for everyone, and that includes how work gets done. Changing processes for any team is difficult. There’s a human side to this. Change is even more daunting when it’s the underpinning of your team’s workflow. A team might not want to disrupt their processes to lose a project’s velocity.
To prepare your team for a successful switch to Conveyor, we have some tips:
- Any transition depends on the team understanding why. Don’t announce the switch to Conveyor by a late night email. Make sure sure everyone on your team knows why you’re making the change to create buy-in. Along with that, communication is oxygen, keep your team updated on the progress of the switch.
- The best way to learn a new tool is to use it. Have your team use Conveyor for a small project they’re working on.
- Consider having a point person to answer questions. These folks give team members a go-to place with questions, so those questions don’t become roadblocks (Like: “How do I do X in Conveyor?”)
And finally, keep it simple. Don’t introduce more than one change at a time in your development stack. For instance, changing server hosts and switching to Conveyor at the same time only introduces confusion.
How will switching work?
For Conveyor’s public release we plan to have a tool to migrate SVN repositories into Git repositories hosted in Conveyor. We hope you’re ready to remove the complexity of version control so your team can focus on shipping projects.
Conveyor is still in progress as a product, but its vision is firm. And one we’re passionate about. We can’t wait to show you more.