Commit Graph

88 Commits

Author SHA1 Message Date
Michael Muré
5511c230b6
move {bug,identity} to /entities, move input to /commands 2022-08-18 23:44:06 +02:00
Michael Muré
45f5f852b7
core: generalized resolvers to resolve any entity time when unmarshalling an operation 2022-08-18 15:55:48 +02:00
Michael Muré
d179b8b7ec
bug: fix an issue where Id would be used, then changed due to metadata 2022-07-31 14:38:32 +02:00
Michael Muré
5549925235
cache: many fixes following the dag entity migration 2021-04-08 16:18:31 +02:00
Michael Muré
3f6ef50883
bug: migrate to the DAG entity structure! 2021-02-14 12:19:50 +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
ef0727860a
Add full-text search support in the ls command 2020-11-17 08:09:51 -05:00
Mike Goldin
0a827af60a
Create a search cache index when git-bug starts up if none exists 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é
ca720f165c
cache,bug,identity: structural change
- bug doesn't commit identities anymore, only make sure they are commit
- cache use an IdentityResolver to load bugs with identities from the cache (deps injection)
- IdentityCache now are identity.Interface
2020-10-04 20:39:10 +02:00
Michael Muré
71b7eb1401 repo: implement local/global/any config everywhere 2020-09-29 20:42:21 +02:00
vince
2440a208f6 Fix bugs and cleanup code 2020-08-26 09:27:31 +08:00
Michael Muré
4d678f3e05
cache: simplify cache eviction 2020-08-25 15:26:23 +02:00
vince
4b065029af Implement cache eviction and testing 2020-08-25 11:08:53 +08:00
vince
6efada43e7 Implement the LRU Cache 2020-08-20 14:06:18 +08:00
Michael Muré
92a59eceee cache: fix BugExcerpt's timestamp not properly stored
fix #426
2020-07-28 20:39:07 +02:00
Michael Muré
8a38af24d4 cache: split into multiple files for readability 2020-07-03 18:58:58 +02:00
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é
893de4f5c0 identity: bring back the login to hold that info from bridges (purely informational) 2020-02-25 21:35:57 +01:00
Michael Muré
929480fa0a graphql: expose the name of Repository 2020-02-12 21:03:20 +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é
da0904d238
cache: rework resolving of bugs, identity 2020-02-08 17:18:29 +01:00
Michael Muré
da6591e480 cmd: "user create" only assign the user identity if not set 2019-12-10 20:13:49 +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é
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é
cc3a21acb6 doc: add an architecture overview 2019-04-18 02:48:27 +02:00
Michael Muré
96987bf6ae
cache: add a push/pull test 2019-04-02 22:01:42 +02:00
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
Michael Muré
bad05a4f3d
cache: better API to access excerpts 2019-03-01 22:52:54 +01:00
Michael Muré
46beb4b886
identity: another round of cleanups 2019-03-01 22:52:53 +01:00
Michael Muré
7a80d8f849
commands: add a super-fast "user ls" command 2019-03-01 22:48:51 +01:00
Michael Muré
8bba6d1493
cache: fix ResolveIdentityImmutableMetadata byt storing metadata in IdentityExcerpt 2019-03-01 22:48:50 +01:00
Michael Muré
71f9290fda
identity: store the times properly 2019-03-01 22:40:27 +01:00
Michael Muré
54f9838f0a
identity: working identity cache 2019-03-01 22:40:26 +01:00