Comments (7)
The exporter just landed in master, which means you can use git-bug as an offline remote for github !
There is still a few things to take care of to have a very robust bridge (#164 #167 #175 #176 ), but most of the job is done
from git-bug.
This is @a-hilaly 's task now, as part of the Summer of Code 🎉 🎉
from git-bug.
this is a followup to #7 which does the opposite, of course.
from git-bug.
Looking at the GitHub API I don't see any way to set the created timestamp on an issue using either the rest api or graphql. This means that unfortunately timestamps of all issues exported to github will not match what's in git-bug. This may also be a problem for syncing, which time stamp is treated as authoritative?
from git-bug.
@cfilipov It won't be a problem for syncing.
The Github importer is tagging operation in git-bug with the corresponding id on Github (for example: https://github.com/MichaelMure/git-bug/blob/master/bridge/github/import.go#L134). When doing an import again, the importer will look for this tag to recognize an already imported event and import what is missing.
For the exporter it's a little trickier because you can't tag an already persisted operation, the data model is immutable. What is possible though is to create a new operation (let's call it SetMetadataOperation
) that will tag retroactively another operation (the same way EditCommentOperation
operate on a previous comment). When a bug is compiled into a snapshot, this new operation will append the new tag into a previously defined operation.
The Github exporter will replicate the operation stored in git-bug through the Github API and then add in git-bug a series of SetMetadataOperation
to tag retroactively the operation with the corresponding Github id. When doing another export, only the operation that are not tagged will be replicated on Github.
So yes, the timestamp won't match exactly but I don't think that it will be that much of a problem, especially if the exporter is ran automatically after each edit.
from git-bug.
Alternatively, the exporter could also use the NoOpOperation to store arbitrary metadata in an issue timeline without doing any changes.
from git-bug.
@cfilipov Btw, if you want to give it a try you are more than welcome, I probably won't have time to work on it for a while as I just started a new job.
from git-bug.
Related Issues (20)
- Import Jira through JQL query? HOT 1
- git bug rewrites .git/config and loses comments HOT 3
- Error: error creating SSH agent: "SSH agent requested but SSH_AUTH_SOCK not-specified" on `git bug push` HOT 4
- Sourcehut Support HOT 6
- Error when querying bugs with 1+ parameters HOT 3
- Feature request: Import from JSON? HOT 5
- Best practices for referencing a `git-bug` issue in a commit? HOT 3
- Separate command (or option) to pull user identities from remote HOT 1
- CLI comment edit does not load original comment in text editor
- git bug push fails with SHA-1 key message HOT 3
- push fails on local origin
- Jira Bridge: Project doesn't exist
- util/text/validate.go: Safe is not safe
- Error: repository not found / Preferred way to deal with multiple git identities
- Add ability to add a label when creating a new bug HOT 1
- "Error: rename ... Access is denied" When Creating a Ticket
- bridge to https://github.com/charmbracelet/soft-serve HOT 2
- Search for git-bug ID in termui
- FTBFS: *GitRepo does not implement ClockedRepo (missing method AllClocks) HOT 2
- CLI usage possibilities were reduced?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from git-bug.