Search Issue Tracker

Won't Fix

Votes

0

Found in [Package]

2019.4

2020.3

2020.3.24f1

2021.2

2022.1

2022.2

Issue ID

1395956

Regression

No

ChangeSets are not detected when created via Editor Scripts

Package: Version Control

-

Reproduction steps:
1. Create a Perforce server
2. In P4V create a Workspace for the attached "P4NewChangeset.zip" project
3. Open the project and connect to the created Perforce server (Project Settings > Version Control)
4. Create a new ChangeSet via Script (Changeset > Generate)
5. Observe the Outgoing tab in the Version Control window (Window > Asset Management > Version Control)

Expected result: The created ChangeSet can be seen
Actual result: The created ChangeSet is missing

Reproducible with: 2019.4.34f1, 2020.3.26f1, 2021.2.8f1, 2022.1.0b4, 2022.2.0a2

Note: ChangeSets are created properly when created from the context menus of already existing ones

  1. Resolution Note:

    While certainly not "by design" this seems to have been the behavior of the Unity Perforce integration for a long time, likely since creation.
    A fix would be significant and potentially risky for an issue with a clear workaround (creating the changeset in P4V) versus other P4 integration fixes that seem to impact broader use cases.

Comments (2)

  1. KevinL24

    Sep 15, 2023 16:04

    As for the clear workaround, "creating changeset in P4V" Yes, that is possible. That works for one person, because they know what to do. What happens if you need this integration for a whole team of people? Suppose a use case: Someone on a large team is making a change to a file that needs to be added to their changeset as soon as possible. I'm making a tool in the Editor that does exactly this. If they use the tool to edit a file, it will create a changeset that they can name within the editor and it will go in P4V.
    Instead of me telling everyone on the large team about this, that if you edit these files, they need to be included in their changeset right away, it would be so much easier for me to automate this for them.
    To accomplish this, I'm using an Editor script to run a cmd line process and use the p4 command line interface to create a changeset for this functionality, instead of simply using the Provider integration within Unity. And that seems ridiculous. Especially when your reasoning for not fixing this are based on assumptions. Using words such as "likely" and "seems" means that you did very little investigation.

  2. KevinL24

    Sep 15, 2023 15:55

    If the Perforce Provider integration is not supposed to create new changesets, then why is this function named this way in the Provider class?
    "CheckAndCreateUserSuppliedChangeSet"
    "Create User Supplied Changeset" What would that mean other than that it would create a user-supplied changeset, one that has not been created already?

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.