Commit Graph

356 Commits

Author SHA1 Message Date
Steve Moyer
ecfffe3902
test(778): execute add user in testEnv and return userID 2022-05-28 10:30:44 -04:00
Steve Moyer
508d0eb82a
test(778): clear output after user creation 2022-05-28 10:29:30 -04:00
Steve Moyer
50324b8a7c
test(778): verify user create results in an identity and cache 2022-05-27 13:39:16 -04:00
Steve Moyer
5962ed8453
test(778): verify root command returns main help text 2022-05-27 13:37:16 -04:00
Steve Moyer
523a148185
test(778): allow alternate CWD via context 2022-05-27 13:33:44 -04:00
Steve Moyer
1659fed99f
test(778): capture stderr and stdout during tests 2022-05-27 11:15:35 -04:00
Steve Moyer
e120fdb97e
refactor: use namespace instead of application of applicationName 2022-05-26 13:39:13 -04:00
Steve Moyer
b42fae382a
feat: make local storage configurable 2022-05-25 07:55:28 -04:00
Michael Muré
3d534a70e9
completion: lots of small ironing 2022-05-01 12:46:58 +02:00
Michael Muré
b9991d84b9
ls: fix incorrect query parsing with quotes escaped by the shell 2022-05-01 12:31:50 +02:00
Michael Muré
f25690db47
completion: use the correct GenBashCompletionV2 instead of the legacy function 2022-05-01 10:54:13 +02:00
Johannes Altmanninger
bc6ba02bd8
Add command-specific argument completions
Complete bug IDs, bridges, users, labels where appropriate.

This works in bash and fish. ZSH is not yet supported by Cobra.
In fish, descriptions (the part of a completion after the "\t") are shown
as completion label, and can be searched with Ctrl+S.

Reproduce with

	fish -C 'source misc/fish_completion/git-bug'
	git bug select ^I

(tested with fish version 3.3.1)

Also works with bash, but only for "git-bug" (with the dash)

	bash --rcfile <(echo source misc/bash_completion/git-bug)
	git-bug select ^I

