Jump to content


Photo

Making Pull Requests on Hercules


  • Please log in to reply
18 replies to this topic

#1 jaBote

jaBote

    Advanced Member

  • Global Moderators
  • 2067 posts
  • Github:jaBote

Posted 03 May 2013 - 04:52 PM

Do you remember the many advantages Git has against Subversion (SVN)? One of those many advantages is the fact that in Git, you can send pull requests in order to directly collaborate with the community, without even the need of being an official Hercules dev, and if you contribute enough you can surely become a dev if you want. Well then, this is an – as detailed as possible – guide on how to make them.
 
First of all: What is a pull request? It's a way of telling the original devs of a (commonly open-sourced) project what changes you've made yourself on their project supposedly for the better, and kindly ask them (request) to merge it (pull). In short, it's a way of collaborating to a project without the need of being related at all to it. Obviously, your pull request may be rejected if it doesn't meet some requirements, but this is another story.
 
Git does also offer its own tools for pull requests (more info), but they're incompatible with the ones GitHub has. Moreover, GitHub pull request tools are easier to use than Git's.
 
What steps are required in order to do a pull request? In abstract, you'll have to:

  • Sign up for a GitHub account, if you don't have it already.
  • Fork Hercules project in GitHub, if you haven't done this already.
  • Clone your previous fork to a local repository in your computer, if you haven't done this already.
  • Work on your fork.
  • Commit your changes to your local repository.
  • Push the changes you've previously committed to your remote repository on GitHub.
  • Make the aforementioned pull request to the Hercules official repository.

Steps 3 and 5 have already been shown on the Obtaining Hercules guide by Ind (Obtaining Hercules through Git on *insert OS here* and Troubleshooting sections). These two steps will be slightly reviewed, but expect a fully detailed how-to in the others.
 
