tags:

views:

334

answers:

2

So here's my scenario:

I have two projects projectA and projectB. A branchspec auto-integrates projectA to projectB. Now, I have a changelist which modifies some files in projectA -- I have not committed/submitted this changelist yet.

I'd like this changelist to go into projectB only.

Doing a p4 integrate -b branchspec -c changelistNumber

shows

"All revision(s) are integrated."

How can I integrate an uncommitted changelist?

+2  A: 

Hack-ish solution:

  1. Check out the files in project B
  2. Manually copy files from project A to project B (they're not write-protected due to step 1)
  3. Shelve changelist in project A
  4. Submit to B
  5. Integrate files from B to A and resolve
  6. Unshelve files from step 3. Resolve as needed accepting yours.
  7. Submit to A when ready

Another approach is to create a separate branch where you do your work and then integ to A or B as needed.

The general idea is that Perforce works in terms of submitted or shelved changelists. The idea of integrating an non-committed changelist seems to go against Perforce's natural grain which makes these workarounds cumbersome.

Jeff Moser
"The general idea is that Perforce works in terms of submitted or shelved changelists". I'll remember that :)
Nocturne
Ignore it at your peril ;)
Jeff Moser
+1  A: 

You can use P4_Shelve to move the changes to a new branch which you could then integrate to projectB.

Douglas Leeder