Closed maraf closed 5 years ago
Few questions / comments:
How did you solve #27? E.g. do you append tags: GitExtensions
to all search terms? Do you first filter for tags and afterwards for dependency on GitExtensions.Extensibility
?
When search term is "g", it won't find "GitExtensions.SVN"; the user must type "git", or "extensions".
MS is testing a new search on nuget.org these days. Might be the reason for some strange results. https://devblogs.microsoft.com/nuget/new-and-improved-nuget-search/
It doesn't work at all when source is a folder on disk.
What is the use case for this? Do you use it for debugging or is the PM internally doing this at some point?
It seems it doesn't work well on MyGet.
Any idea why? If not, I'm inclined to take this behaviour as a normal bug - if it affects only not preconfigured feeds (i.e. any feed except nuget.org).
A solution for the #27.
Please write Closes #27
or Resolves #27
. This way the issue will be automatically closed when the PR is merged. More info: https://help.github.com/en/articles/closing-issues-using-keywords#about-issue-references
Sorry for being so brief in PR description...
All searching is now in form of id: {searchTerm} tags:GitExtensions
. This pre-filters packages marked as GitExtensions, than it loads a dependency graph (one query per package) and checks if dependency on GitExtensions.Extensibility
exists.
Not sure, it seems like they split package id by pascal-case and dots and that it needs to match whole word (just observation).
A folder on disk is a valid NuGet feed. I'm using it during debugging.
Today I'm going to investigate, don't have any clues yet.
Ook.
It's a draft because it only works on nuget.org, today I'm going to give it a bit more time.
it seems like they split package id by pascal-case and dots and that it needs to match whole word (just observation).
I made the same observation. Searching for GitExtensions.SVN
or id:GitExtensions.SVN
or id:"GitExtensions.SVN"
always gives results similar to Git OR Extensions OR SVN
. Resulting in >10000 hits, although there is a package with the very same ID. Pretty useless for our case.
Anyhow, searching for id:{searchTerm} tags:GitExtensions
seems to entirely avoid the flood of not matching packages :+1:
@mast-eu Last thing I'm considering is skipping id search on feeds and filter packages in PM. It's quite dirty, but until we have hundreds of plugins, it will work. Thoughts?
Getting all packages with tags:GitExtensions
from all configured feeds directly on startup? IMHO that's ok.
👍
On Wed, Aug 28, 2019, 10:19 PM Martin Steinisch notifications@github.com wrote:
Getting all packages with tags:GitExtensions from all configured feeds directly on startup? IMHO that's ok.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/gitextensions/gitextensions.pluginmanager/pull/30?email_source=notifications&email_token=ABBTEXQQEGHSYXF5RHMDOW3QG3FTVA5CNFSM4IQIHBUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5MF77A#issuecomment-525885436, or mute the thread https://github.com/notifications/unsubscribe-auth/ABBTEXUWX2LHVMTZU4GIGFTQG3FTVANCNFSM4IQIHBUA .
I still need to fix two tests...
I have removed NuGet.Client update, because the never version doesn't support reordering of feeds, which we currently use. We can do the update later...
FilterAsync?
On Fri, Aug 30, 2019, 4:54 PM Marek Fišera notifications@github.com wrote:
@maraf commented on this pull request.
In src/PackageManager.NuGet/Services/INuGetPackageFilter.cs https://github.com/gitextensions/gitextensions.pluginmanager/pull/30#discussion_r319522819 :
using System.Threading.Tasks;
namespace PackageManager.Services { public interface INuGetPackageFilter {
- NuGetPackageFilterResult IsPassed(IPackageSearchMetadata package);
- Task
IsPassedAsync(SourceRepository repository, IPackageSearchMetadata package, CancellationToken cancellationToken); Any suggestions? Does GetFilterResultAsync sounds better?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/gitextensions/gitextensions.pluginmanager/pull/30?email_source=notifications&email_token=ABBTEXW2ZRJC7G25RIYATH3QHERBJA5CNFSM4IQIHBUKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCDH3BYQ#discussion_r319522819, or mute the thread https://github.com/notifications/unsubscribe-auth/ABBTEXR4AEXRQ2PLD7JEOJLQHERBJANCNFSM4IQIHBUA .
Thank you
Resolves #27.
All searching is now in form of
id: {searchTerm} tags:GitExtensions
. This pre-filters packages marked as GitExtensions, than it loads a dependency graph (one query per package) and checks if dependency onGitExtensions.Extensibility
exists.Searching using nuget.org search syntax (https://docs.microsoft.com/en-us/nuget/consume-packages/finding-and-choosing-packages#search-syntax) is not ideal.
When search term is "g", it won't find "GitExtensions.SVN"; the user must type "git", or "extensions". This behavior can be even seen on the web:
It seems it doesn't work well on MyGet.
It doesn't work at all when source is a folder on disk.
Solution