Closes #493
2022-05-01 10:54:13 +02:00
Sascha
6d0331e112 Command ls: Add compact format 2021-08-17 17:07:36 +02:00
Michael Muré
271dc1334c
commands: proper backend close on RunE error 2021-05-09 11:33:20 +02:00
Sascha
1939949fcd
CLI: Add non-interactive option to interactive commands (#651)
* Add option to skip the AvatarURL input request

Using an empty string for the avatar cli flag e.g. `git-bug user create
-a ""` will still result in a prompt. As the avatar URL is an optional
option, it should be possible to skip asking for it entirely.
Otherwise automated user creation via a script must make use of pipe hacks.

* Add global --non-interactive cmdline option

* Replace --skipAvatar for --non-interactive option

* Cmd BugAdd: respect non-interactive option

* Cmd bridge configure: respect non-interactive opt

* Cmd CommentAdd: respect non-interactive option

* Cmd CommentEdit: respect non-interactive option

* Cmd TermUI: respect non-interactive option

* Cmd TitleEdit: respect non-interactive option

* Remove global non-interactive option

* Cmd UserCreate: Use local non-interactive option

* Cmd BugAdd: Use local non-interactive option

* Cmd BridgeConfigure: Use local non-interactive option

* Cmd CommentAdd: Use local non-interactive option

* Cmd CommentEdit: Use local non-interactive option

* Cmd TermUI: Drop non-interactive option

It should be obviouse that the termui is an interactive command.

* Cmd TitleEdit: Use local non-interactive option

* Update docs

* Bridge GitHub: respect non-interactive option

* Bridge GitLab: respect non-interactive option

* Bridge Jira: respect non-interactive and token opt

* Fix failing compilation

* Bridge launchpad: respect non-interactive option

* bridge: isNonInteractive --> interactive

Co-authored-by: Michael Muré <batolettre@gmail.com>
2021-05-09 11:14:45 +02:00
Hariharan
bc96f316ff
CLI - allow user create without prompt (#650)
* CLI - allow user create without prompt. Fixes #577

* Update commands/user_create.go email message

Co-authored-by: Michael Muré <batolettre@gmail.com>

* Update docs

Co-authored-by: Michael Muré <batolettre@gmail.com>
2021-04-25 16:46:36 +02:00
Michael Muré
51a2c85954
make sure every text input is safe and validated
fix #630
2021-04-17 17:40:11 +02:00
Michael Muré
aa0449a3ea
Merge remote-tracking branch 'origin/master' into dag-entity 2021-03-29 11:02:08 +02:00
Michael Muré
3a819525d7
commands: minor fixes for the webui open with query
- go fmt
- add a shorthand
- fix displayed webUI URL in the terminal
2021-03-07 21:44:48 +01:00
Miklos Vajna
626ec9835b webui: allow specifying the initial query
Example use-case: given a github URL in a source code comment or commit
message, one can now run:

git bug webui --query 'metadata:github-url:"https://github.com/author/myproject/issues/42"'

on the commandline to look up the details of that issue on the web ui
quickly, offline.

Fixes <https://github.com/MichaelMure/git-bug/issues/592>.
2021-03-07 14:11:04 +01:00
Sascha
ea329aed69 Add option to specify host address
'--host'-cmdline-option is added to the webui command.

Previously, the WebUI couldn't be hosted inside of a container. As the
WebUI-server only listend per default to localhost and there was no
option to change the address, the server should listend to. This means,
that the WebUI was only reachable from localhost. So only from inside of
the container but never from outside.
The '--host'-option allows to set the IP address or a hostname
which the WebUI-server should listen to. E.g. by setting 0.0.0.0 or ::
as address.

Update documentation for new option.

Update shell completion for new option.

Compilation seems to add another go-gitlab version.
2021-02-28 21:20:15 +01:00
Miklos Vajna
cb61245078 Add ability to search by arbitrary metadata
Example:

~/git/git-bug/git-bug ls --metadata github-url=https://github.com/author/myproject/issues/42

or

~/git/git-bug/git-bug ls metadata:github-url:\"https://github.com/author/myproject/issues/42\"

Fixes the cmdline part of <https://github.com/MichaelMure/git-bug/issues/567>.
2021-02-21 14:15:50 +01:00
Michael Muré
bb8a214df3
command: fix "comment edit" usage 2021-02-14 12:17:49 +01:00
vince
d96284da64
Change the comment ID to use both bug and comment ID references.
Add comment edit command
This commit adds the comment edit command, which provides a CLI tool that allows a user to edit a comment.
2021-02-14 12:17:48 +01:00
Michael Muré
ab57d74a31
deal with the previous changes 2021-02-14 12:17:47 +01:00
Michael Muré
c884d557bf
repo: move bleve there 2020-12-08 14:42:13 +01:00
Michael Muré
4ef2c11040
repo: finish RepoStorage move 2020-12-08 13:07:51 +01:00
Mike Goldin
ee3841155e
Update docs for full text search 2020-11-17 08:32:19 -05:00
Michael Muré
9bea84e232
ls: fix query quotation 2020-11-17 08:09:51 -05:00
Michael Muré
499dbc0a03
identity: remove support for legacy identity 2020-10-04 20:50:15 +02:00
Michael Muré
1a0c86a12d
repo: use go-git in more places, fix push 2020-10-04 19:56:16 +02:00
Michael Muré
02146f0b40 use go-git by default! 2020-09-29 20:43:53 +02:00
Michael Muré
71b7eb1401 repo: implement local/global/any config everywhere 2020-09-29 20:42:21 +02:00
Michael Muré
148b335dd3
command: match the output in ls and in the termui 2020-09-27 21:30:13 +02:00
Zdenek Crha
999e61224c Fix 'no description' readability in terminal with bright background
The rendering of color for 'No description provided' text is broken on
bright terminals - it sets black background which together with default
black forground color renders opaque rectangle.

The GreyBold color alias is broken too - name suggests bold gray
forground color, but actually sets bold default fg color with black
bacground.

First make color alias consistent. Rename it to BlackBold and have it
set bold black fg color (same as similar *Bold aliases).

Second, update all places which use it to render text to also use white
background to prevent it from disappering in terminals with black
background color.
2020-09-27 09:22:34 +02:00
Michael Muré
ae5c0967ce commands: cleanup the command's usage to avoid warnings when generating the doc 2020-07-28 20:24:24 +02:00
vince
6e315ea131
Update docs 2020-07-28 14:30:07 +02:00
vince
4e5f377d75
Remove need to specify remote
This commit makes the removeBug command use the listRefs repo command to search for the bug, eliminating the need to input the remote the bug came from.
2020-07-28 14:30:06 +02:00
vince
9436cf4b89
Move args parsing out of repo cache 2020-07-28 14:30:06 +02:00
vince
4e4ca106ae
Allow user to delete remote bugs 2020-07-28 14:30:05 +02:00
vince
36f300cb35
Add the 'rm' command
This commit adds a command that removes a bug from the repository, given a prefix.
2020-07-28 14:30:05 +02:00
Michael Muré
b4158dbd9e
Merge pull request #427 from wavexx/trim_titles
Trim titles in list views
2020-07-14 19:21:45 +02:00
Michael Muré
5c823a7024
ls: minor code improvements 2020-07-14 19:13:46 +02:00
Yuri D'Elia
54d4307a2e Trim titles in list views 2020-07-13 13:14:47 +02:00
Dima Gerasimov
efe6ea3371 ls --format org-mode enhancements
- fix and align OPEN/CLOSED states
- fix org-mode links format
- santize tags (org-mode only allows _ and @ as special characters)
- format datetimes as org-mode
2020-07-12 17:58:15 +01:00
Michael Muré
71989045c9 commands: fix segfault with badly loaded backend 2020-07-07 20:15:22 +02:00
Michael Muré
536c290dfb
commands: open and close the backend in a single place, simplify commands 2020-06-28 19:09:32 +02:00
Michael Muré
26bd1dd110
commands: refactor to avoid globals 2020-06-28 18:26:29 +02:00
Michael Muré
2ab6381a94
Reorganize the webUI and API code
Included in the changes:
- create a new /api root package to hold all API code, migrate /graphql in there
- git API handlers all use the cache instead of the repo directly
- git API handlers are now tested
- git API handlers now require a "repo" mux parameter
- lots of untangling of API/handlers/middleware
- less code in commands/webui.go
2020-06-27 23:03:05 +02:00
Luke Granger-Brown
5f72b04ef8
Use ErrNotAuthenticated 2020-06-27 23:01:10 +02:00
Luke Granger-Brown
e5a316e40c
Pull out context-stuff from identity into graphqlidentity package 2020-06-27 23:01:09 +02:00
Luke Granger-Brown
766aff2b2f
Change graphql Go handlers to pluck identity out of context instead. 2020-06-27 22:58:22 +02:00
Luke Granger-Brown
dfdb5e090b
Verify that we have an identity only in read-write mode 2020-06-27 22:56:11 +02:00
Luke Granger-Brown
43c78da02e
Don't permit file uploads in read-only mode 2020-06-27 22:56:11 +02:00
Luke Granger-Brown
4a28f25347
Add support for read-only mode for web UI.
Fixes #402.
2020-06-27 22:56:10 +02:00
Michael Muré
88ad7e606f
repository: remove tie to Bug, improved and reusable testing
- allow the creation of arbitrary Lamport clocks, freeing the way to new entities and removing Bug specific (upper layer) code.
- generalize the memory-only and persisted Lamport clocks behind a common interface
- rework the tests to provide reusable testing code for a Repo, a Clock, a Config, opening a path to add a new Repo implementation more easily
- test previously untested components with those new tests

Note: one problem found during this endeavor is that `identity.Version` also need to store one time + Lamport time for each other Entity (Bug, config, PR ...). This could possibly done without breaking change but it would be much easier to wait for https://github.com/MichaelMure/git-bug-migration to happen.
2020-06-26 19:14:22 +02:00
Michael Muré
aab3a04d0c
bug: harmonize how time are used, fix some issues in command special formats
This assume that the convertion from time.Time <--> Unix timestamp is lossless which seems to be.
2020-06-25 23:18:17 +02:00
Michael Muré
1d06244c82
cmds: cleanup and re-generate files 2020-06-24 15:10:57 +02:00
vince
ebd1030cde Fix bugs
This fixes some bugs experienced when using the new formatting options:
- org-mode indents not working properly
- print statements missing contents
2020-06-24 14:34:36 +08:00
vince
8eb004b405 Clean up code and fix suggestions 2020-06-24 10:22:32 +08:00
vince
fc3f6540b8 Add org-mode formatting option
This adds an option to the formatting flag on the ls, show and user ls commands that allows the user to specify the format of the output in org-mode. This will be useful for emacs users to read it in the editor.
2020-06-23 17:51:42 +08:00
vince
cd8352edde Add output formatting support to the 'show' and 'user ls' commands
This adds options to specify an output format for the commands in question. Supported formats are currently:
- 'plain': plaintext, stripped of all colors
- 'json': prints output as a json object
2020-06-21 13:51:48 +08:00
Vincent Tiu
f790083fb2
Merge pull request #403 from MichaelMure/ls-dump
[ls] add support for different output formats
2020-06-18 20:37:00 +08:00
vince
87eeba413d Print JSON as a well-formed object
This prints all the bugs in a JSON array instead of one by one.
2020-06-18 20:12:26 +08:00
Martin Michlmayr
ff0ff86336
doc: fix typos 2020-06-16 21:32:03 +08:00
vince
de5565b5f9
ls: Add support to ls dump bug information in specific formats
This adds an optional flag to the ls command that allows users to specify the format they wish to dump the output as. Currently, supported parameters are 'default', 'plain' and 'json'.
2020-06-16 15:05:48 +02:00
Wes Turner
25d633d5b0
DOC: commands/root.go: syntax 2020-05-01 00:36:01 +02:00
Michael Muré
314fcbb229
query: no need for an ast package 2020-03-28 17:13:28 +01:00
Michael Muré
5e4dc87ffe
cache: replace the all-in-one query parser by a complete one with AST/lexer/parser 2020-03-28 17:13:27 +01:00
Michael Muré
0b559bacd5
Merge pull request #344 from MichaelMure/github-lowercase-login
github: fix matching cred/identity with badly cased login
2020-02-29 17:26:33 +01:00
Michael Muré
fe38af05a8
github: correct casing for user provided login 2020-02-29 15:04:48 +01:00
Michael Muré
893de4f5c0 identity: bring back the login to hold that info from bridges (purely informational) 2020-02-25 21:35:57 +01:00
Michael Muré
fe3d5c95e4
bridges: massive refactor
- automatic flag validation and warning
- generalized prompt
- cleanups
2020-02-15 02:55:19 +01:00
Michael Muré
34083de0df auth: refactor and introduce Login and LoginPassword, salt IDs 2020-02-12 23:37:57 +01:00
Michael Muré
646fd681ff
it compiles \o/ 2020-02-08 17:19:57 +01:00
Michael Muré
db893494bb
input: better reusable prompt functions 2020-02-08 17:18:27 +01:00
Michael Muré
97bc5ccd22
various cleanups suggested by golang-ci 2020-02-08 16:17:15 +01:00
Michael Muré
7e48e0a9be
upgrade to gqlgen master, waiting for a release 2020-02-05 23:42:49 +01:00
Michael Muré
864d3ed335 bridge: allow to configure and pull without having set a user first
- init() only the importer or exporter as required
- assign a "default user" user Id to credentials at creation if no user has been set
- "bridge auth": also display the user
- "bridge auth show": adapt to a potential "default user" user Id
- "bridge configure": allow to run without a user set
- "bridge pull": allow to run without a user set
- "user adopt": replace "default user" by the actual user id when run
2019-12-25 23:25:39 +01:00
Michael Muré
e96d8e6771
Merge pull request #274 from MichaelMure/gitlab-bridge
bridge/gitlab: support self-hosted GitLab instance
2019-12-10 21:13:54 +01:00
amine
f6b4830c0b bridge/gitlab: support self-hosted GitLab instance 2019-12-10 21:05:55 +01:00
Michael Muré
da6591e480 cmd: "user create" only assign the user identity if not set 2019-12-10 20:13:49 +01:00
Michael Muré
f1ed857cbd
Merge pull request #271 from MichaelMure/bridge-credentials
bridge: huge refactor to accept multiple kind of credentials
2019-12-10 00:42:23 +01:00
Michael Muré
8f7f89561b
bridge: fix incorrect last import time on context cancel 2019-12-09 01:03:37 +01:00
Michael Muré
b92adfcb5f
bridge: huge refactor to accept multiple kind of credentials 2019-12-08 21:28:27 +01:00
Michael Muré
1a1e313f30 bridge: move export event handling to the CLI 2019-11-26 20:46:00 +01:00
amine
7cb772095e bridge: trim inputs during bridge configuration 2019-11-25 15:08:48 +01:00
amine
09db1cda71 commands: add bridge configure --token-id flag 2019-11-23 19:26:27 +01:00
Michael Muré
60427f066a bridge configure: no default name if the default has already been created 2019-11-19 20:20:19 +01:00
Michael Muré
e0b15ee764
cli: rename "token" into "auth" 2019-11-10 17:33:44 +01:00
Michael Muré
f8cf3fea03
cli: add bridge token show 2019-11-10 15:50:56 +01:00
Michael Muré
e2445edcb9
bridge: various improvement on the global token PR 2019-11-10 14:53:40 +01:00
amine
bbbf3c6c7f bridge/core: store token in the global config and replace scopes with create date 2019-11-09 14:52:20 +01:00
amine
4dc7b8b06e tokens: use entity.Id as id type 2019-11-09 13:26:52 +01:00
amine
baefa687b5 tokens: use a hash as token identifier instead of the token it self 2019-11-09 13:26:52 +01:00
Michael Muré
3984919a3d bridge: various cleanups 2019-11-09 13:26:48 +01:00
Amine
3433fa5def commands: use token value as identifier 2019-11-09 13:25:07 +01:00
Amine
967e168333 bridge/core: use token id instead of name
commands: add bridge token rm/add
commands: improve bridge token printing
2019-11-09 13:25:07 +01:00
Amine
9370e1292b commands: add bridge token subcommand 2019-11-09 13:25:07 +01:00
Michael Muré
57e23c8ada bridge: improvement on the import resume feature 2019-11-03 17:23:05 +01:00