Commit Graph

327 Commits

Author SHA1 Message Date
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
amine
614bc5a2c5 commands: support bridge imports after a given date and resumable imports 2019-11-03 17:21:27 +01:00
Michael Muré
8c7c9880b1
Merge pull request #228 from ludovicm67/patch-cli-label-colors
Display label colors in termui
2019-11-03 13:09:55 +00:00
Michael Muré
f72a9dc62b
switch to go-term-text to fix bad underflow for label rendering 2019-11-03 14:00:35 +01:00
amine
60c6bd360f bridge: use new repository configuration interface
commands/webui: use new repository configuration interface
2019-11-01 22:44:11 +01:00
ludovicm67
809abf9244
ls: add labels color + formatting for comments 2019-10-28 12:43:24 +01:00
Amine
e5b33ca39c
commands: silence usage when cobra commands return an error 2019-09-06 11:01:09 +02:00
Amine Hilaly
f3d8da1075
bridge/core: add tokenStdin field to bridgeParams
commands: move tokenStdin handling logic to bridge.Configure
2019-09-02 09:44:00 +02:00
Amine Hilaly
be94780315
bridge/github: recover terminal state in password prompts
commands: error if a token is provide but not the bridge name and target
2019-08-31 23:02:20 +02:00
Amine
65d7ce7c05
commands: enhance flag description
bridge/github: improve configuration logic

Co-Authored-By: Michael Muré <batolettre@gmail.com>
2019-08-31 23:02:20 +02:00
Amine Hilaly
0381400bfd
commands: read token from stdin in bridge configuration
bridge: improve bridge config validation
2019-08-31 23:02:20 +02:00
Michael Muré
c7792a5d12
commands: add a "tui" alias for "termui" 2019-08-31 13:25:44 +02:00
Michael Muré
2b14bb253c
Merge pull request #205 from seeduvax/issue-178
issue 178: fetch the repo dir with rev-parse --git-dir
2019-08-31 13:23:26 +02:00
Sebastien Devaux
7e123fbfca issue 178: fetch the repo dir with rev-parse --git-dir
Since is returns the .git dir directly, it is not more needed to
concatenate .git.
2019-08-24 22:42:25 +02:00
Michael Muré
35c6cb6e36
readme: tweaking 2019-08-24 14:18:22 +02:00
Amine Hilaly
03b6afa2f3
docs: update implementation table
docs: add bridge usage examples
2019-08-24 13:55:49 +02:00
Amine Hilaly
514dc30c20 bridge/gitlab: fix edit comment request and remove label functionalities 2019-08-19 23:56:50 +02:00
Amine Hilaly
e6931aaf6f commands: silence export and import nothing events 2019-08-19 00:19:58 +02:00
Amine Hilaly
5ca326af83 bridge/core: add context.Context to ImportAll and ExportAll signatures
bridge/core: add ImportResult objects to stream import events

bridge/core: launchpad support asynchronous import

bridge/github: cancellable export and import functions

bridge/gitlab: cancellable export and import functions

commands: bridge pull/push gracefull kill

bridge/github: fix github import

bridge/github: use simple context for imports

bridge/core: name parameters in interfaces

github/core: Add EventError to export and import events types

bridge/gitlab: add context support in gitlab requests functions

bridge/gitlab: remove imported events count from importer logic

bridge/github: remove imported events count from importer logic

bridge/github: add context support in query and muration requets

bridge/github: fix bug duplicate editions after multiple calls

bridge/core: import import and export events String methods
bridge/gitlab: fix error handling in note import events

commands/bridge: Add statistics about imports and exports

bridge/gitlab: properly handle context cancellation

bridge/github: improve error handling

bridge: break iterators on context cancel or timeout

bridge: add context timeout support

bridge: improve event formating and error handling

commands: handle interrupt and switch cases

bridge/github: add export mutation timeouts

bridge: fix race condition bug in the github and gitlab importers
bridge/github: improve context error handling
2019-08-18 00:14:22 +02:00
Michael Muré
99b5c58d43 finish the refactoring for the dedicated identifier type 2019-08-12 16:12:14 +02:00
Michael Muré
2e1a5e246e bug: compute op's ID based on the serialized data on disk 2019-08-08 19:02:46 +02:00
Michael Muré
eef7333243
commands: fix a missing line break 2019-07-07 12:50:23 +02:00
Michael Muré
dc289876c6
bridge: detect when trying to configure a bridge with a name already taken 2019-07-07 12:15:01 +02:00
Amine Hilaly
1f365b2369
[core] Implement ExportResults
Use ExportResult chan to send export events
Remove exportedBugs and exportedLabels
2019-06-30 15:42:45 +02:00
Amine Hilaly
6d9ba4aba2
rebase & fix push command 2019-06-24 21:28:43 +02:00
Amine Hilaly
0424a0fa19
[commands] bridge: add push sub command
[commands] bridge: use cobra max args
2019-06-24 21:19:43 +02:00
Michael Muré
54e95cf36f
Merge pull request #171 from MichaelMure/graphql-mutation-relay
Graphql mutation relay
2019-06-23 21:36:42 +02:00
Amine Hilaly
07cc5e4100
Rebase & Update commands/bridge_rm.go
Co-Authored-By: Michael Muré <batolettre@gmail.com>
2019-06-17 23:33:48 +02:00
Amine Hilaly
ee2ca519e6
Changes to Repo.RmConfigs
RmConfigs try to remove key/value or section from keyPrefix
2019-06-17 23:33:32 +02:00
Amine Hilaly
319b648d0f
Naming fixes 2019-06-16 23:02:59 +02:00