aboutsummaryrefslogtreecommitdiffstats
path: root/bridge
Commit message (Collapse)AuthorAgeFilesLines
* github: fix rate limitingMichael Muré2022-11-151-1/+2
| | | | It seems like the error message that github return changed.
* core: bubble up the comment ID when created, or edited the first commentMichael Muré2022-11-1311-157/+166
|
* bug: have a type for combined ids, fix ↵Michael Muré2022-08-225-15/+20
| | | | https://github.com/MichaelMure/git-bug/issues/653
* move bug.Status in entities/common for reuseMichael Muré2022-08-205-14/+19
|
* move {bug,identity} to /entities, move input to /commandsMichael Muré2022-08-1817-26/+27
|
* entity/dag: proper base operation for simplified implementationMichael Muré2022-07-258-22/+29
| | | | | | | | - reduce boilerplace necessary to implement an operation - consolidate what an operation is in the core, which in turn pave the way for a generic cache layer mechanism - avoid the previously complex unmarshalling process - support operation metadata from the core - simplified testing
* refactor(809): eliminate need to defer CleanupTestRepos()Steve Moyer2022-06-165-14/+7
|
* github: fix data race when closing event channelMichael Muré2022-06-054-151/+144
| | | | | | | | | | I believe the issue was twofold: When done importing, the calling context is likely still valid, so if the output channel is not read enough and reach capacity, some event producer down the line can be blocked trying to send in that channel. When closing it, this send is still trying to proceed, which is illegal in go. In rateLimitHandlerClient, there was a need to 2 different type of output channel: core.ExportResult and ImportEvent. To do so, the previous code was using a single channel type RateLimitingEvent and a series of goroutines to read/cast/send to the final channel. This could result in more async goroutine being stuck trying to send in an at-capacity channel. Instead, the code now use a simple synchronous callback to directly push to the final output channel. No concurrency needed anymore and the code is simpler. Any of those fixes could have resolved the data race, but both fixes is more correct.
* Allow new gitlab PAT formatGaël James2022-03-311-1/+1
|
* jira: fix incorrect client creation reusing the same credentialMichael Muré2022-03-101-1/+1
|
* Merge pull request #571 from 5nord/add-new-gitlab-iteratorMichael Muré2022-02-0110-681/+461
|\ | | | | [gitlab] Add new iterator with state change events
| * gitlab: re-enable previously broken testMichael Muré2021-12-051-5/+0
| |
| * gitlab: order events on the flyMichael Muré2021-12-054-64/+102
| |
| * Add some documentation commentsMatthias Simon2021-04-232-17/+24
| |
| * gitlab: Add new iterator with state change eventsMatthias Simon2021-04-238-676/+416
| | | | | | | | | | | | | | | | | | Retrieving events is spread across various various Gitlab APIs. This makes importing and sorting Gitlab events by time quite complicated. This commit replaces the old iterators with a goroutine/channel-based iterator, which merges the individual Gitlab API streams into a single (sorted) event stream.
* | Bump github.com/xanzy/go-gitlab from 0.50.4 to 0.54.1 (#732)dependabot[bot]2022-01-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Bump github.com/xanzy/go-gitlab from 0.50.4 to 0.54.1 Bumps [github.com/xanzy/go-gitlab](https://github.com/xanzy/go-gitlab) from 0.50.4 to 0.54.1. - [Release notes](https://github.com/xanzy/go-gitlab/releases) - [Changelog](https://github.com/xanzy/go-gitlab/blob/master/releases_test.go) - [Commits](https://github.com/xanzy/go-gitlab/compare/v0.50.4...v0.54.1) --- updated-dependencies: - dependency-name: github.com/xanzy/go-gitlab dependency-type: direct:production update-type: version-update:semver-minor ... Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: 6543 <6543@obermui.de>
* | Merge pull request #715 from remram44/gitlab-access-tokensMichael Muré2021-12-041-2/+1
|\ \ | | | | | | Fix GitLab access tokens settings link
| * | Update URL of GitLab access token settingsRemi Rampin2021-10-131-1/+1
| | |
| * | Fix GitLab showing https:/../personal_access_tokenRemi Rampin2021-10-131-2/+1
| | | | | | | | | | | | | | | Using path.Join() to concatenate URLs doesn't really make sense, and in particular will change "//" to "/".
* | | Merge pull request #727 from MichaelMure/rng-dynamics/fix-import-empty-titleMichael Muré2021-12-041-11/+9
|\ \ \ | | | | | | | | Fix: github import, some issue titles cause error
| * | | Fix: github import, some issue titles cause errorAlexander Scharinger2021-12-041-11/+9
| |/ /
* / / Fix: github bridge: push then pull without duplicationAlexander Scharinger2021-12-031-1/+1
|/ /
* | Tests for the github bridge (#706)rng-dynamics2021-09-143-23/+461
| | | | | | Add integration test for github bridge
* | feature: Github bridge mutation rate limit (#694)rng-dynamics2021-09-148-220/+278
| | | | | | Unified handling of rate limiting of github graphql api
* | Bump github.com/xanzy/go-gitlab from 0.48.0 to 0.50.0dependabot[bot]2021-05-241-1/+1
| | | | | | | | | | | | | | | | | | Bumps [github.com/xanzy/go-gitlab](https://github.com/xanzy/go-gitlab) from 0.48.0 to 0.50.0. - [Release notes](https://github.com/xanzy/go-gitlab/releases) - [Changelog](https://github.com/xanzy/go-gitlab/blob/master/releases_test.go) - [Commits](https://github.com/xanzy/go-gitlab/compare/v0.48.0...v0.50.0) Signed-off-by: dependabot[bot] <support@github.com>
* | CLI: Add non-interactive option to interactive commands (#651)Sascha2021-05-096-23/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add option to skip the AvatarURL input request Using an empty string for the avatar cli flag e.g. `git-bug user create -a ""` will still result in a prompt. As the avatar URL is an optional option, it should be possible to skip asking for it entirely. Otherwise automated user creation via a script must make use of pipe hacks. * Add global --non-interactive cmdline option * Replace --skipAvatar for --non-interactive option * Cmd BugAdd: respect non-interactive option * Cmd bridge configure: respect non-interactive opt * Cmd CommentAdd: respect non-interactive option * Cmd CommentEdit: respect non-interactive option * Cmd TermUI: respect non-interactive option * Cmd TitleEdit: respect non-interactive option * Remove global non-interactive option * Cmd UserCreate: Use local non-interactive option * Cmd BugAdd: Use local non-interactive option * Cmd BridgeConfigure: Use local non-interactive option * Cmd CommentAdd: Use local non-interactive option * Cmd CommentEdit: Use local non-interactive option * Cmd TermUI: Drop non-interactive option It should be obviouse that the termui is an interactive command. * Cmd TitleEdit: Use local non-interactive option * Update docs * Bridge GitHub: respect non-interactive option * Bridge GitLab: respect non-interactive option * Bridge Jira: respect non-interactive and token opt * Fix failing compilation * Bridge launchpad: respect non-interactive option * bridge: isNonInteractive --> interactive Co-authored-by: Michael Muré <batolettre@gmail.com>
* | github: attempt to fix a CI issueMichael Muré2021-04-231-0/+4
|/
* Support new GitHub token formatsEllis Clayton2021-04-191-2/+3
| | | | | | | | | GitHub have introduced a new format for their access tokens, which does not fit within the rules of the previous regex. For the time being, the previous token format is still being supported by GitHub, so it makes sense to continue allowing legacy tokens. https://github.blog/changelog/2021-03-04-authentication-token-format-updates/
* make sure every text input is safe and validatedMichael Muré2021-04-174-67/+27
| | | | fix #630
* Github brdige: move credential loading and client creation backAlexander Scharinger2021-04-091-12/+16
| | | | Reason: failing integration tests
* Revert "Bridges: move credential loading and client creation"Alexander Scharinger2021-04-092-38/+39
| | | | This reverts commit 3d14e2e67c4985c429471ea6643f013ade2c2692.
* github: minor cleanupsMichael Muré2021-04-095-22/+25
|
* Merge remote-tracking branch 'origin/master' into dev-gh-bridgeMichael Muré2021-04-0913-81/+78
|\
| * Merge remote-tracking branch 'origin/master' into dag-entityMichael Muré2021-03-291-2/+4
| |\
| | * repo: fix various config issues around case insentivityMichael Muré2021-03-281-2/+4
| | |
| * | bug: migrate to the DAG entity structure!Michael Muré2021-02-145-35/+25
| | |
| * | identity: PR fixesMichael Muré2021-02-144-4/+4
| | |
| * | deal with the previous changesMichael Muré2021-02-146-68/+73
| | |
| * | repo: expose all lamport clocks, move clocks in their own folderMichael Muré2021-02-141-2/+2
| |/
* | Improve feedback for user when Github rate limitingAlexander Scharinger2021-04-083-9/+21
| | | | | | | | | | | | | | | | The Github bridge itself should not write anything. This commit removes code writing to stdout and itroduces an event `ImportEventRateLimiting` to `core.ImportResult` in order to inform about a rate limiting situation of the Github GraphQL API. Now the communication with the user is delegated to the various user interfaces.
* | Add comment to clarify look ahead in import channelAlexander Scharinger2021-04-081-1/+10
| |
* | Bridges: move credential loading and client creationAlexander Scharinger2021-04-082-39/+38
| | | | | | | | | | | | Gitlab and Jira bridge: move credential loading and client creation from `Init` to `ImportAll` in order to harmonize the behaviour of the different bridges.
* | Github bridge: refactor message handlingAlexander Scharinger2021-03-281-3/+15
| |
* | Github bridge: stop sleep-timer on SIGINTAlexander Scharinger2021-03-271-2/+8
| |
* | Github bridge: fix message about timeoutAlexander Scharinger2021-03-271-1/+2
| |
* | Github bridge: RefactorAlexander Scharinger2021-03-223-435/+303
| |
* | Github bridge: send message to user when waitingAlexander Scharinger2021-03-182-63/+209
| | | | | | | | | | | | When the Github GraphQL API rate limit is exhausted print a message at the bottom of the terminal so the user knows why the import has been paused.
* | Github bridge: try again in case of web API errorAlexander Scharinger2021-03-151-1/+23
| |
* | Remove maps containing channels.Alexander Scharinger2021-03-152-93/+62
| | | | | | | | | | | | | | | | | | The old implementation of the github bridge used maps to store several channels holding data obtained from the Github API. Removing the maps and simply packing data and channels together in a struct and passing it through one single channel makes the program simpler in terms of concurrency and, additionally, enables the garbage collector to free the memory gradually without any additional provisions.
* | Fix errors: deadlock and empty titlesAlexander Scharinger2021-03-153-203/+263
| |