[p4] Integ Across Multiple Branches

Jeff A. Bowles jab at pobox.com
Thu Apr 17 16:40:41 PDT 2008


That's a separate question.  I'm really saying that the code - the way of
looking at mappings - is the same for branch-spec views and workspace-spec
views.
It is very reasonable to have, from the command-line as an example:
    p4 integrate    file.c    x.y
    p4 integrate    file.c    x.c
    p4 integrate    file.c   f.c
    p4 submit -d "making copies of revisions of file.c"
Those three commands (the integrates) really are describing a revision of a
certain file, going to each of three new places.  No problem.

[Aside: you can even use "integrate -v" to do the copies, server-side, to
save net bandwidth.]

For the life of me, however, I cannot see how to collapse those three
commands into a single integrate that uses a branch-spec.  It's something
about branch-spec mappings, and how views work, more than anything else.

  -Jeff Bowles




On Thu, Apr 17, 2008 at 4:30 PM, Evgeny <evgeny.zislis at gmail.com> wrote:

> Why add files to workspace, isn't there an option to integrate to just
> do the integration server-side, without involving workspaces at all?
>
> On Thu, Apr 17, 2008 at 11:47 PM, Jeff A. Bowles <jab at pobox.com> wrote:
> > Nope. See above.
> >
> > It can be done with multiple branch-specs, but...  well, for now, it's
> > really caught up in the way Perforce (the server code) maps files from
> > server/reference-copy to workspace-copy, and (using the same plumbing)
> from
> > source/tree to dest/tree. It figures out the mapping, and makes a lot of
> > assumptions (like "I can 'p4 add' back into here, right?'") based on
> those
> > mappings being one-to-one.
> >
> > You might-could get creative with some dastardly use of a "+" in a View
> > line, but I think those are for workspace specs and not branch specs.
> Also,
> > I think it would be pretty icky to maintain.
> >
> > Sorry to be so discouraging. There might be a way, but it's my
> understanding
> > that the mappings just don't set up for one-to-many in a single
> operation.
> >
> >   -Jeff Bowles
> >
> >
> >
> > On Thu, Apr 17, 2008 at 9:26 AM, Evgeny <evgeny.zislis at gmail.com> wrote:
> > > Can't this be done with a branch specification that has multiple view
> > lines?
> > >
> > >
> > >
> > >
> > > On Thu, Apr 17, 2008 at 6:52 PM, Jeff A. Bowles <jab at pobox.com> wrote:
> > > > Nope.  You'll end up with at least one "p4 integrate
> from/... at chg1,chg1
> > > >   dest/..."for each line that is modified.
> > > >
> > > >  The reason that you will end up with
> > > >      p4 integrate from/... at chg1,chg1  dest1/...
> > > >      p4 integrate from/... at chg1,chg1  dest2/...
> > > >  ......
> > > >      p4 submit -d "integration of chg1, from->dest1 and from->dest2"
> > > >  Instead of of a single integrate-command, is that the only obvious
> > > >  single-command strategy would be a branch-spec, and the "View"
> > mechanisms in
> > > >  branch / client specs really don't understand the notion of
> > "from->dest1"
> > > >  and "from->dest2" in the same View specification.  It's one-to-one
> (for
> > the
> > > >  files mapped), not one-to-many.
> > > >
> > > >    -Jeff Bowles
> > > >
> > > >  ps: Aside: "For newer releases, from/... at chg1,chg1  and
> from/...@=chg1
> > mean
> > > >  the same thing."
> > > >
> > > >
> > > >
> > > >
> > > >  On Thu, Apr 17, 2008 at 5:32 AM, Todd Zarnes <
> todd.zarnes at activant.com>
> > > >  wrote:
> > > >
> > > >
> > > >
> > > >  > Good point Robert, I should be passing the Changelist twice in
> the
> > string
> > > >  > to only integrate the changes on 35431.  Any suggestions on
> moving
> > those
> > > >  > same changes to multiple branches in one string?
> > > >  >
> > > >  > ToddZarnes | Activant Eclipse | SCM Manager | Tel: 303.938.8801
> Ext:
> > 1544
> > > >  >
> > > >  > ________________________________
> > > >  >
> > > >  > From: Robert Cowham [mailto:robert at vaccaperna.co.uk]
> > > >  > Sent: Thu 4/17/2008 3:39 AM
> > > >  > To: Todd Zarnes; perforce-user at perforce.com
> > > >  > Subject: RE: [p4] Integ Across Multiple Branches
> > > >  >
> > > >  >
> > > >  >
> > > >  > > Is there a way to integrate a single Changelist across
> > > >  > > several branches at once?  It seems like there was a thread
> > > >  > > on this in the past but I could not find it.  I made a Submit
> > > >  > > into main with Changelist 35431...build locally and unit
> > > >  > > tests pass and now I want to propagate only my changes across
> > > >  > > two branches (1.0 and 2.0).  I would like to accomplish this
> > > >  > > without extra languages or utilities installed on each
> > > >  > > developer PC if possible.  Calling a bat file from a Tool
> > > >  > > menu that runs the P4 integ command would be perfect if I
> > > >  > > could get the syntax correct.
> > > >  > > Trying to go from one branch to another works fine so I tried
> > > >  > > to add a second branch by just adding it to the same line and
> > > >  > > I get the following error.
> > > >  > >
> > > >  > > C:\>p4 integrate -o //IntegrateTest/main/... at 35431
> > > >  > > //IntegrateTest/1.0/... //IntegrateTest/2.0/...
> > > >  > > Usage: integrate [ -c changelist# -d -D<flag> -f -h -i -o -n
> > > >  > > -r -s from -t -v ] [ -b branch to... | from to ]
> > > >  > > Missing/wrong number of arguments.
> > > >  > >
> > > >  >
> > > >  > Just to note that there is a difference between:
> > > >  >
> > > >  > p4 integrate -o //IntegrateTest/main/... at 35431
> > //IntegrateTest/1.0/...
> > > >  >
> > > >  > Which takes everything up to the changelist.
> > > >  >
> > > >  > p4 integrate -o //IntegrateTest/main/... at 35431,35431
> > > >  > //IntegrateTest/1.0/...
> > > >  >
> > > >  > Which takes the single changelist.
> > > >  >
> > > >  > Robert
> > > >  >
> > > >  >
> > > >  > Notice: This transmission is for the sole use of the intended
> > recipient(s)
> > > >  > and may contain information that is confidential and/or
> privileged.
> > If you
> > > >  > are not the intended recipient, please delete this transmission
> and
> > any
> > > >  > attachments and notify the sender by return email immediately.
>  Any
> > > >  > unauthorized review, use, disclosure or distribution is
> prohibited.
> > > >  >
> > > >  > _______________________________________________
> > > >  > perforce-user mailing list  -  perforce-user at perforce.com
> > > >  > http://maillist.perforce.com/mailman/listinfo/perforce-user
> > > >  >
> > > >
> > > >
> > > >
> > > >  --
> > > >  ---
> > > >  Jeff Bowles - jeff.a.bowles at gmail.com
> > > >
> > > >
> > > > _______________________________________________
> > > >  perforce-user mailing list  -  perforce-user at perforce.com
> > > >  http://maillist.perforce.com/mailman/listinfo/perforce-user
> > > >
> > >
> >
> >
> >
> > --
> > ---
> > Jeff Bowles - jeff.a.bowles at gmail.com
>



-- 
---
Jeff Bowles - jeff.a.bowles at gmail.com



More information about the perforce-user mailing list