Nowadays applying a fix to a project is as easy as creating a fork - which conjures up a full remote copy of the project for you to hack on - selecting the file you want to change, pressing Edit and committing your fixes. What if you are at the receiving end of a pull request (abbreviated PR in the following) instead? Using a polished web UI is great and often that's all you need. Click a button to Approve, click a button to Merge and you're done. But that's not always the case! It's a common

Continue reading »

In the Engineering Services team at Atlassian, we’re busily building out a microservice-based architecture for our applications. This is a massive change for us, and it is imperative that our changes are ’safe’, i.e. we prove as much as possible that we cannot inadvertently destroy data, and we can recover from any data issues that we do encounter. This led us to implement an event sourcing model for our entity store in Scala, where we store full history of changes to entities so that we can

Continue reading »

Join us for a hackathon at MesosCon

We're excited to partner with members of the Mesos community for a hackathon during MesosCon on Friday, August 22nd in Chicago. Join members of our engineering team to hack on Mesos and collaborate with other members of the community. We’ve identified two categories of hacks that we hope participants will focus on: Community Need: These are issues logged in the Mesos JIRA issue tracker that have received a large amount of activity (comments, votes, etc.), and address some of the larger

Continue reading »

I've been doing a bit of traveling lately on the second leg of the Getting Git Right tour. It's been a blast meeting so many devs from around the world. It's been particularly incredible to see how much git adoption has grown amongst attendees in the few months since we did the first leg of the tour. When we presented in July, almost all attendees raised their hand when we asked "Who's using git?". However, there is one low point during every evening that I've hosted: the moment after I ask the

Continue reading »

This is the second in our five-part series from guest blogger J. Paul Reed—build engineer, automation enthusiast, and host of The Ship Show podcast. Jez Humble, author of Continuous Delivery and one of its founding fathers, has an informal survey he likes to give to audiences. It starts with a simple question: "Raise your hand if you do continuous integration." A sea of hands always rise. Then he says "Put them down if all of the developers on your team don't check into the main code-line

Continue reading »

Interactive rebase in SourceTree

Over the last year we've introduced interactive rebase support in SourceTree on both Mac and Windows to help developers rewrite their commit history easier than ever. Often we've found this feature to be regarded as both mysterious and dangerous by many DVCS users, so we thought we'd help you learn what this feature does, how it can be a great asset in your workflow, and how to use it safely. What is "rebasing interactively?" In short, rebasing is a way of changing your commit history. You'll often

Continue reading »