Commit graph

73 commits

Author SHA1 Message Date
Jacob Lorenzen 67b72ac0f2 Fix bug with open -i on default VSTS project repo
The default VSTS clone url is different from other project repository urls

e.g. Default repository url: https://gitopen.visualstudio.com/_git/Project
     Sibling repository url: https://gitopen.visualstudio.com/Project/_git/Repository

     Trying to use git open -i on the default repository will lead to an
     url formatted as https://gitopen.visualstudio.com/_git/Project/_workitems?id=xx
     This url is malformed as the _git part should not be part of it.

     This change will fix this bug and correctly format url as
     https://gitopen.visualstudio.com/Project/_workitems?id=xx.
2018-01-24 13:41:02 +01:00
Frank Fesevur 734517991a Update support for open.default.remote config (#79) 2017-12-01 13:41:32 -08:00
Frank Fesevur d97b7f36aa Fix BATS testing on WSL (#104)
The $openopt resulted in unexpected results during testing
2017-12-01 12:30:50 -08:00
Paul Irish 3a423e11a6
allow command to be run in git repo subdirectory (#105) 2017-12-01 12:18:07 -08:00
Edward Thomson e3ce014bfa Add support for Visual Studio Team Services and Team Foundation Server (#93)
* Parse remotes as URLs or SCP-style paths

Instead of trying to strip on ':' and '/' to simplify a URL, actually
switch based on whether the remote path is a URL ("scheme://host:port/path")
or an SCP-style path (user@host:path) and parse them separately.

This allows us to handle custom ports in HTTP and HTTPS, but ignore
custom ports in an SSH url and HTTP remotes, instead of always upgrading
them to HTTPS.

* Introduce tests for Visual Studio Team Services

Add tests for Visual Studio Team Services (VSTS) and Team Foundation
Server (TFS).  VSTS suggests remote paths in two formats: HTTPS URLs
or SSH URLs (including port number).  TFS is an on-premises product
which - when running as an HTTP endpoint - defaults to port 8080.

* Branch selection in Visual Studio Team Services

VSTS and TFS URLs end in '/_git/RepositoryName` (with 0 or more leading
folders of hierarchy in front of that.)  Detect these from the `_git` in
the penultimate folder of the path.  Append branch information to VSTS
and TFS URLs.

Since VSTS and TFS use a query string to select a branch, instead of
including it in the server path, the `providerBranchRef` for other
services was changed to include the leading `/`, and now the `openurl`
and `providerBranchRef` are simply concatenated, to avoid an incorrect
trailing `/` for the VSTS and TFS branch URLs.

* Issues for Visual Studio Team Services

Provide issue support for VSTS and TFS, modifying the URL from the
`_git` endpoint to the `_workitems` endpoint and appending the `id`
query string.

* README: add VSTS and TFS support
2017-11-30 16:23:52 -08:00
Love F 363d054386 Git styled -h and --issue options (#94) 2017-10-31 16:15:50 -07:00
Frank Fesevur 80cb34169a Add support for WSL (#101) 2017-10-30 16:28:39 -07:00
Paul Irish fa49deeb17
default to tracked remote (#88) 2017-10-27 13:56:29 -07:00
Dave Wikoff e68eee6a44 Strip ports based on protocol properly. Adding config for custom domains and protocols. (#92) 2017-10-26 12:52:33 -07:00
Frank Fesevur 3be1c00f36 Fix opening final URL on MSYS (#91) 2017-06-23 13:49:00 -07:00
Paul Irish c9ba476e71 fix shellcheck failure https://github.com/koalaman/shellcheck/wiki/SC2004 2017-06-21 10:19:31 -07:00
Dave Wikoff 79501d6f11 Add issues support 2017-06-20 18:02:52 -07:00
Dave Wikoff c2c7830514 Bitbucket server, and minor tweaks to BROWSER 2017-06-18 16:52:12 -07:00
Paul Irish 9e9fee04de import revised git-open from @dermagia
62e17bfcb9/config/zsh/bin/git-open
2017-06-18 13:51:53 -07:00
Paul Irish 927517adb9 Add a test suite (#78) 2017-06-16 15:57:49 -07:00
Andreas Schoeneck ac027a8d00 Normalize ssh+port URLs to match default style
This will make `ssh://git@<host>:<port>/<user>/<repo>` URLs
intermediately look like `git@<host>:<user>/<repo>` and
expose these to further processing/substitution.

Properties required for proper working are:
* `gitopen.gitlab.domain`
* `gitopen.gitlab.ssh.port`
2017-06-12 12:56:31 +02:00
Frank Fesevur 054772bed6 Fix trailing spaces
CI checks because of it
Leftover of #63
2017-06-01 13:01:34 +02:00
Frank Fesevur cf2c289692 Merge pull request #63 from freekmurze/master
Handle GitHub urls without the git user
2017-05-31 20:55:35 +02:00
Paul Irish 92dc862c02 correct shellcheck issues. 2017-05-29 12:41:01 -07:00
Paul Irish 75c61f13e6 Add eclint to assert editorconfig settings (#72) 2017-05-29 12:34:10 -07:00
Trent Rand 176f1b8f96 Remove username from <giturl> for BitBucket (#69)
The username prefix ‘username@bitbucket.org/*’ caused a phishing error
on Safari which persisted across page visits on BitBucket, unless the
username was manually deleted from url.
2017-05-26 19:16:03 -07:00
Martin Delille 4e3aa0ad51 Add http protocol for Gitlab custom host (#60)
* Add http protocol for Gitlab custom host

* default to https

* Revert "default to https"

This reverts commit b25190b5d1.

* Revert "Merge branch 'master' into http"

This reverts commit 18573f8b29, reversing
changes made to 88a9e254ae.

* Revert "Revert "Merge branch 'master' into http""

This reverts commit fa0e6d1f21.

* Revert "Revert "default to https""

This reverts commit d754476010.
2017-02-10 09:13:47 -08:00
Freek Van der Herten e7dc5562b7 Handle GitHub urls without the git user
In my ssh config if specified that all connections with github.com should use the `git` user. So when cloning a repo I can type:
```bash
git clone github.com:paulirish/git-open.git
``` 
instead of
```bash
git clone git@github.com:paulirish/git-open.git
``` 

This PR contains a fix for repos that have been cloned without specifying the `git` user.
2017-01-04 16:03:51 +01:00
Paul Irish 197648315b Merge pull request #56 from elim/feature/separate-url-gitlab
Supports separate URLs in the repo and the web
2017-01-03 16:19:24 -08:00
Takeru Naito 7ac4f71f42
Change the option names for GitLab 2016-11-19 23:03:57 +09:00
b4b4r07 cb4d833644 Replace exit 0 with exit $? 2016-11-13 01:51:40 +09:00
Takeru Naito 1808e612c5
Supports separate URLs in the repo and the web
On a GitLab server.

ex.
---

repo: git@git.example.com:namespace/project.git
web:  https://gitlab.example.com/namespace/project

$ git config gitopen.gitlab.domain gitlab.example.com
$ git config gitopen.gitlab.ssh-domain git.example.com
$ git open
2016-11-04 19:03:51 +09:00
Frank Fesevur 36f9a77956 Handle GitLab's default SSH notation
On GitLab the default SSH style is like git@gitlab.example.com:user/repo
Now it recognizes this format as well on your own GitLab installation.
2016-10-27 14:01:14 +02:00
Paul Irish 485bb31427 Merge pull request #51 from evoactivity/patch-1
Handle gitlab using SSH remote URL
2016-08-15 19:39:55 -07:00
Paul Irish afd7fee2b2 Merge pull request #49 from neoascetic/patch-1
Fix gist opening
2016-08-15 19:26:09 -07:00
Liam Potter 6f07f14de5 Handle gitlab using SSH remote URL
You need to add another config option to remove the port, but this is now working for me. Could be improved by adding an option for the protocol as well, I'm using `http` instead of `https`, I've left that as is for now though.
2016-08-15 13:19:17 +01:00
Karl Horky abc2c0aa26 Pedantically uppercase characters 2016-08-12 18:56:55 +02:00
Pavel Puchkin 730aea638e Fix gist opening 2016-08-12 09:50:18 +03:00
kyuden 2f190289a4 Output as standard error 2016-08-12 03:05:29 +09:00
kyuden e93db94020 Exit as naming error about branch of issue 2016-08-12 02:56:41 +09:00
kangaroo5383 c5ec7264a8 Easily track and open the relevant github issue via branch naming convention (#46)
* Open issue using ‘git open issue’
* Update doc to reflect new functionality
2016-08-05 15:38:03 -07:00
Karsten Müller b7891d5e3a added windows powershell 2016-08-05 15:14:59 +02:00
Nils Winkler aa0f9642db Atlassian Stash has been renamed to Bitbucket Server
Adjusted readme and comments in code
2016-07-12 10:38:31 +02:00
Lilian Besson c2e65077f4 It works with both types of URL now
It works with either ``ssh://git@bitbucket.org/user/repo.git`` or ``ssh://git@bitbucket.org:user/repo.git``.
2016-07-08 18:44:35 +02:00
Lilian Besson f79712de8b Better handling of SSH protocol for Bitbucket 2016-07-08 17:32:57 +02:00
Lilian Besson 421888c04a Convert ssh:// link to a https:// one
The script was failing on a Bitbucket repo using ssh instead of https. Now it should be fixed.
2016-07-08 13:07:48 +02:00
oluckyman 040ee55aa7 Add support for repos cloned via SSH 2015-08-25 20:02:04 +02:00
David O'Trakoun b62ca9a09f open src to current path 2015-05-09 01:31:24 -04:00
David O'Trakoun 88ce0da6d8 portability updates - use user specified BROWSER if available, use user's env set bash (e.g. if they use brew bash instead of OSX bash) 2015-05-09 01:26:44 -04:00
David O'Trakoun 9fa1918f42 rev parse is useless 2015-05-09 01:22:18 -04:00
David O'Trakoun c9ef8a28c4 open bitbucket on source view 2015-05-09 01:18:18 -04:00
Paul Irish 7994d2ef5d followup on #24 2015-05-02 01:58:39 -07:00
Paul Irish 401267b0da Merge pull request #24 from johanhermansson/feat-hashurl-fix
Make hash character url friendly
2015-05-02 01:56:14 -07:00
Paul Irish fac3ad3a71 gist support. fixes #22. 2015-05-01 17:48:29 -07:00
Johan Hermansson 18a1dd3600 One-liner 2015-04-27 18:29:29 +02:00