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
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
-
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. -
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
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- NullReferenceException when setting 'isTextObjectScaleStatic' to false on a disabled TextMeshPro GameObject
- Shader Stripping Custom Options disappear when exiting Play mode without reloading Domain
- Decals do not get projected when 'Rendering Layer Mask' on a GameObject is 23rd Layer or above due to encoding/decoding issues
- Deriving from SearchContextAttribute doesn't always work
- Scripting API documentation is missing for macOS editor extensions
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.