Jump to content


Best workflow for staged development?


  • Please log in to reply
1 reply to this topic

#1 wdbdesign

wdbdesign

    Member

  • Members
  • PipPip
  • 12 posts

Posted 09 July 2018 - 01:52 PM

I work in an environment in which Perforce submissions are gated by successful code reviews.  Occasionally my own development will get ahead of these CR approvals, sometimes by several features.

My current workflow is to maintain different local project folders (projectname_01_featureA, projectname_02_featureB, etc.), and then merge them into mainline in sequence as CRs are approved.  Because the features often build on each other, each folder contains the contents of the previous folder, plus whatever new feature is implemented.

I'm looking for a solution that would let me stage this development in Perforce somehow.  Multiple task streams don't seem like the best solution, and cascading feature streams seems cumbersome.  Can this somehow be managed in a single development stream off of mainline?

It would be ideal if somehow changes incorporated from CR feedback could be merged into subsequent features before submitting those for CR.

What's the best way to manage a workflow like this?

Thanks in advance for any tips/suggestions!

#2 Sambwise

Sambwise

    Advanced Member

  • Members
  • PipPipPip
  • 548 posts

Posted 09 July 2018 - 05:26 PM

Cascading feature streams is what you're doing right now, so that would actually be my first suggestion since it's a workflow that you're already using comfortably; putting it into version control just makes the merging process easier.  (The original idea behind Perforce's "inter-file branching" was in fact to take the "copying between folders" workflow that people did outside of version control and just translate that into branches so that branching would feel more natural.)

If you have a linear sequence of features, and you never have to go back to an earlier feature to make fixes in isolation from your later feature work (i.e. branching), then doing it in a single development stream is perfectly doable.  Just make sure to keep track of your changes (give them good descriptions, track them with jobs, whatever) so that as you're submitting CR requests you're pulling from the right changelist.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users