mkloubert/vs-deploy

Deploy output log does not match string which is tested against exclude pattern

LukasDrude opened this issue · 1 comments

Visual Studio Code 1.22.2
Deploy 14.0.0

I use deploy packages with sftp with an exclude list. I get deploy log messages such as these with leading slash:

Deploying '/.gitignore' to '/net/vol/ldrude/projects/2017/project_dc'... [OK]
Deploying '/eval.bash' to '/net/vol/ldrude/projects/2017/project_dc'... [OK]
Deploying '/Makefile' to '/net/vol/ldrude/projects/2017/project_dc'... [OK]

However, I have to write exclude entries like these without the leading slash:

".vscode/**",
".idea/**",
"notebooks/**",

I suggest to either modify the deploy log messages or to at least add a few examples to the relevant Wiki page. Does this also depend on whether minimatch or node-glob is used?

Interestingly [1] uses ".vscode/**" as an exclude pattern while [2] uses a leading slash. Even worse, in issue comments [3, 4] both ways seem to be recommended.

[1] https://github.com/mkloubert/vs-deploy/wiki/target_batch
[2] https://github.com/mkloubert/vs-deploy/wiki/examples_php
[3] #57 (comment)
[4] #57 (comment)

This is my full settings.json:

{
    "python.unitTest.unittestArgs": [
        "-v",
        "-s",
        ".",
        "-p",
        "test*.py"
    ],
    "python.unitTest.unittestEnabled": true,
    "deploy": {
        "packages": [
            {
                "name": "project_dc",
                "exclude": [
                    "**/__pycache__/*",
                    "**/.git/**",
                    "**/*.pyc",
                    "**/*.hdf5",
                    "**/.DS_Store",
                    "*built*",
                    ".vscode/**",
                    ".idea/**",
                    "notebooks/**",
                    "laptop_notebooks/**",
                    "kaldi/**"
                ],
                "deployOnSave": true,
                "targets": [
                    "..."
                ]
            }
        ],
        "targets": [
            {
                "type": "sftp",
                "name": "...",
                "description": "...",
                "dir": "...",
                "host": "...", "port": ...,
                "user": "ldrude",
                "privateKey": ".../.ssh/...",
                "agent": "/usr/bin/ssh-agent",
                "agentForward": true
            }
        ]
    }
}

Hello! How do you specify only files in the project root folder and does not include any files with the same extension in other folders? For example, I want to exclude/ignore only the composer.json in the project root?
Thanks!