July 3, 2013

2013.2 P4V: Task Branches Reloaded

Flexible Workflows

p4v iconTask branches, available in 2013.2 P4V, alleviate a lot of the mental stress around deciding when to branch for a fix or feature, and when to do the work directly in the active branch. With task branches, branching is nice and cheap. So now there's a different question you can ask yourself: How “done” am I?

That nice feature you've completed in your task branch—the one that’s been polished and unit tested—it's “done,” right? If you’re sure it’s done, go ahead and delete the task stream since you won’t need to go back into that code. That will help clean up all the unchanged files in the shadow tables and tidy everything up. But as your finger hovers over the delete button, you hesitate. How sure are you that you’re really done? UX might stop by and say, “Wouldn't it be nice if it could do this, too?” Or, QA might stop by because they’ve tickled the feature just right and found a bug that not only crashes the client, but hangs the server, too!

You think to yourself, “One more stream isn't going to hurt anything. I won't delete this one in case something else needs to be done.” Next thing you know you've got thousands of task branches not being worked on, but you’re holding onto them just in case something might need doing. You notice things start to slow down a bit when you open up Stream Graph. All the workspaces for those branches are making it harder to find the one you want to edit. But fear keeps you from deleting anything.

Well, fear not. Using 2013.2 P4V you can now unload and, if needed, reload certain form types (clients, labels and task streams) from the main server tables. No more worrying if you're really done or not. By unloading your task streams instead of deleting them, you gain peace of mind—if you weren't REALLY done, you still didn't lose anything.