Commit Graph

37 Commits

Author SHA1 Message Date
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é
c7abac388a repo: refactor how test repo are created/cleaned 2019-05-27 21:14:55 +02:00
Michael Muré
cd7ed7ff9e
identity: add more test for serialisation and push/pull/merge + fixes 2019-03-01 22:40:24 +01:00
Michael Muré
feab9412df
WIP identity in git 2019-03-01 22:35:36 +01:00
Rafael Ascensão
8dcd3d21cd tests: configure user ident in repos used by tests
Some git operations require the user to have an identity configured and
will exit with failure if none is set (or if git can't guess it). As a
direct consequence of this, the test suite may fail depending on the
user local configuration.

The error itself is justified as regular users *should* configure their
identity themselves. However, when building in chrooted environments
it's unlikely the git identity will be set making the test suite fail
unnecessarily.

To prevent such unnecessary failures, let's make a dummy identity for
repos created and used by the test suite.
2018-12-10 22:14:27 +00:00
Michael Muré
794d014fae
bug: define a hash-based identifier for an operation 2018-09-29 00:51:54 +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é
f969370901
graphql: add a general test for the handler/resolvers 2018-09-26 16:26:50 +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é
a72ea453a9
bug: add the ability to store arbitrary metadata on an operation 2018-09-24 20:19:16 +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é
7bec0b1f13
bug: add a data validation process to avoid merging incorrect operations 2018-09-15 13:15:00 +02:00
Michael Muré
fb0f5530f1
catch a lot of error not being checked 2018-09-13 12:43:47 +02:00
Michael Muré
60fcfcdcb0
bug: change the OperationPack serialization format for Json
See https://github.com/MichaelMure/git-bug/issues/5 for the details of this choice
2018-09-12 16:57:46 +02:00
Michael Muré
3605887345 reorganize package for a more idomatic go 2018-09-11 22:14:46 +02:00
Michael Muré
61a1173ec3
bug: refactor the Pull code to have the message formating in the upper layers 2018-09-07 17:10:40 +02:00
Michael Muré
2adca224f0
random bugs: cleanup + generate random OperationPack as well 2018-09-06 14:11:10 +02:00
Michael Muré
8575abf285
bug: add a benchmark for reading all bugs in a repo 2018-08-19 21:27:10 +02:00
Michael Muré
08127d8d1c
bug: add benchmarcks for bug merge 2018-08-19 20:40:50 +02:00
Michael Muré
1e9f2a9d1c
fix tests 2018-08-15 22:30:35 +02:00
Michael Muré
4c850b5989
cleanup go imports 2018-08-13 18:39:19 +02:00
Michael Muré
83185a8cb3
test: make bug_actions_test race resistant 2018-08-12 21:09:46 +02:00
Michael Muré
d88d59e9c5
fix test 2018-08-02 23:45:40 +02:00
Michael Muré
108962a157
add test for push/pull/rebase with a real git repo 2018-07-25 18:02:11 +02:00
Michael Muré
59e6ae872c
NewBug can no longer error 2018-07-19 18:34:25 +02:00
Michael Muré
9f04fc2f7b
bug: replace the uuid based id with the hash of the first commit 2018-07-19 17:58:15 +02:00
Michael Muré
cfa11372cb
implement label op+command 2018-07-18 16:41:09 +02:00
Michael Muré
ba3281dc99
all operations now have an author and a timestamp 2018-07-18 00:16:06 +02:00
Michael Muré
6f83d89274
fix tests 2018-07-17 20:54:27 +02:00
Michael Muré
76ac1787b8
add bug status + open/close commands 2018-07-17 19:28:37 +02:00
Michael Muré
7b19b10e19
comment the failing test for now (code is ok) 2018-07-17 02:17:06 +02:00
Michael Muré
0180b68cb0
implement pull/merge 2018-07-17 01:52:56 +02:00
Michael Muré
54b41c604b
cleaning 2018-07-14 23:03:43 +02:00
Michael Muré
da470993d1
complete the storage/read process + tests (!) 2018-07-14 22:17:37 +02:00
Michael Muré
55aef8c387
implement AddComment 2018-07-13 22:53:53 +02:00
Michael Muré
1779a0f3b9
serialize a Bug to git as a blob+tree+commit+ref 2018-07-13 21:21:24 +02:00
Michael Muré
289f8d53ee
little bit more tests 2018-07-13 17:07:24 +02:00