Before reporting an issue on GitHub, please check that:
When the above conditions are satisfied, feel free to submit an issue. Please provide a precise description, and as many of the following as possible:
sys/sanitize.sh
to allow easier diagnosis of such issues.There are a few guidelines that we ask contributors to follow to ensure that the codebase is clean and consistent.
git
. If
you don't know how to use git
, there is a useful guide
here.master
. Please avoid working
directly on the master
branch. This will make it easier to prepare your
changes for merging when it's ready.git checkout master
git checkout -b mybranch
git bisect
alongside the r2r
testing suite to identify when a bug is introduced.git diff master..mybranch | sys/clang-format-diff.py -p1
For more on the coding style, see DEVELOPERS.md.
WIP:
and mark it as a draft if you aren't ready to
merge.New changes are frequently pushed to the master
branch. Before your branch
can be merged, you must resolve any conflicts with new commits made to
master
.
To prepare your branch for merging onto master
, you must first rebase
it
onto the most recent commit on radareorg/master
, then, if you already pushed
to your remote, force-push
it to overwrite the previous commits after any
conflict resolution.
You may wish to change default git settings to ensure you don't need to always provide specific options. These do not need to be set again after initial configuration unless your git settings are lost, e.g. if you delete the repository folder and then clone it again.
If you cloned from your fork, you can add a new remote for upstream. The
commands here will assume that origin
is your fork and radareorg
is
upstream, but you can name them as you choose.
# Use SSH
git remote add radareorg git@github.com:radareorg/radare2.git
# Use HTTPS
git remote add radareorg https://github.com/radareorg/radare2
radare2 uses the squash
merging style to summarize changes. When your changes
are merged, the merging collaborator can customize the commit message that will
be used in master
. Typically, the pull request title is used as the commit
message. Specific or smaller changes may be included in the body.
Default settings may create "merge commits" when pulling from upstream, which
can cause issues. Set merge
and pull
to fast-forward only to avoid this.
git config merge.ff only
git config pull.ff only
master
from upstreamgit checkout master
git pull radareorg master
You may need to add the -f
flag to force the pull if it is rejected. If you
have made commits to your local master
branch (not recommended!), this may
overwrite them.
If there are new commits to master, you will see the list of changed files. If
there are no updates, you will see Already up to date.
.
mybranch
onto mastergit checkout mybranch
git rebase master
You may optionally use the interactive mode. This allows you to reorder,
reword
, edit
, or squash
your commits into fewer individual commits.
git rebase -i master
Again, you must resolve any conflicts that occur before you can merge.
If you are concerned about potential loss of work, you can back up your code by creating a new branch using your feature branch as a base before rebasing.
git checkout mybranch
git branch backup
git rebase master
If you have not pushed this branch before:
git push -u origin mybranch
If you are updating an existing branch:
git push -f
The -f
flag may be needed to force
the push onto the remote if you are
replacing existing commits on the remote because git commits are immutable -
this discards the old commits on your remote, and git won't take potentially
destructive actions without confirmation.
When committing changes, we ask that you follow some guidelines to keep the history readable and consistent:
git commit -m 'Modify output of `ls`'
Fix #number -
Tag | Relevant changes |
---|---|
##analysis |
Analysis |
##arch |
Architecture |
##asm |
Assembly (not disassembly) |
##bin |
Binary parsing |
##build |
Build system |
##config |
Configuration variables |
##cons |
Console/terminal |
##crypto |
Cryptography |
##debug |
Debugger |
##diff |
Diffing code, strings, basic blocks, etc. |
##disasm |
Disassembler |
##doc |
Documentation |
##egg |
The r_lang compiler |
##emu |
Emulation, including esil |
##graph |
Basic block graph, callgraph, etc. |
##io |
The r_io library |
##json |
JSON |
##lang |
Language bindings |
##meta |
Metadata handling, excluding printing |
##optimization |
Space/time optimizations |
##platform |
Platform-specific code |
##port |
Portability - new OS or architectures |
##print |
Printing data, structures, strings, tables, types, etc. |
##projects |
Saving and loading state |
##refactor |
Code quality improvements |
##remote |
Usage over a remote connection (TCP, HTTP, RAP, etc.), collaboration |
##search |
rafind2 , / command, etc. |
##shell |
Command-line, argument parsing, new commands, etc. |
##signatures |
Searching for or generating signatures |
##test |
Testing infrastructure, including r2r
|
##tools |
r2pm , rarun2 , rax2 changes that don't fit in another category |
##util |
Core APIs |
##visual |
Visual UI, including panels |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )