Upload and Synchronize not compatible (/ timestamp) ?

Here you can discuss the universal Integrated Development Environment for OpenVMS.
Post Reply

Topic author
l.cedric
Valued Contributor
Posts: 51
Joined: Thu Jul 18, 2019 8:18 am
Reputation: 0
Status: Offline

Upload and Synchronize not compatible (/ timestamp) ?

Post by l.cedric » Tue Nov 24, 2020 12:16 pm

Hello,

i've just tried the new v1.5.34 and thought of an old use case we didn't solved since last year (on a v0.0.21)
So yes, it worths a new try :D. (There were some exchanges by private mails with the VMS-IDE team, so it's to share it here too)

Since this alpha version we work like this:
  • Cloning from Git our 14k files to our PC
  • Uploading these 14k files to the OpenVMS server (~5 minutes). The synchronize function takes too long for that.
  • Editing on our PC
  • Quick Uploading to the OpenVMS server
  • Buidling on the OpenVMS server
But for a very few files, which are mandatory generated on OpenVMS, we would wish to use sometimes the Synchronize function (with "overwrite"), to download automatically and quickly on our PC these files, without using a FTP client (like Filezilla for example). BUT just these very few files ...

If after the previous Upload i try just 1 Synchonize without editing any files, logically nothing should happens. Am i right ? ;) Unfurntunately strange things appears ... :?
  1. The good news first : ~ 10500 files were correctly not uploaded again
  2. But i'm notified about ~40 files which are needed to be downloaded manually ... but unnecessarily
  3. And moreover ~ 3500 files were uploaded again but unnecessarily again
My investigation for each typology is :
  1. Exactly the same timestamp on OpenVMS and on PC
    1_OK.png
  2. Exactly the same timestamp, but need to be downloaded :!: :?:
    2_down.png
  3. Not exactly the same timestamp, which was wrongly set by the Upload function :!: :?:
    3_up.png
My VSCode config:

Code: Select all

"connection": {
        ...
        "supportSetFileTime": true,
        "unzipCmd": "unzip -oo",
...
"synchronize": {
        "downloadNewFiles": "skip",
        "keepAlive": false,
        "preferZip": true,
        "forceLocalTime": true,
        "purge": true,
        "setTimeAttempts": 3
    },
    ...
How can i deal with my use case ?
Thanks in advance
Last edited by l.cedric on Tue Nov 24, 2020 12:21 pm, edited 1 time in total.


jfp
Contributor
Posts: 16
Joined: Wed Jun 17, 2020 6:34 am
Reputation: 0
Status: Offline

Re: Upload and Synchronize not compatible (/ timestamp) ?

Post by jfp » Thu Dec 10, 2020 6:35 am

Hello,

Why not synchronize using git?
I do this with Mercurial, but I don't see why you can't using git.
And this will allow you to use CI tools if your git devops platform has this option.

JFP


Topic author
l.cedric
Valued Contributor
Posts: 51
Joined: Thu Jul 18, 2019 8:18 am
Reputation: 0
Status: Offline

Re: Upload and Synchronize not compatible (/ timestamp) ?

Post by l.cedric » Thu Dec 10, 2020 6:58 am

Hello JFP,

/ "Why not synchronize using git?"
But how exactly ?
  • I already use the integrated git into VSCode, and it works well. So for just to synchronize my PC branch with our GitLab.
  • I do not use it between our OpenVMS server and my PC => i use VMS-IDE for that (Upload or Quick Upload which work well too)
  • But i would wish to transfer few files (mms source files generated on OpenVMS by our complicated build script) on my PC thanks to VMS-IDE too.

Cédric


jfp
Contributor
Posts: 16
Joined: Wed Jun 17, 2020 6:34 am
Reputation: 0
Status: Offline

Re: Upload and Synchronize not compatible (/ timestamp) ?

Post by jfp » Thu Dec 10, 2020 10:19 am

Hello Cédric,
But how exactly ?
Using git on VMS side. If I'm correct there is a partial git implementation on VMS (vgit).

I do this, with Mercurial but same mechanism, on the VMS side I do "hg push/pull/commit/amend/..." the same way I do this on the desktop side (except that most of the time on my PC I use a plugin of VSCode or TortoiseHG to merge or explore the repository)
For example on repository at https://foss.vmsgenerations.org/openvms/python/cpython, many of the changesets are push from VMS (others from a Linux box or my Windows workstation, and a few from my Mac laptop)

Jean-François


sergey_vorfolomeev
VSI Expert
Valued Contributor
Posts: 98
Joined: Thu Aug 22, 2019 12:17 am
Reputation: 0
Status: Offline

Re: Upload and Synchronize not compatible (/ timestamp) ?

Post by sergey_vorfolomeev » Thu Dec 10, 2020 10:37 am

The 'date modified' is returned by SFTP server installed on VMS side, and it processes time zones difference.
Uploading via ZIP sets file modification date on the moment when file is unzipped, not from the file. This behavior can be changed by setting "unzipCmd" parameter. But in this case the difference in time zones cannot be processed.
Therefore, we can use either "Uploading via ZIP" or "Synchronization". But not both.


Topic author
l.cedric
Valued Contributor
Posts: 51
Joined: Thu Jul 18, 2019 8:18 am
Reputation: 0
Status: Offline

Re: Upload and Synchronize not compatible (/ timestamp) ?

Post by l.cedric » Thu Dec 10, 2020 11:04 am

Thanks Jean-François,
I understand better :)

about 3 years ago we tried vgit without success (on HPE OpenVMS).
Our administrator did not succeded to install it correctly and/or bugs prevent us to use it.
It's why we have chosen another way with VMS-IDE for the team.
We wanted to use VSCode too & GitLab (recommended by our corporate DevOps support).
(I have shared all our process in this post)

In few months, we received our new development server (i6) with VMS from VSI 8-)
Perhaps no more bugs for vgit => It will worth a new try :!:

But i would prefered just one tool (VMS-IDE) which do ~ everything

Kind regards
Cédric

Added in 5 minutes 33 seconds:
Thanks Sergey
It's a pity for me :(

Kind regards
Cédric


jfp
Contributor
Posts: 16
Joined: Wed Jun 17, 2020 6:34 am
Reputation: 0
Status: Offline

Re: Upload and Synchronize not compatible (/ timestamp) ?

Post by jfp » Fri Dec 11, 2020 2:04 am

Hi Cédric,

I (and some customers) use heptapod (https://heptapod.net/) which add Mercurial support to gitlab.
So you can have Mercurial and git repository into gitlab which is I agree one of the most advanced devops platform, probably superior to github.
We have done most of the work to add support of CI with OpenVMS.
For example https://foss.vmsgenerations.org/ use it.

Jean-François


Topic author
l.cedric
Valued Contributor
Posts: 51
Joined: Thu Jul 18, 2019 8:18 am
Reputation: 0
Status: Offline

Re: Upload and Synchronize not compatible (/ timestamp) ?

Post by l.cedric » Fri Dec 11, 2020 6:33 am

Hi Jean-François,
thanks for this informtation
Cédric

Post Reply