Commit Graph

132 Commits

Author SHA1 Message Date
Michael Muré
3cf31fc404
repository: merge git.Hash in for one less /util package 2020-07-01 19:39:02 +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
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é
c326007d01
fix cache not rebuilding properly 2020-06-26 00:58:38 +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é
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é
e0a702f41d
cache: fix missing login in LegacyAuthorExcerpt causing panic 2020-03-05 21:57:55 +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é
e9aff2a2a1
Merge remote-tracking branch 'origin/master' into cheshirekow-jira 2020-02-14 22:56:59 +01:00
Michael Muré
929480fa0a graphql: expose the name of Repository 2020-02-12 21:03:20 +01:00
Michael Muré
b3d3612393
Merge remote-tracking branch 'origin/master' into cheshirekow-jira 2020-02-09 20:23:38 +01:00
Michael Muré
b7dc5b8aeb
cache: add proper locking to avoid concurrent access 2020-02-09 02:44:00 +01:00
Michael Muré
81f5c3e0af
graphql: use the cache in priority for fast browsing at < 20ms instead of seconds 2020-02-09 02:18:44 +01:00
Michael Muré
74e9114410
more more wip 2020-02-08 17:19:57 +01:00
Michael Muré
8da522d97a
wip 2020-02-08 17:18:30 +01:00
Michael Muré
da0904d238
cache: rework resolving of bugs, identity 2020-02-08 17:18:29 +01:00
Michael Muré
390b13c9ff
identity: rework mutation 2020-02-08 17:18:29 +01:00
Michael Muré
f093be96e9 cache: don't store legacy identities IDs in bug excerpt as they are not reachable. Fix a panic 2020-02-03 22:02:01 +01:00
Josh Bialkowski
cd889572f7 codereview #2: some cleanup, correct use of nothing-events
* return error, don't panic
* skipping status export is an error
* use switch in config.go
* move PromptPassword to input
* move client construction into getIdentityClient
* use non-pointer context throughout client since it is an interface
* remove some TODOs
* don't emit multiple nothing-events, just one per bug only if nothing
  happened.
* rename EditBody to EditCreateComment
* add configuration notes about additional values
* store bug id map in a dictionary in the config
* some fixes from testing
2019-12-18 07:42:16 -08:00
Josh Bialkowski
eff830bdcb Implement jira bridge 2019-12-18 07:42:13 -08:00
Michael Muré
da6591e480 cmd: "user create" only assign the user identity if not set 2019-12-10 20:13:49 +01:00
amine
8b5685bb99 bridge/github: importer corectly emit events 2019-11-19 19:54:07 +01:00
amine
618f896f66 cache: update RepoCache and identity to use new repository Config 2019-11-01 22:01:21 +01: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
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é
67a3752e17 bug,entity: use a dedicated type to store IDs 2019-08-11 14:08:03 +02:00
Michael Muré
612a29b031 fix everything following the hash-->id change 2019-08-08 19:06:13 +02:00
Amine Hilaly
e511f3d885
[misc] update man docs and completion scripts
[cache] BugCache: Fix set metadata raw

[bridge/github] Fix graphql input objects
2019-06-24 21:30:45 +02:00
Amine Hilaly
6451dd2928
[cache] BugCache: Add set metadata methods
[bridge/github] fix add/remove mutation requests

[bridge/github] iterator: fix typo
2019-06-24 21:26:34 +02:00
Michael Muré
9f4da4ce4f
cache: consistently use "ref" to fetch a repository 2019-06-23 21:28:01 +02:00
Michael Muré
bc03a89aa7 fix tests 2019-06-16 21:40:45 +02:00
Michael Muré
b2f8572c44 graphql: change mutations to respect the Relay specification
https://facebook.github.io/relay/graphql/mutations.htm

This specification also allow to expose a mutationId for fire and forget,
as well as the created operation.
2019-06-16 21:29:49 +02:00
Michael Muré
08c0e18ade cache: expose the operation when creating a new bug 2019-06-16 21:04:36 +02:00
Sladyn
2c4c0132bf
Add GetRemotes functionalities 2019-05-29 22:58:01 +02:00
Michael Muré
d564e37b31 repository: add ReadConfigBool and ReadConfigString functions 2019-05-27 21:39:55 +02:00
Michael Muré
c7abac388a repo: refactor how test repo are created/cleaned 2019-05-27 21:14:55 +02:00
Amine Hilaly
f7ea3421ca Add ForceLabelChange functionalities 2019-05-05 18:16:10 +02:00
Michael Muré
cc3a21acb6 doc: add an architecture overview 2019-04-18 02:48:27 +02:00
Michael Muré
5eeeae7cdf
commands: fix ls not displaying the new Identities properly 2019-04-11 20:04:44 +02:00
Amine Hilaly
1d00ded250 implement identityExcerpt match method and integrate it into filters
Update docs
2019-04-05 16:56:08 +02:00
Amine Hilaly
98169d5ad1 Support query with identity ID and truncated ID 2019-04-05 15:29:14 +02:00
Amine Hilaly
57f0c2f25d improve docs 2019-04-05 00:01:08 +02:00
Amine Hilaly
682da55271 Improve actor/participant query filters
Lower case identity login
2019-04-04 17:21:40 +02:00
Amine Hilaly
2a5fbc4dc9 Expose actors and participants in snapshot and bug excerpt
Append operations authors to each list on Apply() call

Expose actors and participants in graphql

Add actor/participant query filter and documentation
2019-04-04 00:37:57 +02:00
Michael Muré
96987bf6ae
cache: add a push/pull test 2019-04-02 22:01:42 +02:00
Sladyn
1d758f9f64 cache/filter.go: Fix and match for labels
Fixed filter query for multiple labels from
`OR` to `AND` according to github conventions.

Fixed https://github.com/MichaelMure/git-bug/issues/115
2019-03-31 16:09:29 +05:30
Michael Muré
24d6714dd5 cache: properly push/pull identities and bugs 2019-03-27 21:44:11 +01:00
Michael Muré
d27e3849b8 cache: add basic unit testing 2019-03-25 22:06:01 +01:00