Commit Graph

214 Commits

Author SHA1 Message Date
Michael Muré
db7074301b
entity: generalize the combined Ids, use 64 length 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
Michael Muré
b494e06804
query: english specialized indexing 2020-11-17 08:09:52 -05:00
Michael Muré
9bea84e232
ls: fix query quotation 2020-11-17 08:09:51 -05: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é
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
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
Michael Muré
408654514e
cache: make the title filter case insensitive 2019-03-03 15:23:20 +01:00
Sladyn
6fee8a4442
Commit to chane the description of function 2019-03-03 10:38:33 +05:30
Sladyn
f1d5ca4ff4 Rebased and updated. 2019-03-02 23:58:15 +05:30
Sladyn
0c42a7c33e Rectified Tests 2019-03-02 23:06:55 +05:30
Sladyn
e825525a08 Fixed filter.go
GolangCI complained about an if return else return statement which is fixed in this commit.
2019-03-02 23:06:55 +05:30
Sladyn
beecd2dbe4 Made requested changes
Made changes to the doc files and remaining areas which required updation.
2019-03-02 23:06:55 +05:30
Sladyn
43e56692e8 ls.go:git bug ls should be faster
Added `Title` to BugExcerpt
Added `TitleFilter` to `filter.go`
Used BugExcerpt in `ls` command to improve performance.

Closes https://github.com/MichaelMure/git-bug/issues/98
2019-03-02 23:04:45 +05:30
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é
e100ee9f10
github: fix 3 edge-case failures 2019-03-01 22:48:50 +01:00
Michael Muré
b8caddddc7
identity: some UX cleanup 2019-03-01 22:40:28 +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
Michael Muré
947ea63522
identity: wip caching 2019-03-01 22:40:26 +01:00
Michael Muré
864eae0d6b
identity: work on higher level now, cache, first two identity commands 2019-03-01 22:40:25 +01:00
Michael Muré
da558b05ef
identity: all tests green o/ 2019-03-01 22:40:24 +01:00