git merge driver specific for Salesforce.com Metadata
npm install sfdx-md-merge-driver






This is a git merge driver specific for Salesforce.com Metadata (Profiles, Permission Sets, Custom Labels).
The merge is done based on the nodes of the files, checking if any node changed in both the local copy and the branch we're trying to merge, and automatically merging whenever there is no conflict.
In the case of a node being modified in our local workspace and in the branch we try to merge, both nodes are marked with a conflict that specifies from which change the node comes, so it makes it easier to identify and resolve the conflict.
* sfdx-md-merge-driver
* Automatic Setup (recommended)
* Install as Dependency
* Uninstalling
* Commands
* Author
To start using it right away:
```
$ npx sfdx-md-merge-driver install --global
Or install it locally, per-project:
``
$ cd /path/to/git/repository
$ npx sfdx-md-merge-driver install
...And you're good to go!
``
$ npx sfdx-md-merge-driver install
$ git merge my-conflicting-branch
Conflicts Found: 2
Conflicts Found: 0
CONFLICT (content): Merge conflict in force-app/main/default/profiles/Admin.profile-meta.xml
Auto-merging force-app/main/default/profiles/Standard.profile-meta.xml
Automatic merge failed; fix conflicts and then commit the result.
To avoid regular npx installs, consider installing the driver:
`sh-session`
$ npm install -g sfdx-md-merge-driver
$ sfdx-md-merge-driver COMMAND
running command...
$ sfdx-md-merge-driver (-v|--version|version)
sfdx-md-merge-driver/0.1.6 darwin-x64 node-v14.15.1
$ sfdx-md-merge-driver --help [COMMAND]
USAGE
$ sfdx-md-merge-driver COMMAND
...
To remove an installed merge driver, use sfdx-md-merge-driver uninstall:
``
$ npx sfdx-md-merge-driver uninstall [--global] [--driver-name=sfdx-md-merge-driver]
Or remove the package:
``
$ npm uninstall -g sfdx-md-merge-driver
* [sfdx-md-merge-driver help [COMMAND]](#sfdx-md-merge-driver-help-command)sfdx-md-merge-driver install
* sfdx-md-merge-driver merge %O %A %B [%P]
* [](#sfdx-md-merge-driver-merge-o-a-b-p)sfdx-md-merge-driver uninstall
*
display help for sfdx-md-merge-driver
`
USAGE
$ sfdx-md-merge-driver help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
`
_See code: @oclif/plugin-help_
Set up the merge driver in the current git repository.
`
USAGE
$ sfdx-md-merge-driver install
OPTIONS
-d, --driver=driver
[default: npx sfdx-md-merge-driver merge %O %A %B %P] string to install as the driver in the git configuration
-g, --global
install to your user-level git configuration
-h, --help
show CLI help
-n, --name=name
[default: sfdx-md-merge-driver] String to use as the merge driver name in your configuration.
-t, --files=.profile|.profile-meta.xml|.permissionset|.permissionset-meta.xml|.labels|.labels-meta.xml
[default: .profile,.profile-meta.xml,.permissionset,.permissionset-meta.xml,.labels,.labels-meta.xml]
Filenames that will trigger this driver.
`
_See code: src/commands/install.ts_
Check for conflicts and merge them if possible.
`
USAGE
$ sfdx-md-merge-driver merge %O %A %B [%P]
ARGUMENTS
%O ancestor’s version
%A current version
%B other branches' version
%P pathname in which the merged result will be stored
OPTIONS
-h, --help show CLI help
`
_See code: src/commands/merge.ts_
Remove a previously configured driver
`
USAGE
$ sfdx-md-merge-driver uninstall
OPTIONS
-g, --global install to your user-level git configuration
-h, --help show CLI help
-n, --name=name [default: sfdx-md-merge-driver] String to use as the merge driver name in your configuration.
``
_See code: src/commands/uninstall.ts_
Written by jayree
Based on code from Amguerrero's repository sfdc_merge and forks from Dhanielk and KevinGossentCap.
Node.js Installer framework based on code from Zkat's repository npm-merge-driver