Subscribe to RSS Feed

Entire Firebug source base has been moved on github.com last week and we are also adopting a new GIT development workflow. So far, everyone has been truly excited by this change and I believe that it's also much better way how to collaborate with other coders. Firebug is an open source project after all.

So, for those who are interested at forking Firebug repository, issuing a pull request, developing Firebug extension, etc. here are some basic things to know before you start.

Firebug Repository

There are already several repositories in Firebug's account, but the one you are probably interested the most is firebug

https://github.com/firebug/firebug

The structure of the repo is following:

  • extension Firebug extension directory
  • tests Firebug automated test files and test harness - FBTest
  • trace Firebug tracing console - FBTrace

Here is how to clone the repository (read only):

$ git clone git://github.com/firebug/firebug.git
$ cd firebug/extension

Run Firebug From Source

The extension directory contains Firebug extension files and so, you can run Firebug off of it. It's also the best way how to quickly check your code changes.

  1. Locate your Firefox profile folder
  2. Open extensions/ folder, create if it doesn't exist.
  3. Create a new text file and put the full path to your development folder inside. (e.g. C:\firebug\extension\ or ~/firebug/extension/). Windows users should retain the OS' slash direction, and everyone should remember to include a closing slash and remove any trailing spaces.
  4. Save the file with Firebug ID as it's name firebug@software.joehewitt.com

Now you can modify the code base, restart Firefox (with Firebug extension installed) and see your changes live.

Build Firebug XPI

You probably don't need this that often, but you can also easily build Firebug XPI package. All you need is Apache Ant installed on your machine.

$ cd firebug/extension
$ ant

The result XPI file should be located in ./release directory.

Push!

And now the most interesting part. You fixed a bug or implemented new API you need in your extension and you want us to pull your changes, commit into Firebug master branch and release! Let's see what you need to do.

Update: it's useful to create a separate branch for every contribution you make. (related to #4 and #5)

  1. First, you need a GitHub account. It's simple and all the cool kids are already there ;-)

  2. Fork Firebug repository (see how to fork a repo).

  3. Clone your fork onto your local machine (your URL will be different):
    $ git clone git@github.com:janodvarko/firebug.git
  4. Create a new branch, make your changes, stage/add modified files (e.g. firebug.js) and commit:
    $ cd firebug/extension
    $ git checkout -b myNewAPI
    # Make your changes in firebug.js file now
    $ git add content/firebug/firebug.js
    $ git commit -m "New API for my extension"
  5. Push to origin (your public fork), the local branch myNewAPI to the remote branch myNewAPI:
    $ git push -u origin myNewAPI
  6. Send a pull request. We'll review your changes and accept if all is OK!

Our release cycle is quick (a release at least every other week) so, your changes can be publicly available pretty soon!

Or Create a Patch

If you don't like github.com from some reason you can always create read-only clone (see at the beginning of this post), make your changes and generate a patch:

$ git diff > my-new-api.js

... or using svn:

$ svn diff > my-new-api.js

Finally, create a new issue report (Firebug official issue list is still at the same location) and attach your patch. Again, we'll review your changes and accept if all is OK!

Further Resources


Rss Commenti

