- Update github.com/xanzy/go-gitlab from v0.93.0 to v0.101.0
- Update rebase MR functions to use RebaseMergeRequestOptions for setting the "skip_ci" field
- Update all request options to use the LabelOptions type
- Replace deprecated gitlab.{String,Int,Bool,etc} functions with gitlab.Ptr
Fixes#7504
Signed-off-by: Justen Stall <justenstall@gmail.com>
Currently the check-update command which checks for
latest glab releases, checks from the releases page
of the old GitHub repo.
This MR changes this behaviour to check releases
from the new gitlab-org/cli repo.
* fix: Fail with a specific error when unauthenticated
If resolutions fails, return the error instead of "no GitLab Projects found
from remotes"
* fix: Do not break multi-network setups on authentication failure
* go mod tidy
In cases where `aliases.yaml` was smylinked to some other place(dotfiles
for example), it would remove the smylink and write to a new file.
This commit fixes that by resolving the smylink before writing to the
file.
Issue #892
When working with many different gitlab instances for different
projects, the global config quickly gets cluttered up with
specific settings that do not clean up conveniently. On the other hand,
local configs are to local, restricting the config to one repository
instead of one project or instance that potentially contains many
relevant repositories.
This change introduces a middle ground solution via the GLAB_CONFIG_DIR
environment variable. Setting this variable will allow global
configuration to travel with the project instead of populating the XDG
global config.
* feat: Add ground work for supporting hyperlinks to iostreams
See GH #812
See https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
for technical details behind the hyperlink escape sequence
For now hyperlinks are enabled as long as long as standard output is a
TTY - we'll want to add some additional detection/flags down the road
* feat: use terminal hyperlinks when listing issues/MRs
See GH #812
* feat(hyperlinks): Add display_hyperlinks config option
* chore(hyperlinks): Clean up Hyperlink API a bit
* feat(hyperlinks): default hyperlinks to off
I think hyperlink display should default to off while the feature is new
so that users can play with it
* feat(hyperlinks): Implement FORCE_HYPERLINKS
Setting the FORCE_HYPERLINKS environment variable forces glab to render
hyperlinks when it can - otherwise, it falls back to display_hyperlinks
from the config, which tells glab whether or not to enable hyperlinks
based on whether or not we're outputting to a TTY.
* fix(hyperlink): accommodate hyperlink OSC in string stripping
* fix: Fix incorrect web_url in fixture data
* test(hyperlink): Add tests for hyperlinks in issues list
* test(hyperlink): Add tests for truncating text with hyperlink OSC
* fix(hyperlinks): accommodate hyperlinks in Truncate
* test(hyperlinks): Add tests for showing hyperlinks in mr list
* docs(hyperlink): Add docs for FORCE_HYPERLINKS and display_hyperlinks
* fix(hyperlinks): simplify truncate algorithm
…while also fixing tableprinter tests, which expect that the first
grapheme provided to Truncate is always preserved
* fix(hyperlinks): Deactivate hyperlinks in auto mode if we're writing to a pager
To set a local config, glab writes to .glab-cli/config/config.yaml and
to hide it, writes to .gitignore.
This change migrates the local config to .git/glab-cli to avoid messing with the .gitignore of the current project.
We don't need to use user credentials for pull/push/clone operations since the user can now opt to saving credentials to git-credential helper else, be prompted to login each time
RemoteURL was changing one if it's passed in variables. This introduced
problems with subsequent calls to the function, because member
`RemoteArgs.Protocol` was changed to from `https` to `https://`. This
made every other call to the function skip over the protocol and just
return ssh URL.
Issue #710
This allows overriding the default protocol of the hostname if a fully qualified url is provided when using the `GITLAB_HOST` environment variable.
For example, if the GITLAB_HOST=http://my.glinstance.org, then the host will be set to my.glinstance.org and the protocol become http, unlike before when the protocol was ignored and only the hostname was considered.
This is a follow-up for #678
and #667
`glab` initially only suppported repo paths in the format HOST/OWNER/REPO and HOST/GROUP/NAMESPACE/REPO.
Knowing that GitLab supports deep nested subgroups, this adds supports for deep nested
groups.
Resolves#609