sorenlouv / backport

A simple CLI tool that automates the process of backporting commits on a GitHub repo
https://github.com/sqren/backport/blob/main/docs/config-file-options.md
Apache License 2.0
241 stars 56 forks source link

Support Azure DevOps #487

Open bdovaz opened 6 months ago

bdovaz commented 6 months ago

It would be interesting that being a cli tool it would work with other widely used providers like Azure DevOps.

I have been analyzing of all the tools similar to this one and none of them support Azure DevOps, they all seem to be GitHub centric.

Thanks!

sorenlouv commented 6 months ago

Hi there,

I think this would be a major undertaking as this tool is very closely tied to Github's API. I'm not opposed to the idea but I won't have the time to do this myself. A better solution might be to create a separate tool, or fork this and make the necessary adjustments.

bdovaz commented 5 months ago

I have been analyzing the code and my main problem is that I have no TypeScript experience (my background is in .NET)....

I've tried the basics of setting up the development environment and I don't even know how to do it 😅 (I am on Windows)

This PR seems like a titanic task for someone other than you because of the extensive knowledge it requires of the project itself

sorenlouv commented 5 months ago

I agree, it's a big task. Unfortunately I don't have the time to do it and I don't use Azure DevOps.

bdovaz commented 5 months ago

@sqren if you are willing to guide me in what I need I can try....

How to configure a basic setup (in Windows):

  1. IDE? VS Code? VS?
  2. What dependencies are needed?
  3. How are tests run or builds done?
  4. How do you test when you are developing?

I have read this document but I see that it lacks a lot of information: https://github.com/sqren/backport/blob/main/CONTRIBUTING.md

Thank you!

bdovaz commented 5 months ago

Once I am clear on all that we would have to (in 2 separate PRs):

  1. Create an API abstraction so that it is not directly coupled to the GitHub one.
  2. Create the Azure DevOps implementation and in the future others (GitLab, ...)

For that abstraction I would need you to guide me on exactly what code to look at etc.

sorenlouv commented 5 months ago

Hi @bdovaz

I suggest creating a separate tool as I cannot promise that I will accept a PR with such a big change. This tool is closely tied to Github's API and it will require much work from me if I need to maintain compatibility against multiple vendors.

bdovaz commented 5 months ago

I feel sorry for that answer because this tool is the best by far and I would like to use it but without having to do a full fork.... I could do the work to create a PR if you guide me on what I need and if it will end up merge in the main repo, otherwise it makes no sense....