50 Comments

  1. Step 4 should be to create a branch for the specific contribution they are submitting. This makes things easier for users contributing.

    git checkout -b improvingxthing

    Github collects in the same pull request all the commits you made to a branch(ex master). If you need to contribute to two separated things, there is no way to separate the pull request if you made all the changes in master.

    ( correct me if I'm wrong. )

    #1 tito
  2. Also, when pushing you need to select the branch name

    git push -u origin improvingxthing

    #2 tito
  3. Nice catch! So, if I understand correctly, the contributor should (a) create a branch (b) push it to the forked repo and (c) send the pull request from the branch, correct?

    And new branch should be created for every new contributed feature so, they can be separated from each other (which is also important for the review process).

    #3 Honza
  4. "Firebug is an open source project after all."

    That's why it goes to be hosted by a closed-source for-profit development platform, right?

    #4 Robert Kaiser
  5. [...] Hacking on Firebug, Jan outlines the most common things you can do, [...]

    #5 Firebug is now on GitHub – go learn and contribute! ✩ Mozilla Hacks – the Web developer blog
  6. @Robert: Let me rephrase: That's why it goes to be hosted by a successful social coding oriented platform - to make the collaboration among contributors easier.

    #6 Honza
  7. [...] developer Jan Odvarko says the move to GitHub has been smooth so far and will offer interested developers “a much better [...]

    #7 | Web Design Florida Organization
  8. [...] developer Jan Odvarko says the move to GitHub has been smooth so far and will offer interested developers “a much better way [...]

    #8 Octocat, Meet Firebug: The Popular Firefox Developer Tool Is Now on GitHub | Streaming Media Hosting
  9. [...] developer Jan Odvarko says the move to GitHub has been smooth so far and will offer interested developers “a much better way [...]

    #9 Octocat, Meet Firebug: The Popular Firefox Developer Tool Is Now on GitHub | Web Hosting Blog
  10. @Honza, correct!
    Github will recognize the different branches and will create a dedicated "send pull request" button for each different branch, directly from your repo.
    Update the instructions! This is important. Also the correct command to push a branch is:

    git push origin improvingxthing:improvingxthing

    This means to push to origin, the local branch improvingxthing to the remote branch improvingxthing

    Regards,

    #10 tito
  11. [...] developer Jan Odvarko says the move to GitHub has been smooth so far and will offer interested developers “a much better way [...]

    #11 Octocat, Meet Firebug: The Popular Firefox Developer Tool Is Now on GitHub – South Devon Web Design - New Media Creatives - Web Design, Web Development, Web Hosting, and SEO in South Devon UK
  12. [...] developer Jan Odvarko says the move to GitHub has been smooth so far and will offer interested developers “a much better way [...]

    #12 Octocat, Meet Firebug: The Popular Firefox Developer Tool Is Now on GitHub | Premium Shopping Store
  13. [...] developer Jan Odvarko says the move to GitHub has been smooth so far and will offer interested developers “a much better way [...]

    #13 Octocat, Meet Firebug: The Popular Firefox Developer Tool Is Now on GitHub | Technology News - digimars.net
  14. [...] developer Jan Odvarko says the move to GitHub has been smooth so far and will offer interested developers “a much better way [...]

    #14 Octocat, Meet Firebug: The Popular Firefox Developer Tool Is Now on GitHub | PRO-BTC
  15. [...] developer Jan Odvarko says a pierce to GitHub has been well-spoken so distant and will offer meddlesome developers “a most [...]

    #15 » Octocat, Meet Firebug: The Popular Firefox Developer Tool Is Now on GitHub » t3knoDorKs
  16. [...] Software is hard | Hacking on Firebug: Software is hard | Hacking on Firebug [...]

    #16 Software is hard | Hacking on Firebug | WordBuff.in
  17. @tito: Instructions updated, thanks! One question: isn't "git push origin myNewAPI:myNewAPI" the same as "git push origin myNewAPI"?

    Honza

    #17 Honza
  18. [...] developer Jan Odvarko says the move to GitHub has been smooth so far and will offer interested developers “a much better [...]

    #18 Octocat, Meet Firebug: The Popular Firefox Developer Tool Is Now on GitHub | Witty City Blog
  19. @honza, Looks like it is the same thing. I think is a little bit more easy to understand what are you doing.

    I'm not sure about the usage of "-u" arg. It seems to add a tracking branch. I need to investigate that on a git marthon :D
    Regards

    #19 tito
  20. git push origin some-feature

    should be enough

    Git ready has a lot of handy good tips for the daily use

    http://gitready.com/beginner/2009/02/02/push-and-delete-branches.html

    Thomas

    #20 Thomas
  21. [...] دهد. برای اطلاع رسانی از نحوه کار بر روی Firebug در GitHubبه اینجا مراجعه [...]

    #21 firebug دوست داشتنی از این به بعد کاملا متن باز خواهد بود | آريستا پورتال جامع ايرانيان
  22. @tito, Thomas: thanks, I have updated the post.
    Honza

    #22 Honza
  23. [...] developer Jan Odvarko says a pierce to GitHub has been well-spoken so distant and will offer meddlesome developers “a most [...]

    #23 Octocat, Meet Firebug: The Popular Firefox Developer Tool Is Now on GitHub « «
  24. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #24 WSX: access a virtualized desktop from your browser with VMware
  25. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #25 HTML5 roundup: access a virtualized desktop from your browser with VMware | Mihai Vlasceanu
  26. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #26 Tech Reviews » HTML5 roundup: access a virtualized desktop from your browser with VMware
  27. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #27 HTML5 roundup: access a virtualized desktop from your browser with VMware – Ars Technica « Desktops
  28. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #28 TransAlchemy » Blog Archive » VMware’s WSX Does Virtual Desktops With HTML5
  29. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #29 VMware’s WSX Does Virtual Desktops With HTML5 | Dive For Smiles
  30. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #30 VMware’s WSX Does Virtual Desktops With HTML5 | Streaming Media Hosting
  31. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #31 VMware’s WSX Does Virtual Desktops With HTML5 | Android Developers
  32. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #32 VMware’s WSX Does Virtual Desktops With HTML5 | Web Hosting Blog
  33. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #33 VMware’s WSX Does Virtual Desktops With HTML5 | Dougs Easy Deals
  34. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #34 VMware’s WSX Does Virtual Desktops With HTML5 | JLD Express Shopping
  35. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #35 VMware’s WSX Does Virtual Desktops With HTML5 – Wired News « Desktops
  36. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #36 VMware’s WSX Does Virtual Desktops With HTML5 | PRO-BTC
  37. Very complete guidance. Thank you in advance

    #37 Sigma Kabir
  38. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #38 VMware's WSX Does Virtual Desktops With HTML5 | IT Security News
  39. [...] a popular Firefox add-on for Web developers, has been moved to GitHub. This will make it easier for people to join the project and contribute [...]

    #39 HTML5 roundup: access a virtualized desktop from your browser with VMware | IT Security News
  40. [...] developer Jan Odvarko says the move to GitHub has been smooth so far and will offer interested developers “a much better way [...]

    #40 Octocat, Meet Firebug: The Popular Firefox Developer Tool Is Now on GitHub | Paramark Inc.
  41. [...] to hack on [...]

    #41 Getfirebug Blog » Blog Archive » Firebug 1.10a6
  42. alert("hacker");

    #42 fox
  43. [...] دهد. برای اطلاع رسانی از نحوه کار بر روی Firebug در GitHubبه اینجا مراجعه [...]

    #43 firebug دوست داشتنی از این به بعد کاملا متن باز خواهد بود | پایگاه خبری فن آوری اطلاعات برسام
  44. I would like to thank you for the efforts you have made in writing this article.
    i hope each and every one adopt this superb information in our business...
    thanks

    #44 los angeles seo company
  45. I would like to thank you for the efforts you have made in writing this article.
    i hope each and every one adopt this superb information in our business...thankslos angeles seo company

    #45 los angeles seo company
  46. Nice blog.. I am really impressed and you do an appreciative work.. thanks for sharing...
    i like to read this topic. please share something more...
    Thanks..

    #46 frog breeder
  47. what a nice post here... i am really enjoy to read this ... your fantastic information you have posted on your own site. I will definitelycome to check it out once more..thanks.

    #47 Build Day Spa Mobile App
  48. [...] This release fixes 200 issues (74 issues enhancements). We have implemented 50 more automated tests during the release cycle to ensure stability and avoid regression issues. We have also managed to move the entire source to github.com and got more contribution from the community than ever before (see more about hacking on Firebug). [...]

    #48 Getfirebug Blog » Blog Archive » Firebug 1.10.0
  49. [...] This release fixes 210 issues (79 issues enhancements). We have implemented 50 more automated tests during the release cycle to ensure stability and avoid regression issues. We have also managed to move the entire source to github.com and got more contribution from the community than ever before (see more about hacking on Firebug). [...]

    #49 Firebug 1.10.0 | Larson Calculus
  50. [...] If you’d like to contribute code read post about Hacking on Firebug [...]

    #50 Getfirebug Blog » Blog Archive » Firebug 1.11.0

Sorry, the comment form is closed at this time.