title: clearcase to perforce : how to branch?
body: <p>We are migrating from <code>clearcase</code> to <code>perforce</code> and I have question on branching.</p>
  
  <p>In <code>clearcase</code> once I branch (say <code>my_branch</code>) out I can keep committing incremental changes to a file (say <code>xyz.cpp</code>) without being concerned about the <code>main</code>. </p>
  
  <pre><code>element * CHECKEDOUT
  element * .../my_branch/LATEST
  element * /main/LATEST -mkbranch my_branch
  </code></pre>
  
  <p>I can keep checking out and checking in <code>xyz.cpp</code> as many times as I want into <code>my_branch</code>. Suppose I made 23 checkins and I feel the 21st checkin is the one that needs to go into the <code>main</code>, I can get the 21st checkin using <code>ct get</code> and merge it to <code>main</code>.</p>
  
  <p>I can do this for any number of files (say <code>xyz2.cpp</code>, <code>xyz3.cpp</code> ...) in this branch in <code>clearcase</code>. I am not sure how to do this in <code>perforce</code>. </p>
  
  <p>How do I replicate this process in <code>perforce</code>? I see <code>p4 submit</code> but it goes into <code>main</code>. Basically I want to keep saving the incremental changes and also retrieve them as needed for any number of files before merging them to <code>main</code>.</p>