What I’m trying to do:
I’m trying to merge a branch to master and I’m getting this error:
Internal server error: c70dd2b44870
I can create a new branch, and I am able to merge the new branch with master. I am unable to merge any branch with my current development branch.
I’ve read around that Internal server errors usually require Anvil Staff input. Any help is massively appreciated!
Not sure what other info is needed! I’ll respond ASAP to any replies 
Hi @mjdavies,
I’ve just had a search for that error code in our logs, and I haven’t found anything matching c70dd2b44870
. Could you try again and get a new code, and double check that you’ve copied the code correctly?
If we still can’t track down the code for some reason, we’re going to have to do this the old fashioned way: If you can reproduce the problem, could you give an exact date and time (including time zone!) when the error showed up, so I can go try and pick it out of the firehose?
Never mind - found the error trace! (I swear it’s like looking for my keys - I can look for hours but if I swallow my pride and announce I’ve lost them, I’ll find them before I finish the sentence. Sigh.) Looks like something in your component structure is confusing the GUI merger.
Could you please let us know the app ID of the app you’re merging, and the two version IDs (not just the branch names, as branches move!), so we can take a look?
I swear we all do the same! I’ve sent many an email backtracking on my previous! Not to worry!
I believe the app ID is: A6QAZWAR4HBSKS2F
At least that’s what I ripped from the editor’s URL
And I’m not sure how to find the Branch ID’s, where can I find those?
If you open Version History and click on a commit, you’ll see its commit ID (a long alphanumeric string) in the pane on the right of the Version History. If you can share:
- the ID for the tip of the branch you’re merging into
- the ID for the commit you’re merging from
- the names of the branches for each of those
that would set us up much better to investigate!
The ID of the top of the branch I’m merging into: f2d59293e5bf4b4aebdd0e0b2cef277540fe31f7
The ID of the commit I’m merging from: 13ea532ae469ad05360e4c9fb6390aaccdf53351
The names of these branches are the default “master” and “event-calendar”
Let me know if there’s anything else you need or if I’ve missed something!
Thank you for you help as well! It’s massively appreciated.
Hi! Just wondering if there’s any update on this?
I’m not sure if this is much use, but I’ve found the commit where the issue starts to occur.
The ID is: ec40d110425c886355413ee2242dbcd09ba41711
I have made a new branch “test-merger” which I’ve tried to merge with all the commits from the error branch, that is the first commit that I can merge with without seeing an internal server error.
I’ll compare the differences and keep digging.
Hey,
So I created a new branch and reset it back to a point that I was able to merge with, I then redid all the changes that I’d made and have just tried to merge with master again, and the same thing is happening.
Here is the last error code generated for the merge.
Internal server error: 5eb865ce34c0
Any comms on this would be much appreciated!
Sometimes, when the online merge fails, pulling, merging locally and pushing works.
You can try, then, if you end up corrupting the commit you are pushing, you can still (in the IDE) checkout an old commit and pretend nothing happened.
Hey, thank you for your suggestion, we gave it a go this morning and had some success, we were able to merge, but it didn’t seem to merge correctly. There were conflicts in our anvil .yaml files that were the root of the internal server errors we believe.
These conflicts must have been introduced by me or something on Anvil side. I’ve redone all the of the changes made in the branch and didn’t notice anything that I believe would cause such a conflict, just your standard actions of creating/deleting/editing forms.
Hi @mjdavies,
Apologies for the slow reply – I promise this is on our list!
@stefano.menci is right: If Anvil’s built-in merger is choking on a particular change you’ve made, then the fastest way to resolve the issue is to perform the merge yourself in text.
The particular thing that broke here is to do with merging components in Form code – what the problem is exactly, we haven’t got to the bottom of yet – but I suspect you’ll find that a change you’re making to one of your Forms is actually causing the problem. If you can attempt “trial merges” from various points in the history of the changes you’ve made, you’ll be able to identify the change that triggered the issue.
Another thing that might sometimes work is merging from master
into your branch (ie a “backwards merge”) before then merging your branch into master. (This works because the way Anvil deals with some tricky component conflicts is different depending on which “direction” the merge is going – for reasons I might one day give a conference talk about.)
So, in summary:
- Try a “backwards merge”
- Try going through the history of your changes and pinpointing which change (almost certainly to your UI, ie components not code) triggers the issue
- Try merging by text
In fact, the best route might be to combine all three: Identify the problematic change, then perform a “backwards merge” by hand to resolve it, then you should be able to complete the rest of the change as normal and merge as normal.
(None of which is to say that we won’t fix this issue – we were hoping we could just fix it and sort you out – but you’ve been waiting long enough by now that it’s probably worth trying more elaborate workarounds!)
Thank you very much both for you replies!
No need to apologise! I was being chased for the feature I’m trying to implement and wanted to provide some more clarity, which I previously wasn’t able to!
I have tried a manual text “forwards” merge, but as suggested, I will try the reverse and see if that fixes any issues! I’ll update you with the progress when I manage to work my way through it!
Thank you again @stefano.menci for stepping in, and thank you to @meredydd (and any other Anvil staff) for helping/looking into this! It’s much appreciated!
Apologies for prompting for a response! I understand these things are not always rudimentary!
Merging hierarchical data often requires a judgement call – especially when components have moved within the hierarchy. If they’ve also been renamed, it gets even tougher to automate. (Is that a “rename” or an “insert plus delete”?)
Only someone (or something) with an overview of the series of steps taken has a really good chance of working this out. And even then, we have cases where a user implements a “rename” as a “insert plus delete”, so the physical steps don’t match the intent.
Definitely conference-talk material.
Here, at least, there may be a potential out. When an algorithm gets stuck, it can defer to the user. Git does that, when it can’t figure out a proper merge.
I’m having some trouble with the manual merge, I did manage to get a merge to occur and found many many conflicts, after looking through them all carefully I completed the merge. This didn’t update where the branch indicator in Anvil was, the commit was visible in the Anvil Version Tistory tab, but the indicator (shown below) didn’t move/update.

I’ve tried selecting the branch and “Resetting” the branch to the new commit, this yielded no results, that I could see anyway, my branch indicator didn’t move, and the branch didn’t update.
I’ve tried merging towards the more recent commit, but the branch was “already up to date”.
I’ve tried creating a branch from the commit, again with no visible output or change anywhere, the branches also didn’t appear in the github repo.
If i “Checkout this commit” on the newest manual merges, I get another internal server error.
Admittedly, this is almost definitely my doing, I’m quite inexperienced with git, this is the process I’ve taken:
git clone {repo}
git checkout {from_branch}
git merge {to_branch}
git add --all
git commit -m ‘my message’
git push origin {to_branch}
Am I missing anything here?
Hi @mjdavies,
That usually means that the commit you pushed wasn’t a valid Anvil app. The most common reason for this is that you committed a malformed YAML file somewhere. This means the editor can’t load it, and errors out whenever it tries, so you can’t open that commit in the IDE or reset a branch to it or publish it.
Check your YAML!
1 Like