MVVS: MV Basic for Visual Studio

 View Only
  • 1.  Point of clarification - Git location

    Posted 04-28-2023 16:56

    I am currently using VSCode using the Remote SSH tools and modifying code on the server. The repository on the Linux server is actually configured as a git instance.

    It's my understanding, using the MVVS extension, the git repository is on the user's PC or shared drive (OneDrive) but the files on the Linux server are not actually a git repository. The net result of this is that the version of a program on the server is always the latest saved version, regardless of branch.

    It appears that this SFTP extension works well for keeping items in the local repository uploaded to the server. Any other suggestions?

    This could actually simplify life to some extent. The cautionary tale is that if someone modifies an item on the server side, it must be manually pulled back to the user's repository. Or, is there an "automagic" means of doing that? Also, any items ID's may need to be converted to URL's if they include characters such as '*', '\', etc.

    Thanks, in advance!



    ------------------------------
    Jeff Teter
    Woodforest National Bank
    The Woodlands, TX
    ------------------------------


  • 2.  RE: Point of clarification - Git location

    Posted 05-01-2023 09:44

    Hi Jeff,

      MVVS can compile and catalog MV BASIC code. When it does it, it first copies the code in your local machine to the U2 server, and then compile it and catalog the updated code on the server, so I think it's not a good idea to make the BP folder of the server a git repository.
      What we do is to have a GitHub repository where you initially upload all BP and INCLUDE files. Then you clone that repository locally in your machine, making sure that the name of the local folder is the same name as the UV Account name, otherwise, you can't compile with MVVS.
      So you work on your local files, and when you compile using MVVS, your local code is copied and then compiled in the server.
      HTH,
      Enrique



    ------------------------------
    Enrique Ignacio Murphy
    Software Engineer
    Aleator SRL
    Argentina
    ------------------------------



  • 3.  RE: Point of clarification - Git location

    Posted 05-01-2023 09:56

    Forgot to say that besides compiling code to be copied to the U2 server, you pull and push from the GitHub repository, to syncronize with the other developers. MVVS has a GitHub extension that simpifies this.

      Regards,
      Enrique



    ------------------------------
    Enrique Ignacio Murphy
    Software Engineer
    Aleator SRL
    Argentina
    ------------------------------



  • 4.  RE: Point of clarification - Git location

    Posted 05-01-2023 16:16

    Thanks for the responses. We're not using GitHub (due to corporate policy) but Azure is functionally the same. In our configuration, each developer has their own copy of source and they all feed into the Azure repo before any changes to to our lab and, eventually, production.



    ------------------------------
    Jeff Teter
    Woodforest National Bank
    The Woodlands, TX
    ------------------------------



  • 5.  RE: Point of clarification - Git location

    Posted 05-01-2023 15:29

    I use the SFTP extension with Linux and Windows (with OpenSSH installed) and it works great.

    There are two settings that reduce friction, UploadOnSave uploads to the server every time you save locally.  DownloadOnOpen can do the same in reverse, but it's a little more dangerous - I instead manually right click on the program and choose "Download File" when starting to work with a new program, and if there are any unexpected changes then review in the source control view.

    I guess theoretically two programmers could be working on the same program and overwrite each other, but in the environments I work in that's really unlikely.

    This approach means I have three copies of the code - one local repo on my desktop, the in-process code being run on the server in dev, and the main "blessed" repo with a production branch I check in to when deploying.  Because of git and the SFTP extension it's easy to keep all three in the expected state and avoid confusion, while having a good safety net to make changes without fear.



    ------------------------------
    Ian McGowan
    Principal Consultant
    Rocket Forum Shared Account
    ------------------------------



  • 6.  RE: Point of clarification - Git location

    Posted 05-01-2023 16:19

    Thanks for the response. We have been trying to manage the Git functions on the Linux server and, in the long run, it appears that managing via Windows and SFTP will actually be a bit easier. It's certainly easier to get the current version of Git on the PC rather than the Linux server. Still a lot of "old habits" to unlearn...



    ------------------------------
    Jeff Teter
    Woodforest National Bank
    The Woodlands, TX
    ------------------------------



  • 7.  RE: Point of clarification - Git location

    Posted 05-09-2023 16:03

    Let me expand my question a bit. I am currently using the SFTP extension for coordinating files between the local Git repository and the Linux file. Using this extension works pretty well for straight file name transfers but it does not work if the Linux side contains invalid characters. And, our source code controlled files include control parameters, not just programs to be compiled.

    In another thread, I noticed a reference to a remote file share. I'm wondering if that's Samba or similar and if that takes care of the name coordination? If that's the preferable solution, is there documentation available for that? We are using Samba for other functions, but not this, even thought it probably makes sense.

    Thanks!



    ------------------------------
    Jeff Teter
    Woodforest National Bank
    The Woodlands, TX
    ------------------------------