rstudio / rstudio/pins-python

Insure roundtrip of exact version string by not making Version.version a property

Open
#15 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

core:meta
Dominant language
Python
Stars
59
Forks
11
PR merge metrics
No merged PRs in 30d

Description

In pins, there is (potentially) relevant version information stored at two levels.

  • version name: this is the component of the actual path to the data. e.g. <some_board>/<pin_name>/<version_name>.
  • data.txt file: has entries pin_hash and created.

In the current pins implementation the version name is a function of the info in the data.txt file. However, because the version name is important for specifying where a pin is, I would avoid deriving it from created and pin_hash. At the point that we pull data.txt, we know exactly what version name is...!

Right now, there is a Version.version property that calculates it from created and pin_hash. Let's allow that attribute to be set independent of those two things.....

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Version implementation and the code that reads data.txt, then trace how the version name is recovered from stored metadata. Verify how an exact version name is lost during a round trip and identify the existing tests around version handling. Done means the original version name survives independently of created and pin_hash.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.