Commit Graph

155 Commits

Author SHA1 Message Date
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é
1a0c86a12d
repo: use go-git in more places, fix push 2020-10-04 19:56:16 +02:00
Michael Muré
71b7eb1401 repo: implement local/global/any config everywhere 2020-09-29 20:42:21 +02:00
Michael Muré
3ecbf8db28 bridge: store credentials in the Keyring instead of the git config 2020-09-29 20:42:21 +02:00
Vincent Tiu
8a4e4a1290
Update cache/lru_id_cache.go
Co-authored-by: Michael Muré <batolettre@gmail.com>
2020-08-27 20:10:10 +08: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
vince
0fd09aa6b5 Fix concurrency error 2020-08-18 20:22:04 +08:00
vince
c215861e6f Remove pointer and unnecessary code 2020-08-13 20:26:41 +08:00
vince
e9a7725ca4 Add mutex to bugCache
This adds a mutex to the bugCache to deal with locking.
2020-08-13 20:17:38 +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é
a62ce78c4f
bug: code cleanup for the rm feature 2020-07-28 14:30:07 +02:00
vince
18ddc77590
Fix bug tests 2020-07-28 14:30:07 +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
7dbcca84c7
Add test for removing bug from cache 2020-07-28 14:30:05 +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é
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é
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