Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab
This is a hotfix release.
--no-edit
flag to not open the editor for editing commit logs, but use the auto-generated text on commands with such behavior.--debug
mode the flags for the given command are now printed.mr show
command when used with --patch
on already merged MRs.--name-only
flaglab project browse
in docs8bbc211 Added with-comment fix
cf64081 Added quickaction to files
f808fd8 Added /unapprove quick action to mr_approve.go
76c9251 Added /approve quick action to mr_approve.go
a59a5aa gitlab: handle API response without X-Total(-Pages) HTTP header
31ae4a7 mr discussions: Set CommitID
579ee99 lab: Update go dependencies
4bbfcbd lab mr create: Check file exists (-F/-f options)
527e709 mr_create: Add -f option to open editor
a395410 cmd/show_common.go: Fix commenting on new file diffs
4c9510c lab: Use HeadSHA value when CommitID is not specified
4c80927 Moved file function to break before approval
653549a mr discussion: Update tests
ad90d0e mr discussion: Drop mrDiscussionText()
b723634 mr note: Use templates for note information
0723109 mr_discussion: Provide better discussion information
a49cfa0 mr_discussion: Use mrDiscussionMsg instead of noteMsg
443fd3d rhstatus: Add commit comment functionality
1d84149 mr show: Show correct commit comments
1ac0f1b mr_create: clarify help wrt source and target remotes and branches
778bd48 gitlab: remove project ID lookup for CI Bridge jobs
501c6d6 mod: update go-gitlab
94f5faa ci: add documentation for the bridge option
c37e266 ci: filter jobs by bridge name
6947303 internal: remove redundant use of 'host'
a3b7f92 Fix mr create documentation
36c5ba0 Fix gitlab profile link URL
c6b3e58 lab: Update modules
b1193a7 Added documentation examples on every command; Fixes
b5527d3 fix: (ci view) dont run ci job if esc
is hit
093a016 Finalized lab todo issue, updated go-gitlab
fea9e83 Fix Snippets Browse cfg host
95692fc cmd/lab_todo: fix index out of range without any args
1dafd5e Fix thumb Down
0a22600 Updated Carapace, Cobra and Glamour
9c0aa08 Removed --with-comment dependency; Fixed approve bug
c554731 cmd/mr_create: fix index out of range with --source
66a1a41 mr show: Output commit ID hash on commit comments
e744d4a chore: (ci status) #240 bump up default wait interval
d4c4280 cmd/util: fix handle of unknown number of arguments
19b1ee0 cmd/note_common: use Cobra cmd obj to inspect command name and alias
a8e7a56 cmd/note_common: move noteRunFn to the common code
b5b084c Added version to make install
c2a89b0 cmd/mr_create_test: fix test text wrt number of commits
fb66a37 internal/git: allow specific ref to be used in LastCommitMessage()
e371958 internal/git: add second ref to diffstat
114b876 internal/git: take diff stat from merge base
0c0280d internal/git: fix git log command with union behavior
d7df603 internal/git: rename PathWithNameSpace to PathWithNamespace
482d054 cmd/util: remove "remote" arguement from verifyRemoteAndBranch function
6c5a5d6 internal/git: remove unused CurrentUpstreamBranch function
4b2a727 internal/action: move Labels and Milestones actions to a single file
b6864c2 internal/gitlab: rename dupId to dupID
51696f9 internal/action: fix else clause with if ending with return
aada9db internal/gitlab: fix argument name for UpdateMRDiscussionNote
fe9248b internal/gitlab: unexport JobSorter type
88ada3d internal: add comments for exported functions and structures
c9d6b3b internal/logger: rename log levels
a065605 internal/logger: fix exported functions comments
0edf42e internal/logger: export Logger structure
1cfb2f4 cmd/mr_show: golint: if block ends with a return statement
68aea79 cmd/mr: remote WIP terminology support
f8abe97 cmd/mr_edit: update Draft detection to use hasPrefix()
4c59f30 mr show: Fix --patch and --comments option output
b65a04b cmd/mr_test: fix leftover test diffs
b9e0de0 cmd/util: fix error handling for parseArgsWithGitBranchMR
ecd57aa cmd/util: avoid an empty string to be parsed
5f7d2aa cmd: unexport LabPersistentPreRun function
fcd11a6 cmd: fix else clause with a single return statement
68df5b3 issue_close: fix variable name
4938a98 labels: unexport MapLabels function
0c13df9 note: unexport NoteRunFn function
2b08856 util: unexport CommandPrefix variable
93c4938 util: unexport the Pager structure
ec7ed8e cmd: fix unused variables
b756458 cmd: fix return value checks and statements
e7f1c88 cmd: use log.Fatalf instead of calling fmt.Errorf
b1c4a74 internal/logger_test: add test for all logging functions
77e7321 internal/logger: fix logger whitespace for Fatal msgs
0e02d27 internal/logger: fix keysAndValues overflow
02ab075 mr_note_test: change MR ID used for testing discussion
214d810 edit_common: remove unused function
71df609 edit: fix labels update for issue and MR
15929ef mr_reopen_test: fix MR number
2000253 cmd: add heredoc.Doc() to texts within the code
40726c3 cmd: use heredoc.Doc() in every multiline help message
c2cbf46 todo list: Implement --all
f63883f cmd/util_bsd: add BSD operating systems 5f745da cmd/util: rename OS specific files f1a6b7d todo list: Remove MR and Issue lookups a73c3f9 fix copy&paste error in readme bd03f25 todo list: Add title to pretty output 0fd6b5a todo list: Add 'draft' status 4a57a12 updated carapace to v0.5.12 37ad1fa go.mod: update module list to follow latest changes de59b59 gitlab: fix page number check 354d89e gitlab: fix the number of items per page for listing labels a9d5350 logger: add testing code 2a67f7e go.mod: update go-gitlab for custom logger support 6da5d52 root: add --quiet option for disabling logging 35abd0c root: add --debug option for changing logger level e62e8ff gitlab: pass custom LeveledLogger to go-gitlab 4126cd3 log: substitute default Golang log by lab internal one 9af2695 logger: add specific lab logger bef39e0 approve/unapprove: Provide better error messages for repeat actions 2df755d gitlab: Cleanup error codes 2918d3d mr merge: Add successful completion message. 55b6be1 config: move CI() to after config merge 2c3f694 lab: Remove os.Rename() and add implement otiai10 copy d6c53cf root_test: Fix test errors 4a94ee9 todo_issue: Fix format error cf5f4b0 lab: Add support for GitLab Testing 8da1c96 config: Fix MainConfig nil pointer panic 3ddc746 todo: Add --pretty output 5fa923a todo: Implmement 'mr' and 'issue' commands 60de999 todo done: Add "--all" option a7f0d3f todo: Implement "done" command efec805 list: Fix list user options ee1444e issue list: Add --sort and --order list options 84599aa mr show: Change 'Reviewers' to output usernames 898dff8 labels: don't fetch labels in case of empty request 41e9f74 mr_test: Add tests for approve and review 391bf23 fork test: Delete fork project on error 7f577a3 mr_list_test: Change latest created MR value bc51d1b mr_merge: add option for merging immediately a79d158 root: remove redundant check 1e61f40 main: make "-v" flag to also skip init code 7960f84 root: return to lab when git fails handling flags 7ab2359 mr_list: Add --reviewer option a7d201f mr_test: fix error output and test a12a117 merge_request: deprecate command 258693d gitlab: remove duplicate function for getting used ID fa9daf4 mr_create: fix output messages 0f4aeea mr_test: Add wildcard support to cleanupMR() fc1356f mr_test: Fix cleanupMR() 645c7e8 mr edit: Fix reviewers check f3a38a2 mr create: Allow email addresses d118285 util.go: Move getUserID() and getUserIDs() 6cfaf6c mr_edit: Fix panic with --assign option 7b53f9a lab: Add assign reviewer functionality ac1fdb8 cmd: Rename Assignee functions to general User functions 64322db lab: introduce todo command 375f452 mr_test: Generalize prepare and close test functions 63c2db6 mr create: Add --source option 7e9c436 edit.go: Add core.editor for default editor 9a36b5f mr: add delete command 8a72102 mr create: Clean up variable names 3580b6f mr create: Clarify remote branch in help 610a795 mr create: Use remote source branch for commit logs 4f8cc17 mr_create: Check for zero commits in a Merge Request 514d2ce root: make "upstream" the defaultRemote preference 4949cb4 show_common: add fixed ANSI terminal color f058ea9 mr_show: fix line wrapping c81e575 mr checkout: Add --force option
8c8e502 mr show: Display output for approvers and reviewers
73fd2bc lab: Update lab's description
8b27899 mr,issue,snippet: make shorthand flags deprecated
b8a2a48 added label completion
7e5ce92 added milestone completion
3ffb5d9 mr show: Fix --no-color-diff help
43b10a3 mr_edit: add ability to update MR through file
eba88e6 edit_common: add func to get title and body from file
69136b1 lab: Remove git version from version command
101c6f0 issue_list: add filter by assignee and author
d932304 mr_list: substitute --mine by --author
715faee util_test: add test function for matchTerms
667ae70 mr_edit: allow user to update target branch
786a725 util: add func for matching terms and check ambiguity
7bb49ac lab: Clean up IntVarP usage
f67c4aa list: add "all" to completion
6d32c09 fix <nil>
output in completion script generation
6208470 make installer script POSIX compliant
644586b updated carapace to 0.4.1
5333fe6 mr_create: error out when using -F, -m and/or -c together
d3651ca fork: allow user to set custom remote name
20d5724 git: skip to url in case of an empty pushurl
d3da0ad Completely drop hub support
bbca093 gitlab: improve checking for project lookup during fork
1713610 mr/issue: Test (un)subscribe commands
42e92b9 mr/issue: Include subscription status in show command
77f64f3 mr/issue: Add subscribe/unsubscribe subcommands
aafaffb gitlab: fix project lookup during fork
b6724cf util: fix dup2() usage for Linux and Darwin 090ff30 util: create os-specific layer for syscalls 6a99151 fix: (mr_note) move tests to new dumping ground b0089e1 mr_create: Add number of commits to create metadata 02e44ae issue_list: fix help message wrt issue state a501391 mr_list: fix help message wrt MR state dac5bed mr_create: fix slice out of bounds for MERGE message 87b5993 mr_create: check for empty msg before acting fddbafe main: Also skip init for subcommand help cce6e90 gitlab: fix error handling for ImportStatus check 34175ab Make the issue link clickable dd5f5e0 mr_create: Evaluate label/milstone flags before description 50a41b1 mr approve/unapprove: Provide better error messages df4f84f label_list: fix exact match after substring matches e15e96c mr_list: remove config error message 5cde716 util: remove unecessary condition 53f2f30 ci: add hint to user during artifact download 40cbc9c ci: add support for multi-project pipelines 7a86fb4 docs: readme fix tired typing 3ce8f88 go.mod: remove unused modules 4df35c3 go.mod: update tview module 2d65ce7 cmd: Pipe output through pager in terminals ab9be1b util: move getPipelineFromArgs from ci_status 97f6242 browse_common: add file for browse variable 401dbb4 util: move union, difference and same functions ee8227e edit_common: add file for edit* functions e38ac47 note_common: add file for note* functions ea207ca util: move filterCommentArg to util file 7183bba util: move determineSourceRemote to util file ea0c681 create_common: add file for *_create common data 5c37357 show_common: add file for *_show common functions 807018b root: allow to configure a default remote in the configuration e1aa433 root: move the remote guessing logic in its own function fe24255 cmd: rename forkedFromRemote to defaultRemote 2abefb6 config: fix the worktree config comment 8a17309 fix glab link 25e17ac Reference glab ee99ea6 git: fix error message in NumberCommits cb7a8c2 git: fix UpstreamBranch
7c7f840 mr_create: fix the target remote 8251fd6 mr_list: Support search c59b143 issue_list: Add flag for matching exact terms 78cb696 fork: Allow forking from remotes other than "origin" 7c2c165 Fix the -h lab option 4241954 mr_list: Fix test 8c6eec1 mr approve: Fix unapprove test failures f7019fe mr_show: Add MR status "open (needs rebase)" 881fd1e config: Fix "attemping" typo 85a6290 mr_list: add flags for checking merge conflicts 115b471 issue, mr: Allow filtering lists by milestone fd7fd63 issue, mr: Allow editing milestone e068d19 issue_create: Add --milestone option 6cbbe1b mr_create: Allow passing milestone by name bdc9670 milestone: Add new milestone command 867a5b0 lab: Check that LAB_CORE_TOKEN is set before querying user for a token f798f62 ci_artifacts: Allow downloading artifact(s) 4b9781f mr_list: Update test (again)
319d609 Merge branch 'master' of github.com:zaquestion/lab
cf622fe update travis github token
1f481b1 util: fix syscall.Stdout and Stderr fd values on for Windows
2c097ca label: Add delete
subcommand
f5b306c label: Add new create
subcommand
23e8f40 labels: Support partial label names
4293972 mr_list: fix order and sort flags description
bc6e07a tests: Adjust expected issue show
output
b1d6c06 issue_show: Render markdown in notes
b0aed83 issue_show: Handle multi-line system notes better
258a825 issue_show: Move newline
8c03560 issue_show: Fix indent of multi-line discussions
25b187d issue_show: Use correct indent for note body
6437930 util: Support getting MR ID from branch name
dccfcf8 fork: cleanup function args
67d04c2 fork: populate fork options directly in the command
0f4e16c gitlab: fix fork name index
b34ae86 fork: rename namespace to group
82d9be5 test: Fix draft-mr test preparation
33de0c3 ci_view: Fix screen freeze
dd21120 gitlab: check SearchGroup list length
45198d3 (project create) support creates in subgroups and nested subgroups
22b09ca (project create) parse group from path
76e7bcd remove 'in your user namespace', we can create projects in other ns
cd24a6d add comment to clarify behavior when namespaceID is nil
4ffe48e create a repository in a group
b602d4e mr_list: diff between latest updated and created MR
4476a44 Disable flag sorting for some commands
cd3bfec ci: Handle job names with colons in filterJobArg()
fd00962 cmd: Add PersistentPreRun where it's currently missing
c743a49 util: Always override config file flags from the command line
bf71f13 mr_test: Fix typo
c11e773 issue_close: Allow closing as duplicate of another issue
f945aca issue_reopen: Add subcommand to reopen closed issues
894625e gitlab: Return error when trying to close a closed issue
df3d8a9 fork: add test for --no-wait option
d980c61 fork: add test for custom target options
54d13ae fork: allow custom namespace as remote name
8660629 gitlab: target fork name and path must not be empty
308d63a gitlab: consider custom namespace for finding a project
35edd30 fork: wait for the actual fork process completion
1ab3a53 fork: enable different target name, namespace and path
4aadd27 mr_show: Fix --patch option with no arguments
d9a2d69 mr: Fix draft test
c1bc35a mr: Use bang to denote MR IDs
fb024b8 mr: Add draft test case
87cd0bb mr_create: Allow creating draft merge request
4b72ab8 mr_list: Allow filtering by draft status
b4f4d18 mr_edit: Support (un)marking merge requests as draft
d315e01 ci: Add support for merge request pipelines
6f7973e gitlab: Use pipeline ID for getting jobs
6287135 issue_note: Fix quoting of replied comment
ee7fda4 Revert "ci_status_test: Reverse expected output"
f055edf gitlab: Sort list of returned jobs
e8b6600 gitlab: simplify CIJobs a bit
173544a show: check output type before rendering Markdown
32fd380 mr_test: Add separate test case for different upstream name
568d297 Revert "mr_test: Check out test branch under diverging name"
06b5f6a ci_test: Only use labBinaryPath for lab commands
3bb895b mr_list: fix test latest MR
6e4a87a mr_reopen: add command for reopening a closed MR
333616b ci_test: Use a different local branch name
434587b mr_test: Check out test branch under diverging name
37348fb testdata: Fix non-default remotes
d6b8490 ci: Use better default branch and remote for fetching jobs
d939764 mr: Default to remote tracking branch
022fa99 Makefile: move PHONY target from 'deps' to 'build'
4413443 Fix another typo
cf63bff Fix typo in readme
15e066b mr list: Add sort and order tests
6993e9e mr list: Add --sort list option
750e04a mr list: Add --order option
845de95 mr/show: Fix glitch in error message
8486750 lab: Add tests for reply commands
f46c433 lab reply: Fix replies with -m option
29f9553 lab: Add 'mr resolve' alias to 'mr note'
ae4b111 mr note: Add --resolve option
465b8a4 mr: Remove questionable aliases
2c1fd59 mr: Don't set minimum number of args
b42b06b lab show: Convert html comments to text
014a9ec show: Add system note output
e19c7e1 mr: Add approve and unapprove tests
46cef78 mr_show: Display approvals
0fd88fc gitlab: MRListDiscussions must return all discussions
7321203 mr list test: Update Test_mrListByTargetBranch
77ce9d3 Allow using HTTP protocol instead of SSH
3e3b74d Make http default fork
a922751 config: check mandatory options before allowing any action
40cd2d3 config: Provide better PAT information message
6ef2d45 root: run remote discovery code in worktree only
eac93fb issue_edit: Fix minor typo
66f3f5a issue_show: fix test case
5228809 root: add default values to test setup
6d1316d root: add fallthrough option for setting forkedFromRemote
bb4aeef root: fix default branch remote discovery
628a61c root: remove redundant check
a048e20 show: Fix bug with multi-line discussion comment output
4353b94 note: Add reply --quote functionality
0e25db0 note: Add reply functionality
24a5b66 fix: (mr checkout) override target remote when passed as arg
1ee9cd5 show: Unify the PrintDiscussions() code
aa00f8b note: Unify mr and issue note codebases
010a623 root_test: Add tests for new config and flag layout
9bf2452 lab: Add LabPersistentPreRun() to all commands
928ac90 show: Convert to using flagConfig()
47de8c5 util: Add flagConfig function
8507984 fix: #364 support passing remote to mr checkout
9a68717 README.md: Update documentation with new config layout
d2050a9 flags: fix "message" string handling
7dcf390 lab: rework config ordering
4289c25 show: Migrate metadata to lab toml file
c7ddf19 config: Simplify metadata config functions
f730ac1 lab: Rename LoadConfig()
810be67 config: Add multiple vipers
86f9dd6 mr_checkout: fix usage message
e8b79e8 Fix typo in discussion
cce87e3 Fix discussion test
9eab160 Fix tests for mr discussion
fd4bc29 Add mr discussion creation
6022af3 lab: Add --force-linebreak option
4dc20f9 config: Add WorkTree functions
6298774 config: Read token from other sources
d4dfe5e fork: fix clonning for projects within subgroups
c1067e5 clone: fix folder name used for operations after clonning
9ce5c7c main: skip config initialization for --version and --help
08f5c32 issue,mr: remove markdown flag from parent command
e25d3e0 config: Small LoadConfig() cleanup
4104b40 show: Add "comments" config option.
dbf3165 show: Reorganize config code
6d8163f config: add Convert test
51d9b7d config: Fix and clean up certificate code
8dda6ff config: Move config init code
2c6e0d8 config: Rework the config code
44d164e config: Convert config files from HCL to TOML
6ce90a2 [PATCH] Add --patch
option to mr show
08ceeac Revert commit 1285411b8584 ("config: Fix missing core.user entry")
2fb924f issue show: Add automatic comment highlights
bad596f issue show: Add --since option
cc98e63 mr show: Add automatic comment highlights
e1076ee mr show: Add --since option
1285411 config: Fix missing core.user entry
40bfa11 mr list: Add --mine and --assignee options
3365d11 mr create: Add mr create --file option
9561d5a go fmt
7159c2b added gofmt check to travis build
4cd8998 mr show: tests for updated comments
690015e show: Mark updated comments
d2c3dfe note: Add mr note --file option
6b4ee46 mr create: Set default target branch
163c86e updated carapace to 0.0.16
57fabb8 lab: Add --comments flag to 'mr show'
9bf1f87 mr show: Fix 'mr show' for unassigned Merge Requests
3f4e7ba edit: Fix GIT_EDITOR evaluation
7a92c29 added completions to readme
7bebe48 updated shell completion
ffc8929 .goreleaser.yml: Create arm/arm64 binaries
bba7c39 fix ci
2e1fd24 Merge branch 'master' into fix_issue_338
ed122dd README.md: Update to require go 13 or newer
6224c31 fork: Add option to skip the clone
496b0f3 add parseArgsRemoteRef - base unification + test
468bb69 use GetCommit by ref instead of GetBranch
763b691 base changes - WIP for review
8e68f5f Merge branch 'master' into support-issue-templates
df7e662 Apply automatic formatting
9294018 readme: warn before aliasing
b0b8ee2 alec/multiple-assignees
fa99382 Create .deepsource.toml
ea586a4 Merge branch 'master' into ci-status
2411e84 Update FUNDING.yml
edcd8ba Merge branch 'master' into ci-status
f354e90 label list: support pagination
cd835e9 Using glamour's new auto-style feature
13e45f1 small test fix concerning whitespace
5466231 Test now handle ansi chars
a9111f0 Using implementation independent variable names
111cb0b Fixing up tests to work with glamour
039f39f Glamour support for merge request descriptions
75146a3 glamour can also be disabled without "show"
5acfd58 Glamour Support can now be disabled with -G instead of enabled with -g
c3a64b0 Added flag -g to enable glamour support
c81698a first working draft of glamour-support
b39265d ci status --wait: actually wait for jobs to finish
01e4354 Set TLS skip verify when getting user
2d3c105 Update .goreleaser.yml
a2bc5d2 fix: #356 use SetScreen to avoid weird SetFocus deallocks
6d9efae improve project not found error to clarify it may be a permission issue
3f9088d add "tls" config section for specifiying client certs or skiping tls verification
c875a07 fix: #351, need to do proper interface checking since the cfg can come in as 2 different types
929c8f3 Add support for freebsd/arm64
284fbb8 fix #314: --version not showing lab version
6d80422 use latest go in travis
3680ee2 remove mentions of providing user to lab which happens automatically now
c9bee03 Support issue templates
01d6397 fix: #295 to bring in simplified current brnach changes
c5d4454 #321: allow completions to be generated without authenticating with GitLab
18d029c update tview dep
63bb26a try XDG_CONFIG_HOME
020e58f Create FUNDING.yml
bdb1a7e Use normal string concat to avoid "/" removal
da99136 Fix crash when opening issue in browser
3654a36 tview patch
5a30108 get the CurrentBranch from git instead of parsing text