-
Notifications
You must be signed in to change notification settings - Fork 526
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
Extend github sourcing to any git repo #284
Comments
how does npm handle the download? does it assume git is in path? |
@forki don't forget that Paket is used mostly on Windows. So users don't have git installed but some GUI clients with internal git, etc. You should not compare it with tools for unix platforms where everything is in path. |
LOL. That's not true at all. Even if you use GitHub for Windows, you still have |
I don't think paket is mostly used on Windows, but yes git is not
|
https://www.npmjs.org/doc/misc/npm-config.html#git git npm has a config option where you can give it a path to git if its not in your path |
That's exactly how we do it in FAKE. Seems the way to go.
|
Maybe using libgit2sharp would be better than using git command?
Not sure what's better.. But 👍 for the idea! |
👍 |
Is this the right place to (suggest / ask for) support for private github repos? |
I strongly support this feature to be implemented with "git in path". If git is not available, paket can politely tell the user to require it. Thanks for your work! |
There is a first alpha version available. This feature will come with Paket v3. |
Are you using LibGitSharp now? If so, I thought it didn't support SSH repositories, or has that changed? |
@CumpsD according to the documentation
|
We use the installed git.exe
|
I have been playing with this and have a little trouble understanding the use model. I want to pull down a whole git repository, so I put a "git" line into the paket.depedencies and install, and it does that just fine. But where do I go from here? I expected I would run a build using the Background: I was hoping to use Paket as an easy way to switch between binary (NuGet) and source (git repo) references for individual packages, for cases where you occasionally need to debug into a library.. |
At the moment the only supported way is building nuget packages. But we
|
Yes, referencing assemblies. Let's say in my fsproj I have a reference to a dependent assembly that I satisfied via Paket/NuGet. I would be able right-click on the reference in the solution explorer and select a "get source" menu entry, which would, via Paket, retrieve the source repository for the dependent assembly, load its corresponding csproj file and replace any reference to the binary with a project reference throughout the solution. Bascially a low-friction way to go from binary/Nuget to source/git and back as needed. |
how about this (potential feature): in paket.references:
By uncommenting one of the two lines and running "paket install" you could enable the corresponding setting. |
maybe we can do it in the same line!? |
Initially this sounded like a good proposal, but let's think about the implications: I assume there would need to be two entries for MyNuGet in the paket.dependencies: one for the Nuget, and one for the source, and they would need to be tied together somehow. The "obvious" assumption that the NuGet package name corresponds to the git repository name is probably invalid. Which git commit would Paket select on install or update? Initially, you would want whatever is specified in paket.dependencies. But if you switch to source, you would eventually make changes, so now your local repository under paket-files is in a different state. Then what should Paket do on install or update? Should an update change the version specification in paket.lock to be different from paket.dependencies?That doesn't sound right... Also, what if you had two references to MyNuGet in different projects, where one used the NuGet binary and the other used the source version from git, you'd end up with two different versions of MyNuGet in the end, which is not what you want. So maybe the switching needs to happen in paket.dependencies, not paket.references, for that reason? Should we discuss this in #334? |
yes #334 is better place |
Implemented in v3 |
How do I reference a private git (e.g. Bitbucket) repo? Will it ask password on every build or can it be set as env variable? https://fsprojects.github.io/Paket/git-dependencies.html didn't have any info of private repositories... |
It uses your local git installation and will use password from it's
password store / ssh key
Tuomas Hietanen <[email protected]> schrieb am Do., 30. Aug. 2018,
21:20:
… How do I reference a private git (e.g. Bitbucket) repo? Will it ask
password on every build or can it be set as env variable?
https://fsprojects.github.io/Paket/git-dependencies.html didn't have any
info of private repositories...
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#284 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNA3yGZ0SONL1z3CTyQAOd0rO9h6Aks5uWDr2gaJpZM4CxeS4>
.
|
There should be support for any git repository to be sourced as a package.
This could be done with a similar syntax to npm:
git://github.com/user/project.git#commit-ish
git+ssh://user@hostname:project.git#commit-ish
git+ssh://user@hostname/project.git#commit-ish
git+http://user@hostname/project/blah.git#commit-ish
git+https://user@hostname/project/blah.git#commit-ish
The text was updated successfully, but these errors were encountered: