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
Michael Muré
d2483d83dd
identity: I can compile again !!
2019-03-01 22:40:24 +01:00
Michael Muré
328a4e5abf
identity: wip push/pull
2019-03-01 22:40:23 +01:00
Michael Muré
14b240af8f
identity: more cleaning and fixes after a code review
2019-03-01 22:40:22 +01:00
Michael Muré
844616baf8
identity: more progress and fixes
2019-03-01 22:40:21 +01:00
Michael Muré
bdbe9e7e82
identity: more progress and fixes
2019-03-01 22:35:37 +01:00
Michael Muré
feab9412df
WIP identity in git
2019-03-01 22:35:36 +01:00
Michael Muré
0aefae6fcc
cache: fix unhandled error
2019-02-28 00:53:36 +01:00
Michael Muré
d380b3c16b
cache: output the build info message on stderr to avoid breaking scripts
2019-02-20 21:58:29 +01:00
Michael Muré
8ec1dd0926
github: working incremental + comment history for the first comment
2018-10-01 23:34:45 +02:00
Michael Muré
6ea6f3614e
bug: in op convenience function, return the new op to be able to set metadata later
2018-10-01 23:31:16 +02:00
Michael Muré
be59fe0d67
cache: also index the first op metadata
2018-10-01 21:55:41 +02:00
Michael Muré
a4b218adec
add documentation
2018-10-01 21:47:12 +02:00
Michael Muré
1bf268cebc
merge package operations into bug, they are tightly coupled anyway
2018-09-29 00:51:54 +02:00
Michael Muré
40c6e64e4b
cache: add raw edit functions to allow setting up the author, the timestamp and the metadatas
2018-09-25 17:56:58 +02:00
Michael Muré
061e83d4b4
commands: add "bridge rm"
2018-09-24 16:24:38 +02:00
Michael Muré
666586c5b9
repo: add functions to read/write git config
2018-09-24 15:21:34 +02:00
Michael Muré
82eaceffc1
repo: split the Repo interface to avoid abstraction leak in RepoCache
2018-09-21 18:53:37 +02:00
Michael Muré
6e44759413
commands: add a "ls-labels" command that output valid labels
2018-09-21 14:02:05 +02:00
Michael Muré
63d0b8b72f
cache: relay early the merge events
2018-09-19 21:45:52 +02:00
Michael Muré
760d077134
cache: don't ignore error when building the cache
2018-09-18 23:36:45 +02:00
Michael Muré
0d5998eb67
commands: add a package to handle implicit bug selection
2018-09-18 12:49:16 +02:00
Michael Muré
6f5d433e33
docs & cleaning
2018-09-16 13:50:53 +02:00
Michael Muré
7bec0b1f13
bug: add a data validation process to avoid merging incorrect operations
2018-09-15 13:15:00 +02:00
Michael Muré
b168d71fc1
cache: attempt to future-proof the cache file
2018-09-13 17:59:02 +02:00
Michael Muré
f569e6aacc
operations: return a more convenient array of result for label changes
2018-09-13 12:20:28 +02:00
Michael Muré
19f43a83c3
bug: proper int baked enum for merge result status instead of a string
2018-09-13 11:13:51 +02:00
Michael Muré
3605887345
reorganize package for a more idomatic go
2018-09-11 22:14:46 +02:00
Michael Muré
7b05983c19
graphql: AllBugs now accept a query
2018-09-11 19:46:38 +02:00
Michael Muré
9cbd5b4ee1
termui: allow to change the bug query
2018-09-11 19:28:32 +02:00
Michael Muré
d1c5015eed
cache: resolved id by prefix using the cache instead of reading bugs
2018-09-11 17:11:16 +02:00
Michael Muré
2dcd06d1e7
bug: ensure that OpBase field are public and properly serialized
...
fix #37
2018-09-10 19:09:20 +02:00
Michael Muré
9bb980e9de
ls: support expressing a query with flags as well
2018-09-10 18:18:00 +02:00
Michael Muré
c8239a990b
cache: doc & cleaning
2018-09-10 12:47:05 +02:00
Michael Muré
ece9e39461
cache: add the alias "state" for the qualifier "status"
...
both are commonly expected
2018-09-10 12:46:07 +02:00