Giter VIP home page Giter VIP logo

Comments (8)

rashil2000 avatar rashil2000 commented on July 18, 2024 1

Not yet. Reason being, I rely on other CLI utilities for disk usage now (for example, gdu in Go or dua in Rust) as PowerShell is just too slow for this work.

However, it has been partly fixed in the issue I linked above, see gngrninja/PSFolderSize@adf71c7.

from powercolorls.

rashil2000 avatar rashil2000 commented on July 18, 2024

I think this seems to be a common problem with PS modules, as I had opened the same issue in this repository too about a month ago - gngrninja/PSFolderSize#20

from powercolorls.

gardebring avatar gardebring commented on July 18, 2024

If you have time I welcome a contribution to fix this. Otherwise I will look into it when I have the time :)

from powercolorls.

rashil2000 avatar rashil2000 commented on July 18, 2024

Upon some rudimentary research, I found that this line https://github.com/gardebring/PowerColorLS/blob/main/src/Private/FileAndFolderFunctions.ps1#L112 would require some object filtering in between the pipes; excluding directories that have the ReparsePoint attribute (source - https://stackoverflow.com/questions/817794/find-out-whether-a-file-is-a-symbolic-link-in-powershell).

Is this correct? Note that this might require additional checks for figuring out junctions/hardlinks too.

I have my uni exams, I'll definitely try to send a PR once they're done.

from powercolorls.

gardebring avatar gardebring commented on July 18, 2024

Hi again @rashil2000
You are definitely at the right point in the code.
I did however try to create a symlink setup that should create recursion but it seems the powershell code in fact did not do this.

from powercolorls.

rashil2000 avatar rashil2000 commented on July 18, 2024

Yes, it seems like when we specify the ReparsePoint attribute, it just excludes those folders from listing but still recurses into them.

PowerShell 6+ doesn't follow symlinks by default, but provides a FollowSymlink flag in case we want to recurse into them.

However, for 5.1, we'll need to create a custom Get-ChildItem function, the one specified in this brilliant answer - https://stackoverflow.com/a/55544084

I tried using this and gives correct results for now. I'll do some more testing and send a PR :)

from powercolorls.

eabase avatar eabase commented on July 18, 2024

@rashil2000
any pr on the horizon?

from powercolorls.

eabase avatar eabase commented on July 18, 2024

Just keep in mind the difference between hardlinks, junctions, symbolic links, shortcuts, etc. Lot's of things there...

from powercolorls.

Related Issues (12)

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.