[Sugar-devel] Getting error 403 while submitting PR

D. Joe sugarlabs at etrumeus.com
Sun Mar 19 13:54:54 EDT 2017

You most likely cloned directly from walterbender's repository, which is to say


whereas the instructions at



"You should first fork the repository on GitHub"

It looks like you do, in fact, have a fork of this, at


but that you just aren't incorporating it into your workflow properly.

Had you pulled the clone now on your local machine from
aditodkar/musicblocks instead of from walterbendr/musicblocks you would have
write access to push your changes.  Instead, from the screenshots I see that
your "git push" is trying to push directly into walterbender's master
branch.  Generally speaking, one does not simply push to upstream master, as
this shortcuts the review process.

So, below, I'll try to help you reconfigure your local clone so that you can
push your changes to your own repo.  Once the changes are on GitHub, you can
generate a pull request asking that your changes be pulled into the
walterbender from your repository, all within GitHub itself.  This gives
people a chance to look your changes over before merging them.

So all is not lost, you can still set up your local clone to push to your
GitHub repository instead of walterbender's.  

There are different ways you could do this.  The simplest, and most
GitHub-centric might be to just remove the current default remote setting,
called 'origin', that points to walterbend/musicblocks and then replace it
with a new remote, again conventionally called 'origin', that points to
aditodkar/musicblocks. Doing this would not be wrong.

To see all your remotes, issue:

  git remote -v

I'm a multi-remote kind of guy, though, and also I don't like removing
things before I have a replacement for them already in hand. So, I'll just
recommend you leave 'origin' alone and add a new remote:

 git remote add aditodkar https://github.com/aditodkar/musicblocks


  git remote -v

at this point should show you 4 lines, two for walterbender and two for
aditodkar, a pull and a push for each.

Then you should be able to do:

 git push aditodkar

to push your changes up to your own GitHub account. You will probably have
to enter your GitHub account username and password at this point. Also, this
can take some time to complete.

Once that's done, go to GitHub's web interface, find and click on "Pull request" 
to issue a pull request upstream, to be reviewed and, if all goes well,
merged into walterbender/musicblocks 

Right now, clicking on "Pull request" from the page for you fork results in
a page saying there is nothing new to compare between the two, but after you
push your changes, there should be.

(Once you grasp the nature of how different distinct remotes work, you might
want to set your default push remote to your own repository, but in my
opinion this gets a little ahead of ourselves.)

Maybe taking another look at the GitHub pull request help documents linked
to from 


will be useful with the details of your specific situation above in mind.

Hope that helps,

Joe   On ceding power to tech companies: http://xkcd.com/1118/
man screen | grep -A2 weird
  A weird imagination is most useful to gain full advantage of
  all the features.

More information about the Sugar-devel mailing list