By the way, GitHub also has its own (generic) guides on how to fork a repo and then make a pull request, which also explain the toughest parts of this guide (though they're not so tough) and cover steps 2-6 (supposing you have a Git console). You're encouraged to go and read them if you want.
 
Well, here we go with the guide!
 
Step 1: Sign up for a GitHub account

Spoiler


Step 2: Fork Hercules project in GitHub
Spoiler


Steps 3 to 6: Local computer work
Spoiler


Step 7: (Finally) submitting the pull request
Spoiler

 
Congratulations! You have successfully made your first pull request on Hercules! This is a reason to be proud of yourself, isnt it?



#2 jaBote

jaBote

    Advanced Member

  • Global Moderators
  • 2067 posts
  • Github:jaBote

Posted 04 May 2013 - 11:15 AM

Frequently Asked Questions (FAQs):



I thought splitting this section from the main post would be beneficial because it's easier to write it and to look in it in case you need an answer and I have it down there.



I hope there are almost no questions because I think my guide is clear enough, though it's normal there will be some questions out here since my explanations aren't perfect. That's why this dedicated section exists.



Questions will be marked with a big Q and answers will be marked with a A. Both will be big enough to easily tell them apart.



Question list:

  • I get a warning message while trying to make a Pull Request on GitHub. What happens?
  • How do I update my fork to Hercules' last version?
  • I always get an error message whenever I try to push my changes even though I make sure I put correct access credentials. What's happening?
  • I can't commit anything to my local repository. What happens?

Questions & Answers:



Q: I get a warning message while trying to make a Pull Request on GitHub. What happens?

A: You can't make a pull request if you get a warning message from GitHub. Those messages usually provide enough information to tell you what to do. Here are all warnings I've received from GitHub to date and its possible solutions – just remember to change HerculesUser to your GitHub username–:

  • Oops! HerculesWS:master is already up-to-date with HerculesUser:master Try a different branch?
    • You haven't pushed any changes to your remote repository or the changes you've pushed make it identical to the original Hercules repository. You can only make a pull request if your repository is not exactly the same as the original Hercules'.
  • Oops! There's already a pull request for HerculesUser:master Try a different branch or view the pull request?
    • You already have an active pull request on Hercules and you have to wait until it's approved or rejected. If you want to add changes to your pull request, you can push more changes to your repository if you want: they'll automatically be added to your active pull request.

Q: How do I update my fork to Hercules' last version?

A: This is quite simple but not as easy as updating an official Hercules repository as you can't just pull as you did when updating the original Hercules repository – if you try to pull on your fork you're pulling from your fork's repository, not Hercules' –. Doing this task also depends on your OS:

  • On Windows: (I don't deem necessary to add a how-to picture for this)
    • Right-click your Hercules fork folder and select Fetch... option from the TortoiseGit submenu.
    • A new window will pop up. Select Arbitrary URL option and place original Hercules repository URL there (I mean this one: https://github.com/H...WS/Hercules.git). Then click OK (unless you want to change any of the available options, which is unfrequent) for making the fetch update to start.
    • Another window will be opened and your fork will be updated to Hercules last revision. Close it once you're done.
  • On Unix: You just have to run this command (it's actually two commands joint on a single shell statement):
    git fetch upstream && git merge upstream/master

Just remember that if you want these changes to also be on your GitHub repository, you'll have to push them. Otherwise they'll just be available on your local repository, as always.



Q: I always get an error message whenever I try to push my changes even though I make sure I put correct access credentials. What happens?

A: I've just experienced this error when I tried to push to the wrong repository (i.e. the original Hercules repository, to which I don't have access and you surely don't). Make sure you're trying to push to a repository on which you have permission for this. Ah! Also make sure you have an active Internet connection since you'll be using it!



Q: I can't commit anything to my local repository. What happens?

A: Chances are you're trying to make a commit without changing any file, and that's not possible for Git. Maybe you actually changed some files but forgot to save them?



#3 bgamez23

bgamez23

    Advanced Member

  • Community Contributors
  • 540 posts

Posted 20 May 2013 - 05:12 AM

is there any possible to have a mirror on svn?it so hard to make an update to the server if you made a lot of modifications. :mellow:


smodpic.gif?key=C5X0csJA-_AQRQ7z9gg4eA&t

don't forget to click the rep_up.png if my post is very helpfull to you.

Ragnarok Clients || Ai4rei's Random Stuff || Hercules FluxCP

Soon to Open AleconRO

its_more_fun_final.gif


#4 Nameless2you

Nameless2you

    Purring

  • Script Developers
  • 738 posts
  • IRC Nickname:Streusel
  • Emulator:Hercules
  • Github:Streusel

Posted 20 May 2013 - 06:02 AM

is there any possible to have a mirror on svn?it so hard to make an update to the server if you made a lot of modifications. :mellow:

git actually makes it easier if you have modifications.

However it is also possible to do a svn checkout.

Check this out for more info: http://herc.ws/board...ining-hercules/


Posted Image
Paste & Test your athena scripts at http://upaste.me, a better pastebin.
Twitch

#5 mofo

mofo

    Advanced Member

  • Members
  • PipPipPip
  • 100 posts

Posted 07 June 2013 - 03:31 AM

git fetch upstream [color=rgb(102,102,0);]&&[/color] git merge upstream[color=rgb(102,102,0);]/[/color]master

 

when i try this it says...

 

fatal: upstream does not appear to be a git repository

fatal: the remote end hung up unexpectedly

 

update: it works now, i just needed to configure the upstream.


Edited by mofo, 08 June 2013 - 07:39 AM.


#6 Frost

Frost

    The Master of White Spaces

  • Script Developers
  • 632 posts
  • LocationPhilippines
  • Emulator:Hercules
  • Github:Jedzkie

Posted 27 October 2013 - 09:50 AM

i just want to request to make a video how to pull request, because there are people (like me) still not get how to make a pull request, i just tried it but i get error when making push, "git did not exit cleanly, error (128)"


Posted Image


Don't forget to click Posted Image if i helped you!

#7 jaBote

jaBote

    Advanced Member

  • Global Moderators
  • 2067 posts
  • Github:jaBote

Posted 27 October 2013 - 09:53 AM

Try to scroll up a bit, there's some explanation text up there. What does it say?



#8 Frost

Frost

    The Master of White Spaces

  • Script Developers
  • 632 posts
  • LocationPhilippines
  • Emulator:Hercules
  • Github:Jedzkie

Posted 27 October 2013 - 09:54 AM

Try to scroll up a bit, there's some explanation text up there. What does it say?

 

it say's "git did not exit cleanly, error code (128)"


Posted Image


Don't forget to click Posted Image if i helped you!

#9 jaBote

jaBote

    Advanced Member

  • Global Moderators
  • 2067 posts
  • Github:jaBote

Posted 27 October 2013 - 09:56 AM

If you're using TortoiseGit, you'll usually get some more text if you scroll a bit up the error message, so that I know a bit more of info about that.



#10 Dastgir

Dastgir

    Advanced Member

  • Script Developers
  • 3340 posts
  • IRC Nickname:Dastgir
  • LocationIndia
  • Emulator:Hercules
  • Github:dastgir

Posted 30 November 2013 - 01:23 AM

Well, I use bash and till yesterday it was working fine, but now,
I can push my local changes of old branches but when I create new branch, then push it to repo, it just ask user and pass, thrn it stuck there, waited 1 hour, then also no change. Git processes seems to be running in background(in task manager it shows git applications), reinstalled git too. Set buffer size very high too, even tried to use ssh link, still no luck.

Any help?

My Services: Click Here
Clientside Translation: Click HERE
If you like my work Please Click rep_up.png
btn_donateCC_LG.gif

Quick Donate Link: http://paypal.me/dherc


#11 bgamez23

bgamez23

    Advanced Member

  • Community Contributors
  • 540 posts

Posted 07 April 2015 - 06:20 PM

can you update this guide?


smodpic.gif?key=C5X0csJA-_AQRQ7z9gg4eA&t

don't forget to click the rep_up.png if my post is very helpfull to you.

Ragnarok Clients || Ai4rei's Random Stuff || Hercules FluxCP

Soon to Open AleconRO

its_more_fun_final.gif


#12 jaBote

jaBote

    Advanced Member

  • Global Moderators
  • 2067 posts
  • Github:jaBote

Posted 13 April 2015 - 08:07 AM

OMG I didn't realise the pics were gone. I'm mostly out of here because of time and college issues, but will try to give it some time.

Any suggestion or just updating the images and text, if applicable?

#13 bgamez23

bgamez23

    Advanced Member

  • Community Contributors
  • 540 posts

Posted 13 April 2015 - 05:55 PM

just the image only :)


smodpic.gif?key=C5X0csJA-_AQRQ7z9gg4eA&t

don't forget to click the rep_up.png if my post is very helpfull to you.

Ragnarok Clients || Ai4rei's Random Stuff || Hercules FluxCP

Soon to Open AleconRO

its_more_fun_final.gif


#14 Angelmelody

Angelmelody

    (\ /) ( . .)

  • Members
  • PipPipPip
  • 772 posts
  • Locationnew_1-1,53,111
  • Emulator:Hercules
  • Github:Angelmelody

Posted 13 April 2015 - 09:19 PM

dunno why all the images become golden frog photos  -_-

 

Posted Image


Spoiler


#15 evilpuncker

evilpuncker

    The Suggester

  • Community Contributors
  • 2121 posts
  • Locationbr br hue hue

Posted 13 April 2015 - 09:30 PM

because imageshack sux


before asking for help, click here

some people that I admire:

Ai4rei (tools and client stuff) • Aeomin (the awesome thor patcher) • AnnieRuru (very helpful with script and source stuff)

Neo (N.E.M.O... do I need to say more?) • KeyWord (roBrowser <3) • k3dt (clients and clients) • Tokeiburu (awesome tools)

Dastgir (lua stuff) • Yommy • Ind • Haru • malufett

 

:ok:    and everyone that contributed in any way to the *Athena community in general (emulator, releases, support etc)  :no1: 


#16 jaBote

jaBote

    Advanced Member

  • Global Moderators
  • 2067 posts
  • Github:jaBote

Posted 14 April 2015 - 09:31 AM

Imageshack was the only serious alternative to an image service I dislike (for personal reasons) such as imgur. Guess I'll have to swallow it. Not sure, but hope I still have the guide pics on my PC as I do with the other guides I wrote in Spanish...

#17 Dastgir

Dastgir

    Advanced Member

  • Script Developers
  • 3340 posts
  • IRC Nickname:Dastgir
  • LocationIndia
  • Emulator:Hercules
  • Github:dastgir

Posted 14 April 2015 - 09:41 AM

Imageshack was the only serious alternative to an image service I dislike (for personal reasons) such as imgur. Guess I'll have to swallow it. Not sure, but hope I still have the guide pics on my PC as I do with the other guides I wrote in Spanish...


Search , else I will screenshot a set of images for you xD

My Services: Click Here
Clientside Translation: Click HERE
If you like my work Please Click rep_up.png
btn_donateCC_LG.gif

Quick Donate Link: http://paypal.me/dherc


#18 zackdreaver

zackdreaver

    Advanced Member

  • Community Contributors
  • 377 posts
  • IRC Nickname:zackdreaver
  • LocationIndonesia
  • Github:zackdreaver

Posted 14 April 2015 - 10:33 AM

Hail golden froggy

 

i prefer http://postimage.org/


My renewal translation project

https://github.com/z...ver/ROenglishRE


#19 bgamez23

bgamez23

    Advanced Member

  • Community Contributors
  • 540 posts

Posted 14 April 2015 - 05:27 PM

must better if you use postimage.org just like zackdreaver. all of my upload pics is came from postimage.


smodpic.gif?key=C5X0csJA-_AQRQ7z9gg4eA&t

don't forget to click the rep_up.png if my post is very helpfull to you.

Ragnarok Clients || Ai4rei's Random Stuff || Hercules FluxCP

Soon to Open AleconRO

its_more_fun_final.gif





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users


This topic has been visited by 687 user(s)