Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prj2 #405

Merged
merged 3 commits into from
Oct 11, 2024
Merged

Prj2 #405

merged 3 commits into from
Oct 11, 2024

Conversation

trufae
Copy link
Contributor

@trufae trufae commented Oct 11, 2024

Checklist

  • Closing issues: #issue
  • Mark this if you consider it ready to merge
  • I've added tests (optional)
  • I wrote some documentation

Description

@trufae trufae merged commit adee77f into master Oct 11, 2024
5 checks passed
Copy link
Contributor

@brainstorm brainstorm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/p/miau


**Persistent Across Sessions:**

Annotations are stored globally in the `~/.local/share/radare2/cache` directory. This ensures that they are accessible across different sessions, even if the project is closed and reopened later.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this somehow configurable/overridable? I'd like to self-contain my project metadata in my own location... if I change between computers I want to have that metadata available on the git repository of MY project.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


First of all we will create a directory to contain the binar(y/ies) you want to work on. Then you can create a **Makefile** or a shellscript with the commands to run like this:
This workflow demands consistency and discipline from the user. It’s crucial to maintain an organized system to ensure that important metadata isn’t lost, as nothing is auto-saved unless explicitly written into the project script by the user.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not? Can't there just be a configurable timer that auto-saves? As a user I don't want to be consistent with auto-backups, even Emacs does that :P :P


Radare2 also provides a mechanism for users to define actions that are performed when leaving the shell. The `cmd.exit` configuration variable can be set to run specific commands or scripts when the session ends. For example, you could create a `.r2.js` script that saves all comments and function names before closing the session.

However, it’s important to remember that it’s up to the user to manage and manually update project scripts with new flags, analysis commands, or comments. While this approach requires more effort, it offers unmatched flexibility.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, but a timer-based auto-save MUST be provided as well, IMHO.


Radare2 have its own versioning control system. It's like a simple `git`. But also acts as a way to wrap the use of **git** under the same API.
Radare2 includes a built-in version control system that operates similarly to Git, offering project versioning under the command `ravc2` (or its API counterpart, `rvc`). This allows users to manage their project history, track changes, revert to previous versions, and more. Radare2's project versioning system integrates seamlessly with Git, allowing you to choose between Radare2's versioning system or wrapping Git under the same interface.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still very unclear WHY would I choose rvc over git... totally understand why one would use version control, but it's not clear at all (to me) wht your custom version control system would be preferable against git.


### Conclusion

Radare2's versioning system with `ravc2` allows for efficient project management, enabling users to track progress, collaborate, and ensure that their analysis history is well-documented. Whether you use `rvc` or integrate with Git, version control in Radare2 provides flexibility and powerful tools for maintaining analysis continuity.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This reads as a generic non-conclusion? Explains how ravc2 works but not how it really benefits the user in any substantial way versus git?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants