-
-
Notifications
You must be signed in to change notification settings - Fork 132
WIP: bitbucket issues support #198
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
Conversation
0c2abab to
fe62b1d
Compare
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.
There's a strange typo in the commit message.
The string "bitbake" also appears in code added by later commits.
So that means that earlier commits are broken right? I would prefer not to merge any commits that are known to be broken. Instead of this you can add In a similar vain I would add all the |
fe62b1d to
1096161
Compare
|
I've moved the addition of |
1096161 to
9bbe39e
Compare
I'm pretty sure you mean |
9bbe39e to
e627de4
Compare
|
Right. bitbake is a tool I use at work, and obviously I use it so much that I type that over bitbucket, and I cannot even see when I'm doing it. I think I've fixed all bitbake mentions now. |
|
What is the purpose of the You also added doc-strings for some methods that apply just as much to the other (gitlab) methods of the respective generic functions. I think you should remove those and instead maintain a list of "generic functions that now have at least two methods and which should therefore be explicitly defined eventually, at which point we can also add the doc-string". 😉 |
I was merely trying to confirm that you had taken care of changes that I had already requested. I haven't actually reviewed the rest yet. I'll do that when you tell me it is "done" (the same features as for gitlab are supported) or you ask me specific questions. |
lisp/forge-bitbucket.el
Outdated
| ;;; Commentary: | ||
|
|
||
| ;;; Limited support for bitbucket.org in forge. | ||
|
|
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.
Since the other libraries do not have such a header, don't add one here either.
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.
Fixed
| (let (assignees) | ||
| (dolist (issue (alist-get 'issues val)) | ||
| (setq assignees | ||
| (seq-uniq (append (forge--bitbucket-issue-users issue) |
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.
You did not require seq.
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.
Fixed
|
Now that I have looked at the code I can say that this generally looks reasonable. Since this mostly based on the Gitlab code that I have written, it's not surprising that I would come to that conclusion. ;-) You are generally on the right track. If you were waiting for that statement before tackling the remaining big gaps, then you can continue working on this now. If you were hoping I would merge this despite it being rather incomplete, then I have to disappoint you. This should be about on par with Gitlab. So I suggest you use this yourself and fix bugs and implement missing features as you go. And then ping me when it is complete or if you are running into issues. |
checkdoc will complain that
Lets figure that out when we are closer to merging this. |
I do have one question that popped up when I began looking at adding pullrequest support. |
Yes and yes.
What that? Grepping for |
ISO8601 states that you can have any number of decimal places, but iso8601.el only handles three in Emacs 27. Use `forge--bitbucket-hack-iso8601' to remove excess digits from timestamps in bitbucket JSON responses.
Add a `forge--pull' implementation for `forge-bitbucket-repository', and corresponding helper functions `forge--fetch-repository' and `forge--update-repository'. Most of the implementation is copied from forge-gitlab.el.
The bitbucket API does not seem to have any way to list users, so instead extract all users from all issue and add them to the assignees database.
It would be better to handle this by customizing the issue view for bitbucket, but as far as I can tell that is not possible right now.
Setting the assignee requires a more complicated json structure. Refactor `forge--set-topic-field' to support that.
e627de4 to
00c277c
Compare
|
So, how did it go? |
|
I started working on the pull request, but I haven't had that much time to devote to this project recently. |
|
Take your time. I am not in a hurry and wouldn't be able to review before next year anyway. Just wondering. |
10fcab8 to
8beace1
Compare
|
@snogge I would like to either merge or else close this soon. Please let me know what your plans are. I just rebased and there were no conflicts. There's one compile warning: |
|
We can of course reopen when/if you start working on this again. |
|
Yeah, I don't see this happening soon. I've spent my emacs dev time on buttercup instead. |
|
If someone else asks about bitbucket support I will point them to your work. I don't want to merge this without pull-request support because I would then end up having to implement that myself because it would be such a reasonable thing to request once issues and other stuff are supported. I also want to work on other things. |
|
I have added a faq entry about the forges I plan or don't plan to support. Because I do not plan to implement support for this particular forge I am closing this issue. That doesn't mean that you cannot comment here or shouldn't discourage you from contributing support for favorite forge yourself. |
This is the current status of my work to add bitbucket support to
forge.
I think all issue operations are supported, but it does rely on #196,which is also included in this PR.
It relies on magit/ghub#97 for mutating
operations.
I would appreciate all feedback on how to improve this code, and tips
on things in the forge architecture that I have missed.