Drafts can be committed onto out-of-date packages with no option to resolve merge conflicts

I’m currently developing a game with a team and we’re using PackageLinks to collaborate on our code.
Because the main game takes awhile to auto-save when attempting to play-test it, I’ve been editing this code in a separate game that is still owned by our group.

Lately I’ve observed the following scenario:

  • I commit my drafts to the package in the separate game.
  • Someone else published changes in the main game before me.
  • The out-of-date icon shows up on this package only after I’ve committed one of my drafts.
  • The option to merge my code changes into theirs isn’t provided.
    • I either have to get the latest package (which discards my changes) or publish my changes (which overwrites theirs)

This seems like a bug. If this behavior is intended then it really shouldn’t be.
Committing drafts should require the package to be on the latest version so as to avoid overwrites like these.

(cc @nsgriff)

7 Likes

Wanted to update this post because I found a workaround that I think should be made into a feature.

If the conflict I’ve described above occurs, you can do the following:

  • Compare the script changes of the conflicted package.
  • Create drafts for each changed script so they are restored as drafts.
  • Grab the latest version and allow it to overwrite your changes.
  • Merge your drafts into the newer version.

I would love it if drafts were automatically re-opened for unpublished changes that you would otherwise lose if you grab the latest version. That way, they can be safely merged into the latest package.

5 Likes