fsprojects / fsprojects/Paket

paket init should pin itself

Open
#3,320 6 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
F#
Stars
2.1k
Forks
528
Avg merge
1d 12m
Merged PRs (30d)
54

Description

Description

paket.exe init should pin the version of itself into paket.dependencies

Scenario

Given paket.exe is available in version 1.2.3
When one wants to initialize its repository
Then paket.exe init is called

Expected behavior

The command generates paket.dependencies file with this content

version 1.2.3
source https://www.nuget.org/api/v2

Actual behavior

The command generates paket.dependencies file with this content

source https://www.nuget.org/api/v2

Two possibilities
A. Introduce an option, e.g. --pin. The behavior is backward compatibility.
B. Make it as the standard behavior. The behavior is a "breaking change"

I prefer B, because one of the many advantage of paket is pinning the version of the (transitive) dependencies. So it is only logical to pin the version of paket itself.

I can submit a PR.

Contributor guide

No contributing guide indexed for this repository

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 with the implementation and tests for the paket.exe init command, then trace how it writes paket.dependencies. Compare the generated file with the expected version 1.2.3 and source lines, and resolve whether pinning is standard behavior or requires an option. Done means initialization produces the agreed pinned output with coverage for the chosen behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
fsharp
Domain
cli, tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.