-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Pull request updater for azure client #3153
Conversation
end | ||
|
||
def temp_branch_name | ||
"#{source_branch_name}-temp" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be worth generating a short id, e.g. #{source_branch_name}-temp-Digest::SHA1.hexdigest(source_branch_name)[0..6]
?
Thinking of the case where two jobs try to update the same PR or someone has stashed some changes in a -temp
version of the current branch, in which case it would be deleted. Seems unlikely but have a feeling I've created branches with temp suffixes in the past when wrangling a rebase for example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@feelepxyz Digest::SHA1.hexdigest(source_branch_name) produces consistent hashing. So for the case where we have two jobs trying to update the same PR, this might still result in issues right? I was thinking of using uuid (documentation) for uniquely identifying the temp branch. Thoughts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah yes you're right, SHA1 is stable, uuid seems like a good candidate 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool made an update accordingly
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding tests 👍 added a few minor comments, otherwise looks good to me.
Cool Thanks for reviewing it so promptly. Will make the suggested changes |
source.organization + "/" + source.project + | ||
"/_apis/git/pullrequests/" + pull_request_id) | ||
|
||
JSON.parse(response.body) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not blocking for now, but we might want to handle non-200 responses here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see we have some sort of handling in the get method of the azure client. Can you specify the scenarios that we might want to cover here?
Hi, can we complete this PR? I actually want to use this code further in our service. Let me know if i need to add anything else. @jurre @feelepxyz |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍 we don't expose this functionality ourselves so can't really test it further.
Cool Thanks! |
v0.135.0, 4 March 2021 * Gracefully handle cargo version conflicts #3213 * Pull request updater for azure client #3153 (@milind009) [v0.134.2...v0.135.0-release-notes](v0.134.2...v0.135.0-release-notes)
Feature
Added support for updating pull requests for
azure client (AzureDevOps)
. For updating pull requests (i.e pushing new file changes) implemented the following logic -PR & PR source branch
exists. If no, return nil else continueCaveat
- Currently the AzureDevOps PR files diff UI shows the diff in commits instead of the actual diff in the file content. Hence, there is a temporary workaround to push file changes to the source branch to ensure the reviewer sees the exact files changes. The workaround is as follows -Testing
Added unit tests for the pull request updater implementation for azure client as well as the additional methods added in the azure client class.