I am fixing all git merging issues with C3

Not favoritedFavorited Favorited 0 favourites
  • 2 posts
From the Asset Store
[C2] [C3] Support C3 build service and Android 15+
  • Hi,

    I recently released two packages I have been working on the past few days:

    github.com/skymen/c3merge

    github.com/skymen/c3cli

    c3merge is a git extension designed to take over merging c3 files to better handle a lot of cases where git fails miserably or merges files in the wrong way.

    c3cli is a node library and cli to control C3 headlessly and do simple actions such as opening, saving, previewing and exporting projects.

    I will be dogfooding these addons for a long time and improve them as I go, but here they are if anyone wants to play around with them.

    Also, if you have a C3 project and have had many merge conflicts, I would love to run some tests on your project to see how well c3merge works compared to git, and if there are any cases I missed.

    Btw Ashley with something like c3merge, I think most of the remaining issues C3 commonly has with git should be resolved. I think C3 is already doing the best it can to work well with git, but git is very stupid around JSON files, and doesnt have project wide knowledge, so it handles object renames, variable renames and other easy to resolve conflicts really badly. Also it tends to fail and give broken JSON very often which is annoying.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • I think that ever since Ashley added random UID, C3 became much more usable with git, but a lot of git issues remained still. I don't think there is much that C3 itself can do to fix those issues because all of them stem entirely from git merging being maladapted to the task at hand.

    As such, in the past few weeks I have experimented with fixing this issue and I recently made that git addon that handles merging for C3 project files. I tested it on my biggest projects, and a few very large projects I had access to (including some of the biggest games made in C3) and I can report that my tool fixes about 50 to 70% of all conflicts automatically, detects project corruption much better and in general does a much better job that git's line by line algorithm to merge projects. So far the remaining conflicts all seem to be genuine conflicts that no tool should ever handle for you. (Although, I am looking into making a proper conflict resolution tool too that can help manage these remaining cases)

    I am still looking for people who would be willing to share their git histories with me so I can improve the tool and catch new cases that I haven't properly handled yet.

Jump to:
Active Users
There are 0 visitors browsing this topic (0 users and 0 guests)