Coder Social home page Coder Social logo

Comments (13)

martinpengellyphillips avatar martinpengellyphillips commented on August 17, 2024 2

Nevermind my last comment - max depth does work as expected!

I was just expecting more of a performance boost, but I see it is actually git remote show origin -n that is taking the time.

from git-project-manager.

martinpengellyphillips avatar martinpengellyphillips commented on August 17, 2024 1

Thanks @felipecaputo ! This works perfectly - with storeRepositoriesBetweenSessions set to false, maxDepthRecursion set to 1 and checkRemoteOrigin set to false, my large list of projects over three roots loads instantly whereas before it would take up to a minute. Thanks again for being so responsive.

from git-project-manager.

felipecaputo avatar felipecaputo commented on August 17, 2024

Version 0.1.5 released with maxDepthRecursion and ignoredFolders config. I hope it will help you.

from git-project-manager.

martinpengellyphillips avatar martinpengellyphillips commented on August 17, 2024

Thanks for this, but I didn't see any performance boost. Looking at master I see the filterDir code commented out - is that intentional / in the release?

https://github.com/felipecaputo/git-project-manager/blob/master/src/gitProjectLocator.js#L53

Also, I think the max depth might work better if the search didn't have to recurse into the .git directory to find it. Instead it would check each directory for a subdirectory of .git. This would allow a depth of 1 to very quickly find projects that are all stored under a common directory without having to also specify the configuration to exclude folders like node_modules.

from git-project-manager.

felipecaputo avatar felipecaputo commented on August 17, 2024

@martinpengellyphillips Sorry for that, I forgot that vcse publishs the local code instead of commited code. I Will fix that ASAP.

And I will make the .git fix in the same release

from git-project-manager.

felipecaputo avatar felipecaputo commented on August 17, 2024

Solved in 0.1.6.

Sorry again @martinpengellyphillips, but now i think it is working fine

from git-project-manager.

martinpengellyphillips avatar martinpengellyphillips commented on August 17, 2024

Thanks for the quick update!

Since updating to 0.1.6 the extension breaks for me with the following error:

threadService.ts:199 [Plugin Host] WARNING: Promise with no error callback:67
threadService.ts:199 [Plugin Host] Object {exception: null, error: Object, promise: Object, id: 67}
threadService.ts:199 [Plugin Host] WARNING: Promise with no error callback:68
threadService.ts:199 [Plugin Host] Object {exception: null, error: Object, promise: Object, id: 68}
shell.ts:480 An unknown error occurred. Please consult the log for more details.e.onUnexpectedError @ shell.ts:480(anonymous function) @ shell.ts:342e.onUnexpectedError @ errors.ts:72u @ errors.ts:87e.onUnexpectedPluginHostError @ extHost.api.impl.ts:469e.handle @ abstractThreadService.ts:100c @ ipcRemoteCom.ts:172f @ ipcRemoteCom.ts:120doNTCallback0 @ node.js:420_tickCallback @ node.js:349
shell.ts:480 e.text.substr is not a function: TypeError: e.text.substr is not a function
    at e.<anonymous> (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:41:17181)
    at e.doElement (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:39:17966)
    at e.li (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:39:17235)
    at e.renderMessage (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:41:16405)
    at file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:41:16181
    at Array.forEach (native)
    at e.<anonymous> (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:41:16157)
    at e.doElement (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:39:17966)
    at e.ul (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:39:17111)
    at e.renderMessages (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:41:16022)

I'll pull master locally and try to debug this further unless it is something you have seen already?

from git-project-manager.

felipecaputo avatar felipecaputo commented on August 17, 2024

In debug the error is not happening, I'm trying to figure it out. Any help is welcome

from git-project-manager.

felipecaputo avatar felipecaputo commented on August 17, 2024

VSCE does not manage well dependencies of dependencies :(

I've figured it out in the worst way, but fixed now in 0.1.9

Sorry for the inconvenience @martinpengellyphillips

from git-project-manager.

martinpengellyphillips avatar martinpengellyphillips commented on August 17, 2024

Works! Thanks.

One thing about max depth - I think it would be best if the max depth check is inclusive rather than the current exclusive (now that the .git subfolder check is performed):

 return (maxDepth > 0) && ((currentDepth - initialDepth) > maxDepth);

to

 return (maxDepth > 0) && ((currentDepth - initialDepth) >= maxDepth);

This would then ensure that the common case of projects directly under projects base path is handled efficiently.

Thanks again!

from git-project-manager.

felipecaputo avatar felipecaputo commented on August 17, 2024

What do you think about get the origin being optional?

There isn't a real necessity for that, it was just an idea of handling cases with projects with the same name but, the label is the path itself so, we can let the repo origin configurable.

from git-project-manager.

martinpengellyphillips avatar martinpengellyphillips commented on August 17, 2024

Yeah - I think that would make sense. For me, the main thing about this extension was to reuse the fact I have .git for all my projects already, so it is a great way to discover projects quickly. I don't really care that much about the origin when looking for a project - I would drop it altogether ;-)

On that note, it might be good to also consider putting the project name first and then the path after (perhaps like you had origin).

project-a /full/path/to/groupa/projects
project-b /full/path/to/groupa/projects
project-c /full/path/to/groupb/projects

This would make the most important information (project name) more visible.

I guess doing that could also help with filtering if name is considered first and then you can narrow down based on path name. So in the following (contrived) example, you would only have to type a rather than artis to select the first project:

/Users/martin/projects/artisan
/Users/martin/projects/bett
/Users/martin/projects/bungle

from git-project-manager.

felipecaputo avatar felipecaputo commented on August 17, 2024

@martinpengellyphillips I've added the configuration to disable the check remote origin, sorry for taking too much time but last sprint was hard to finish

I've forgot the option to show project in the start of the quick pick, I will open a new issue for that and address that in 0.1.11

from git-project-manager.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.