Giter Site home page Giter Site logo

Comments (10)

lonnietc avatar lonnietc commented on June 14, 2024

Hello @SegaraRai

I have installed VS2022 and still am not able to compile MergeFS on my Windows 11 system with Dokan2.

Let's discuss MergeFS since I need to use it as a base for a project and would like to discuss it more with you.

Can you please help?

Thanks

from mergefs.

SegaraRai avatar SegaraRai commented on June 14, 2024

Sorry, I have neglected this project for a long time and did not notice.
I believe it was built with Visual Studio 2019 during development, but I just tried it here as well and am getting compile errors.
For now I don't plan to resume active development, but I will try to fix the compile error at least.
Please note that I may update to Visual Studio 2022 in the process.

from mergefs.

SegaraRai avatar SegaraRai commented on June 14, 2024

I've done following changes:

  • Fixed compile errors (many were related to C++/WinRT updates)
  • Updated dependencies
    • dokany, nlohmann-json, yaml-cpp, 7-zip, libflac
  • Updated build tool to Visual Studio 2022
  • Updated README.md
  • Added Example
  • Added LICENSE file
    • This project is now licensed under the MIT License and you can use it freely.
  • Added pre-built files to releases

The build instructions and usage are in README.md.
Also, the pre-built version has been added to the Releases.

I have tried it on my Windows 10 and confirmed that it works at a glance.
However, there seems to be a bug that unmounting not performed properly if a directory is specified as the mount point.
There may be other bugs besides this one.
I have also not checked whether it works on Windows 11, as I do not own it.

from mergefs.

lonnietc avatar lonnietc commented on June 14, 2024

Hello @SegaraRai ,

Hope that you are doing well today. I truly appreciate you updating MergeFS.

On that note, does this mean that MergeFS is now updated to use Dokany 2 (latest is 2.0.6) and VS2022?

I am going to download the latest versions and give them a try for both the binaries and source code.

Also, for my project, of which I would still like to discuss with you, it needs to be able to union connections to different SSH servers for a type of Hybrid-P2P approach so connections are dynamically added. I would like to see if you might be able to assist in this part and could even offer you a small contract fee to help in it.

I see that MergeFS has a plugin approach and that might make it easier to set up some type of SSH plugin, maybe.

Also, do you have some simple documentation on the current usage to add directories to be unionized in the mount from the CLI (command line interface) which is what I am mostly interested in doing?

Thanks again and have a great day, my friend.

from mergefs.

lonnietc avatar lonnietc commented on June 14, 2024

@SegaraRai Just an update.

I was able to compile with my VS2022 and Dokan 2 for Windows 10 x64. Note Windows 11 is almost the same in the core but a little different in the look-feel.

Can we now talk more about being able to develop an SSH plugin to mount SSH servers and also doing it dynamically as well from the CLI as this is what I really need to be able to do in MergeFS.

Any discussion or help on this part would be greatly appreciated as well.

Thanks so very much for your help and for updating MergeFS.

from mergefs.

lonnietc avatar lonnietc commented on June 14, 2024

@SegaraRai on Testing the latest MergeFS

To run some basic tests, I started up a CMD terminal and placed the MergeFSMC.exe, MergeFSCC.exe, LibMergeFS.dll, and Plugins directory inside the "Examples" folder for the basic setup.

1.) Test: MergeFSMC

.\MergeFSMC.exe .\Example.mfcfg

Results: It mounted the drive "M:" and merged the directories as expected.

2.) Test: MergeFSCC

.\MergeFSCC.exe .\Example.mfcfg

Results: All I get is command prompt "MFSCC>" below the invocation with no M: drive mounted or now information on what is viable to enter as commands. Please help on what commands are available and possible for the CLI version, ok?

Not sure how the Plugins are used but would like to be able to test them out as well, if possible.
Thanks again

from mergefs.

SegaraRai avatar SegaraRai commented on June 14, 2024

On that note, does this mean that MergeFS is now updated to use Dokany 2 (latest is 2.0.6) and VS2022?

