It looks like some kind of permissions problem. If you just want to get it done, you could login to github via your browser and "edit" each file (the pencil icon) and copy paste the new code. You will have to use filenav or some other method to open the pui file in the editor but it should be fine and will validate that your login is working.

When you say the new branch exists on github, did you A) create a local branch and create a github branch separately? Or, B) did you create the branch on github, then pull it into pythonista/gitui?

If you did A, I think that creates a conflict that the primative git client cannot deal with. If B... not sure what that wouldn't have worked. If you can post a full traceback from gitui, that could be helpful. Are you using the latest gitui (which had some fixes for a few OSErrors, mostly for missing files i think)

The git clients right now on pythonista don't deal with conflicts well, or, at all really.
The best way to handle this sort of thing is to clone into a new folder, switch/checkout the new branch, the use pythonista or stash to copy the modified files from your old repo into the new folder. Then, add/commit the changes and push again from the new folder.

pyui files in non-compact format seem to work fine. At least Pythonista didn't mind a few pointless line breaks in between dictionary items, so I suppose real pretty-printing should not be an issue either.

Ok, looked at this for a while tonight.
First, go ahead and run the install_gitview.py script, and delete the dulwich version in plugins.
I think that must be a very old version, as the latest has no os.fork calls. Actually, I will soon update this to point to a new repo, which merges dulwich 0.9.9 into the transistor modifications.

Second, I was wrong, you can create local branches and push. But, you can only push if there has been a commit, you can't push a branch that is identical to an existing. This seems to be a bug in the way github works, but I'm not sure. As far as I can tell the request appears valid. So, the workaround is to simply do an extra commit after creating a branch. Gitview won't let you do this, but I will change that so it will just warn, but let you commit anyway.

Got the new old master. You need to patch the log view window size due to the new behaviour of 1.6 regarding default view sizes. Seems I can't find where that fix was posted. Starting to need an index of some sort on this thing.