-
Notifications
You must be signed in to change notification settings - Fork 409
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: conflict detection support deploy on save files under multiple directories #3393
Conversation
@violetyao quick question for you, how have you been testing these changes? I haven't been able to view multiple conflicts from deploy on save yet so I'd like to make sure I'm reproducing the issue correctly 😄 |
Hi Ananya! Have you modified the three classes in their org web page after deploying them? The |
While these changes are a great start to fixing the multiple directories problem, I found that using path.basename() leads to problems with metadata types that do not follow the "matchingContent" and "bundle" strategies. Examples include StaticResources ("mixedContent" strategy) and CustomObjects ("decomposed" strategy). I'm going to push some changes soon that hopefully fix those issues. |
Key resources about the different strategies: |
Looks good to me |
What does this PR do?
This PR addresses the issue that the new conflict detection mechanism does not work for
deploy on save
multiple files under multiple directories.What issues does this PR fix or reference?
@W-9549835@
Functionality Before
We used relative paths in
diffComponents
to match local and remote components. This became problematic when wedeploy on save
multiple files under multiple directories: keys of cacheIndex are of formattest1.cls
while keys of projectIndex are of formatfolder1/test1.cls
. Thus, when we assigncacheIndex.get(key)
tocachePath
, the value would be undefined.Functionality After
We now use
diffComponents
to match local and remote components. We also havelocalRelPath
andremoteRelPath
for visualizing file diffs.