Yes. This project now uses Dokany 2 and VS2022.

To run some basic tests, I started up a CMD terminal and placed the MergeFSMC.exe, MergeFSCC.exe, LibMergeFS.dll, and Plugins directory inside the "Examples" folder for the basic setup.

MergeFSMC (GUI version) is relatively well developed.
As for MergeFSCC (CLI version), I made it just for the sake of checking its operation, so I'm not sure if it works correctly, if the required functionality is implemented, or if the code is useful.
Thus, this project does not have a CLI version that will work as-is; if you need a CLI version, you may want to develop a new one.

As for plugins, the DLLs in the Plugins folder are automatically loaded.
https://github.com/SegaraRai/MergeFS/blob/v0.1.0/MergeFSMC/Main.cpp#L628-L630


Sorry, but I have already lost most of my interest in MergeFS and my personal life is also pretty busy, so I can't help with the development of the SSH plugin.

I don't know exactly what you want to do (especially about why you need unionize), but in any case, this project is not very well designed and it might be better to create it from scratch if possible.

Thank you for your interest in this project.

from mergefs.

lonnietc avatar lonnietc commented on June 14, 2024

Hello,

Thanks for getting back to me and for the information provided.

Regarding the MergeFSCC CLI version as I understand that you made it for your own use of checking its operation, can you tell me what you can enter at the prompt?

What I am trying to figure out in the CLI version is what commands you were able to use and if you can do simple things like mount a drive and some directories to that drive. Mostly just trying to figure out what you were able to do from the "MFSCC>" prompt.

I understand that many things may not work, and I will be trying to decide how to proceed to carry on some of the effort to extend it with an SSH plugin, perhaps.

For the Plugins, I wanted to be sure that there were no special "tags" in the ".mfcfg" file to handle things like the archive, Cue, etc. files.

Also, in the "Example.mfcfg" file, I see"

# metadata file
metadata: metadata.db

And am wondering what is the purpose of the database file?

Also, I understand about you have already lost interest in the project and have moved on, so that it not a problem at all and I just wanted to ask since I think that MergeFS will be a good component for the new P2P Virtual Reality 3D User Environment eCommerce project in which people can interact and build worlds that is being developed now and MergeFS will be an integral part of the filesystem since it will give a good base to design from going forward.

I will do what I can and work with it to see how things might work out.

Thanks again for your time and effort

from mergefs.

lonnietc avatar lonnietc commented on June 14, 2024

Hi @SegaraRai

Another update, my friend.

I was looking though the code in the MergeFSCC and found some basic commands:

int CommandHelp(const std::deque<std::wstring>& args) {
  if (args.empty()) {
    std::wcout << L"add plugin" << std::endl;
    std::wcout << L"remove plugin" << std::endl;
    std::wcout << L"add mount" << std::endl;
    std::wcout << L"remove mount" << std::endl;
    std::wcout << L"add source" << std::endl;
    std::wcout << L"remove source" << std::endl;
    std::wcout << L"mount" << std::endl;
    std::wcout << L"unmount" << std::endl;
    return 0;

I am now searching for the proper syntax for each one so that I can:

  1. Mount a drive
  2. Add plugin(s)
  3. Add sources

Then open the drive to see if it worked after which I will test removing source, remove mount, and then unmount the drive.

If you could please give me some examples and clarifications on this, then that would be exactly what I need for my initial explorations and efforts.

Thanks, and have a great day

from mergefs.

lonnietc avatar lonnietc commented on June 14, 2024

Hello @SegaraRai,

Happy New Year and best wishes for 2023.

I have been reviewing the MergeFS code and think that I will try to build an SSH plugin that I need since I really like the Plugin approach.

Maybe using libCurl will be the way to go since it also offers more flexibility but am still researching it more as well.

Another thought, was that maybe I will investigate how it might be possible to call C# DLL's as a plugin just to see if it is possible.

Thanks again and have a great day.

from mergefs.

Related Issues (13)

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.