Jump to content

P4V now requires verification to integrate with -t flag

P4V integration flags

  • Please log in to reply
1 reply to this topic

#1 Scott Gilliland

Scott Gilliland


  • Members
  • Pip
  • 2 posts

Posted 02 October 2018 - 08:23 PM

Hello All,

In the latest version of the P4V tool, there is now a required user interaction in order to proceed with certain integration flags enabled:

#87383 (Changes #1651394, #1651394)
        P4V now warns users about integration flags that can have unexpected or undesired
        results. These flags are marked as such in the integration dialog. If users use
        any of these flags, they must confirm their selections to continue.

One of the affected flags is the -t flag used to propagate filetype changes.

Was wondering what some of the unexpected or undesirable consequences could be for this specific flag? I was approached by a user who was wondering why this extra step was put in place for the -t flag specifically.

Not a complaint, just looking for thoughts, and thank you for your time!


#2 Sambwise


    Advanced Member

  • Members
  • PipPipPip
  • 800 posts

Posted 03 October 2018 - 05:02 PM

The "-t" flag was deprecated in the CLI several years ago.  It's not particularly dangerous, just clumsy -- it forces the filetype (AND attributes, but I think that behavior was always undoc -- surprise!) to be copied from the source to the target, even if the type from the source is "older", and gives you no option to resolve.  This is legacy behavior that was formerly used to patch over the fact that filetypes and (undoc) attributes would get ignored by default, but ever since 2013.2 the default behavior has been to propagate those changes via resolve.

If you don't use the "-t" flag and you resolve with the default options, you always get the "newer" filetype and attribute set, which 99% of the time is the more desirable and less surprising behavior.  (You can also force an "accept theirs" or "accept yours" as normal, or you'll get a conflict in the rare situation that the same thing got changed in both files in different ways -- same as a normal resolve operation.)  Using "integ -t" is essentially a synonym for "p4 resolve -Aat -at", which I would imagine is not obvious to most users.

Given that it's deprecated and you can do the same thing less confusingly from the resolve dialog, I'm not sure why they went the route of leaving the checkbox in there and having it give a confusing warning rather than just removing it from that dialog and letting the resolve flow handle it normally.  Seems like a "worst of both worlds" compromise -- rather than leave it as-is (to avoid confusing people who are accustomed to the legacy behavior), or remove it (to simplify the integ dialog and migrate people to the newer workflow), they went the route of leaving the legacy behavior in while also confusing people who are used to it.  :D

Also tagged with one or more of these keywords: P4V, integration, flags

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users