Log, GitHub/GitLab/Bitbucket/AzureDevOps: built-in dialog to create a pull request

Marc Strapetz 8 months ago updated by softworkz 6 months ago 6

With version 23.1, SmartGit has replaced the built-in dialog to create a Pull Request by re-directing the user to an appropriate URL for the respective platform. We see following advantages here:

- the amount of clicks required to create a Pull Request stays the same

- all options are available which the specific platform offers; by design, SmartGit will never lag behind

We need your input here!

Up-vote this issue if you still prefer to create Pull Requests directly from a built-in dialog in SmartGit, even if it lacks specific options. In this case, comment on why you prefer the built-in dialog/which advantages this has or upvote appropriate existing comments.

Down-vote this issue if you agree with the mentioned advantages and comment on possible other advantages of the re-direct.

For version 23.1, the former built-in dialogs can still be enabled using the appropriate Low-Level-Properties. These are declared as Experimental to denote that we might drop them in a later version for technical reasons (e.g. if APIs are changed or they raise other technical issues). The more votes this issue has, the more effort we will spend into preserving them.


I have upvoted the proposal change.

As you said it is almost impossible to catch up for the all Pull Request/Merge Request features different Git host providers would offer. Especially those which are available on the Internet.

However, in the corporate environment, it is not really the case. You have a stable, low paced version that is used across the company. Also, you have standard approach/Templates for how to fill the Pull Request. Having everything bundled in SmartGit is very convenient as you almost never should go to the Web UI in that case and SmartGit is just the only tool that you need to cover all specific GitOps.

But the options that you have proposed in a good alternative for like mine use cases I could keep what is there now (Minimal Options to fill the needed info into the Pull Request) and use Web UI redirection for all other cases, like Open Source project and/or usage of Git Hosting providers in the Internet.

I prefer the built-in dialogs for the following reasonss:

  1. I'm often doing many things in parallel. Most of the time I have like 3-10 SmartGit windows open, multiple IDE instances, other applications and 5-10 browser windows, each having 5-30 open tabs.
    When SmartGit launches the URL in the browser, it opens in the most recently active browser window in a new tab. This means that I'm losing the tab on which I have been reading most recently.
    And after doing the PR, I need to find that tab again. I don't know exactly for which tab I even need to look for, because I don't always know exactly which of the browser windows it was, so I might even need to look through all other browser windows
    first, to see which tabs are still there to get an idea of the one I have lost thanks to Smart Git.
    => ultimately annoying 
  2. After looking through the browser windows, I often want to go back to SmartGit again, so I click in the taskbar, and now I need to identify the right SmartGit window where I've been before.
    => more annoyance
  3. When SmartGit opens the browser for creating the PR, it sets the branch name as the PR title and no message, like it does with the integrated dialog.
    So I'll need to:
    1. switch back to SmartGit
    2. copy the commit message
    3. switch to the browser
    4. paste the commit message
    5. switch back to SmartGit
    6. copy the commit description
    7. switch to the browser
    8. paste the commit description
  4. In the browser, I need to double check everything, because I always feel it could be wrong. In the SmartGit dialog, it's simple and reliable and I know that nothing will go wrong and I don't need to check anything
  5. When creating PRs with the SmartGit dialog, SmartGit immediately updates the PRs and I can instantly see from the tree expansion symbols, for which branches I have already created a PR and for which not. This is very helpful when submitting multiple PRs in a row.
  6. SmartGit remembers in the internal dialog, against which upstream repo and branch I had made the last PR and preselects this for the next PR
    (I’m not sure whether it does that reliably for browser PRs)
  7. Sometimes I’m logged into GitHub with a different account. Then, the whole thing (going through the browser) doesn’t work at all.


In some (for me rare) cases, it might surely be useful to be able to go through the browser.
A button in the SmartGit PR dialog like "Create on GitHub" would be useful for this.

Another nice improvement would be am additional button right to the "Push" button (or a submenu item for the "Push" button) which says 

"Push and create PR"

Currently, it is required to:

  • Push
  • Got to the branches tree
  • Find the branch to which you have just pushed to
  • Right-Click
  • Select "Create PR"

With a button for Push+PR all these steps wouldn't be necessary. 

When you have just a handful of branches, this might not seem that relevant, but in some cases, I have like 10 upstream /peer repos and up to 200 branches (I use to keep feature branches for a while to verify possible future blame).

And in such cases, it would be really nice not having to go through the tree to find the right branch for creating the PR from.

> A button in the SmartGit PR dialog like "Create on GitHub"

Yes!! I think this is a great idea.  I too strongly prefer the SG Create PR dialog and don't want to launch to separate app (browser page) to complete.  This idea allows best of both worlds - when the dialog "isn't enough", the quick access to the Git product's web page solves the problem.

WIth the eyes of an Enterprise User I think the easy way without redirect is awesome.

With the eyes of an OpenSource Contributer I strongly prefer the redirect

==> both are useful

Integrated PR submission in Visual Studio had become one of the most requested features - after it had been dropped with the transition from the GitHub extension to integrated GitHub support (https://developercommunity.visualstudio.com/t/cant-create-pull-request-in-visual-studio-with-new/1017696).

In the latest preview they have implemented it now: