P4 Blog

  • December 19, 2014

    Silvia Gheorghita

    This is part of a blog series designed to explore the stories of our Women in Tech at Perforce. It's been fun and inspiring talking to each one of these women. As they share where they've been and how they came to where they are now, it is my hope that others will be encouraged and inspired too.

    Silvia Gheorghita is our second Hackbright Academy hire. She's been at Perforce for just under a year and has already made impressive contributions to the company including adding tests to our automation suite. When she's not heads down testing, she loves photography, running and blogging about food.

    Posted In:
  • December 18, 2014

    perforce swarm commons inights

    Here's what's new from Perforce in December.

    Posted In:
  • December 18, 2014

    This is part 6 of a 6-part series on Git commands.

    git beyond the basics using shallow clones

    One problem commonly encountered when using Git in the context of Continuous Integration (CI) and Continuous Delivery (CD) is server load. Because Git’s design includes everything in each copy of a repository, every clone gets not only the files but every revision of every file ever committed. It isn’t hard to imagine how that can quickly become a bottleneck with expanding numbers of build, test and deployment pipelines.

    Posted In:
  • December 17, 2014

    Continuous Delivery (CD) has been an interest of mine for many years. It has been a pleasure to organize the resources and links below.

    Continuous Delivery Books and Resources

    1. Agile Manifesto

    Going back to the beginning, the term CD arises in the first principle of the Agile Manifesto which was developed at a meeting of software development luminaries in February 2001:

    Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

    Those luminaries were steeped in practices ranging from Extreme Programming, SCRUM, DSDM to Feature Driven Development.

  • December 12, 2014

    inception of dvcs

    Why create a new distributed version control system or DVCS? The development world already enjoys Bazaar, Mercurial (my personal favorite), and of course the 800-lb. gorilla in the DVCS room, Git. So why would Perforce set out to create a new DVCS in light of all those options? That’s probably the first question on some minds after the announcement at our MERGE 2014 conference in September. So this series of blog posts is written in the hope of making clear exactly why we’re building a new DVCS, what it will provide the market above and beyond existing products, and provide insight into the choices and challenges along the way.

    Posted In:
  • December 11, 2014

    git beyond the basics

    This is part 5 of a 6-part series on Git commands.

    A relatively little-known Git feature is its support for both client- and server-side hooks for automation. That may seem strange, for a fully distributed version control system with no proper sense of a privileged “server”, but it’s nevertheless possible to configure processes to run in the “server” sense as the result of a push. Working with hooks is a matter of writing scripts in the .git/hooks folder for a repository, so it’s straightforward for those accustomed to DevOps tasks. Client-side hooks are available for pre-commit, pre-rebase, post-checkout, and post-merge, etc. which provide a fair amount of flexibility. In contrast, server-side hooks are limited to pre- and post-receive as well as an update script that’s run once for each branch being updated. Consider the following example script:

    Posted In: