Closes #865 - Add get_changed_items() utility for git-based selective deployment#891
Closes #865 - Add get_changed_items() utility for git-based selective deployment#891vipulb91 wants to merge 25 commits intomicrosoft:mainfrom
Conversation
|
@microsoft-github-policy-service agree |
|
@vipulb91 Thanks for submitting this PR, let's make sure the branch is updated completely. I did a quick scan and noticed some code was getting unintentionally removed. Happy to review once everything is up to date. |
…selective deployment
c3cafc2 to
be1c79b
Compare
|
@shirasassoon - Thanks for the heads up! The branch was behind main by several commits, which was making the diff look like code was being removed — that was a red herring from the stale base. I've rebased onto the latest main and force-pushed. The diff should now cleanly show only the additions:
All 35 tests pass (including the new file-sorting tests added upstream). Happy to make any adjustments based on your review! |
8f49510 to
27a75df
Compare
|
@shirasassoon - All review comments have been addressed and the branch is up to date. Happy for another look when you get a chance! |
…validate_git_compare_ref tests
|
@shirasassoon - All review comments have been addressed and the branch is up to date. Happy for another look when you get a chance! |
shirasassoon
left a comment
There was a problem hiding this comment.
@vipulb91 Thank you for addressing all the comments! Added one small comment, outside of that I think this PR looks good to merge - thank you for the contribution!
|
@shirasassoon - updated the assertion to verify the exact argv list. Thanks! If all okay now, we can merge the PR |
Description
Briefly describe what this PR does and why.
Adds a new public utility function
get_changed_items()to support git-based selective deployment of Fabric items.Linked Issue (REQUIRED)
#865
Motivation
Closes #865. Users running CI/CD pipelines with
fetchDepth: 2(or similar shallow clones) want to deploy only the items that changed in a given commit/ref, rather than publishing all items every time.## Approach (Option 2 — Decoupled) - Discussed in comment section with @shirasassoon
Rather than adding
changed_only/git_compare_refparameters directly topublish_all_items()andunpublish_all_orphan_items()(Option 1), this PR exposes the git-diff logic as a standalone utility function. This keeps the core publishing functions clean and allows users to compose the deployment logic themselves.New API