forcedotcom / cli

Salesforce CLI
https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/
BSD 3-Clause "New" or "Revised" License
482 stars 78 forks source link

sfdx force:source:deploy -m <metadata type> deploying unexpected metadata #301

Closed ghost closed 3 years ago

ghost commented 4 years ago

Summary

I am getting unexpected behaviour when running certain sfdx force:source:deploy commands using the -m switch. Previously when deploying with the following command: 'sfdx force:source:deploy -m Layout' then all layouts would be deployed. However, what is now happening is unrelated metadata with the word 'layout' in the name is deployed. This has not happened before today. See screenshot below.

Steps To Reproduce:

  1. Run sfdx force:source:deploy -m Layout

Expected result

The layout metadata type folder would have been deployed.

Actual result

Different metadata types with the word 'Layout' in the name were deployed

Additional information

image

SFDX CLI Version: sfdx-cli/7.45.1-bc18d49798 darwin-x64 node-v10.15.3

SFDX plugin Version(to find the version of the CLI plugin run sfdx plugins --core) @oclif/plugin-autocomplete 0.1.5 (core) @oclif/plugin-commands 1.2.3 (core) @oclif/plugin-help 2.2.3 (core) @oclif/plugin-not-found 1.2.3 (core) @oclif/plugin-plugins 1.7.9 (core) @oclif/plugin-update 1.3.9 (core) @oclif/plugin-warn-if-update-available 1.7.0 (core) @oclif/plugin-which 1.0.3 (core) @salesforce/sfdx-trust 3.0.7 (core) analytics 1.7.0 (core) generator 1.1.2 (core) salesforcedx 47.18.0 (core) ├─ salesforcedx-templates 47.19.0 (core) └─ salesforce-alm 47.16.0 (core)

sfdx-cli 7.45.1 (core)

OS and version: MacOS Catalina 10.15.2

ghost commented 4 years ago

I have realised I am an idiot and the layouts folder was in my forceignore. However, would you still expect other non-layout metdata to deploy in my above scenario?

Edit: In fact, I have just realised that although it is now deploying the layouts, it's still deploying the non-layout metadata files as before - is this expected?

clairebianchi commented 4 years ago

@mattgrimwade we are talking a look

alpha-bytes commented 4 years ago

I would add that I also just had this issue with the CustomField metadata type. Steps to reproduce: 1) sfdx project directory containing objects dir and <SObject> (e.g. Case) sub-directory 2) sub-directory contains fields sub-directory and field metadata xml, as well as other sub-directories and md (e.g. compactLayouts, listViews, etc). 3) run sfdx force:source:deploy -m CustomField:Case.My_Field_Name__c

When you do this you'll see that sfdx does not selectively deploy the field meta, but rather all metadata in sub-directories within the Case directory. Obviously, not a great end result and I'm guessing not intentional.

WillieRuemmele commented 3 years ago

Hi @alpha-bytes I wasn't able to recreate this behavior using v7.97.1. Are you still seeing this behavior?

mshanemc commented 3 years ago

W-7262955 is closed in 51.6.11