当前位置: 首页 > 文档资料 > xdebug 中文文档 >

Contributing

优质
小牛编辑
126浏览
2023-12-01

GIT

Xdebug is hosted in GIT. The source code can be browsed through github and can be checked out with:

git clone git://github.com/xdebug/xdebug.git

If you think you want to fix a bug or work on a new feature, then you need to follow the instructions below.

Initial Set-up

  1. Fork Xdebug on github.
  2. Clone the repository:
    git clone git@github.com:{your username}/xdebug.git
    for example:
    git clone git@github.com:jamesbond/xdebug.git
  3. Change into the xdebug repository:
    cd xdebug.
  4. Make sure to set your git name and email:
    git config --get user.name && git config --get user.email
    If they are not correct, set them to the correct value:
    git config user.name {your name} && git config user.email {your email}
    for example:
    git config user.name "Derick Rethans" && git config user.email "derick@xdebug.org"
  5. Add the original repository as remote (after removing the old one):
    git remote add upstream git://github.com/xdebug/xdebug.git && git fetch upstream
  6. Add a tracking branch for xdebug 2.5:
    git checkout --track origin/xdebug_2_5

Keeping up-to-date

  1. Change into the xdebug repository (if you haven't done yet):
    cd xdebug
  2. Run:
    git checkout master && git fetch upstream && git rebase upstream/master
  3. Run:
    git checkout xdebug_2_5 && git fetch upstream && git rebase upstream/xdebug_2_5

Working on a bug fix

The steps for this are the same as for working on new features except that you make a branch of xdebug_2_5 instead of master.

  1. First of all, make sure you're up-to-date.
  2. Checkout the xdebug_2_5 branch:
    git checkout xdebug_2_5.
  3. Create a feature branch:
    git checkout -b issue{issue number}
    for example:
    git checkout -b issue681
    If there is no bug report yet, then you need to create one. If you want, you can add a description of the feature after the issue681 part, for example: issue1623-debug-static-properties.
  4. Work on the code, and add one or more tests in the tests directory, with as name tests/bug0{issue number}.phpt, for example: tests/bug01623.phpt.
  5. Commit it to your local repository: git commit .., with your main commit message's format as Fixed issue #1623: {issue report title}.
  6. Repeat the previous two steps as long as you want.
  7. Bring things up-to-date with the original repository, especially important if it took some time since you branched:
    git fetch upstream && git rebase upstream/xdebug_2_5
  8. Push your changes to your remote repository:
    git push origin {issue number}
    for example:
    git push origin issue681
  9. Once you're satisfied, generate a pull request, by navigating to your repository (https://github.com/{username}/xdebug), select the branch you just created (issue681), and then select the "Pull Request" button in the upper right. Select the user xdebug as the recipient.

    Alternatively you can navigate to https://github.com/{username}/xdebug/pull/new/issue{issue number}.

Working on a new feature

The steps for this are the same as for fixing bugs except that you make a branch of master instead of xdebug_2_5.

  1. First of all, make sure you're up-to-date.
  2. Checkout the master branch:
    git checkout master.
  3. Create a feature branch:
    git checkout -b issue{issue number}
    for example:
    git checkout -b issue681
    If there is no bug report yet, then you need to create one. If you want, you can add a description of the feature after the issue681 part, for example: issue1623-debug-static-properties.
  4. Work on the code, and add one or more tests in the tests directory, with as name tests/bug0{issue number}.phpt, for example: tests/bug01623.phpt.
  5. Commit it to your local repository: git commit .., with your main commit message's format as Fixed issue #1623: {issue report title}.
  6. Repeat the previous two steps as long as you want.
  7. Bring things up-to-date with the original repository, especially important if it took some time since you branched:
    git fetch upstream && git rebase upstream/master
  8. Push your changes to your remote repository:
    git push origin {issue number}
    for example:
    git push origin issue681
  9. Once you're satisfied, generate a pull request, by navigating to your repository (https://github.com/{username}/xdebug), select the branch you just created (issue681), and then select the "Pull Request" button in the upper right. Select the user xdebug as the recipient.

    Alternatively you can navigate to https://github.com/{username}/xdebug/pull/new/issue{issue number}.