fsprojects / fsprojects/Paket

Add local override for git dependency

Open
#3,316 0 comments 0 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

Feature request, and couldn't find any related issues.

Would it be possible to add support for git dependencies to the paket.local override file?

I have a core repository and multiple dependant applications. The dependent apps use a git dependency to the core's public repository. While developing, I would like to use my local core repository instead of the public repository.

E.g.
paket.dependencies

git https://github.com/forki/AskMe.git 97ee5ae7074b

paket.local

git https://github.com/forki/AskMe.git -> git file:///c:/my/local/path.git

paket.local seems like the right place for this, because it shouldn't change the lock file, and restore is the most convenient timing for it to update from the local repository.

Known workarounds

I'm currently working around this by using paket.local, but think I'm being blocked by #3116.
It feels like I could technically do by having a fake nuget reference, which I replace with my local repository

nuget MyPackage -> git file:///c:/my/local/path.git Packages: /bin/

and add a reference to /paket-files/localfilesystem/..., but that seems very hacky.

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 by tracing how paket.local is read during restore, using the paket.dependencies and paket.local examples in the issue as the expected inputs. Check how Git dependencies are resolved and how the lock file is handled. Done means a local Git repository can override the matching dependency during restore without changing the lock file.

Written by the indexing model from the issue text.

Assessment

Tech stack
git
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.