question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Version Tags/Branches

See original GitHub issue

Is your feature request related to a problem? Please describe. PyPi is really the only versioning in use but development moves much faster than that and there is no unified way to ensure, for example, a version of angr matches a version of CLE where some feature/bugfix was implemented. #1448 will partially resolve this but I can’t checkout a __version__ from a repo.

Describe the solution you’d like

  1. Add git tags to the repos for packages’ major/minor releases.
  2. When changes are merged to multiple repos for features/bugfixes (e.g., the ARM CFG party branches), require at least a minor version increment across them all and document it somewhere.
  3. Bonus: I’m partial to an “angr suite” version number that documents/pins each repo’s major/minor/revision so we know, for example, “Feature X came in ‘angr suite’ v9.1.234, which uses angr v9.1.3, CLE v9.2.1, claripy, archinfo, etc etc”.

Please include a sample of what should work if this feature is implemented. Like with #1448, scripts can check package.__version__ and documentation can specify major/minor versions that can be checked out via git tags.

Bonus: Scripts could also check something like angr.__platform__ (or whatever) where the “angr suite” version lives. My documentation can specify “we target ‘angr suite’ v9.1.234; based on angr/angr/suite_ver.md checkout the tagged versions for each package.”

Describe alternatives you’ve considered For some internal projects, the only practical solution for me is manually documenting commit hashes across all the repos.

Additional context It helps with documentation for projects, papers, write-ups, etc. For example, on CHESS, I’d like to document that my plugins and patches require specific major/minor versions so I can target them and not worry about breaking changes merged to master in the future.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:11 (9 by maintainers)

github_iconTop GitHub Comments

1reaction
rhelmotcommented, Mar 28, 2019

Yes, we can specify dependencies on specific hashes in a pypi package.

0reactions
github-actions[bot]commented, Aug 14, 2022

This issue has been closed due to inactivity.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Git - Tagging - Git SCM
Git supports two types of tags: lightweight and annotated. A lightweight tag is very much like a branch that doesn't change — it's...
Read more >
Tags vs Branches in Git - Medium
A branch is an active line of development whereas a tag is a an immutable reference to a specific commit on a branch....
Read more >
How is a tag different from a branch in Git? Which should I use ...
A tag represents a version of a particular branch at a moment in time. A branch represents a separate thread of development that...
Read more >
git tag | Atlassian Git Tutorial
Tagging is generally used to capture a point in history that is used for a marked version release (i.e. v1.0.1). A tag is...
Read more >
Git/Advanced - Wikibooks, open books for an open world
The difference between tags and branches are that a branch always points to the top of a development line and will change when...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found