11/19/2023 0 Comments Use atom with gitkraken![]() A merge with conflicts in github/github, the codebase, would queue up 12 updates. We also noticed that for larger repos we would get file-watching update events in several batches, each causing a model update to be scheduled. Here’s what it looked like before and after we parallelized read operations based on the number of cores on a user’s computer: To inform and measure progress on this front, we created a custom waterfall view to visualize the time spent shelling out to Git the red section shows the time an operation spent waiting in the queue for its turn to run, while the yellow and green represent the time the operation took to actually execute. After core functionality was in place, we introduced a series of optimizations. Recent Atom releases have delivered numerous performance improvements, and we wanted this new package to demonstrate our continued focus on responsiveness. However, there were noticeable performance tradeoffs and overhead costs associated with spawning a new process every time we asked for Git data. Overall, the transition from Nodegit to shelling out went pretty well. Additionally, any changes you make outside of Atom will be detected by a file watcher and the Git data in your editor will be refreshed automatically. You can partially stage a file in Atom, switch to the command line and find the state of your repo exactly as you’d expect. Bundling Git makes package installation easier for the user and gives us full control over the Git API we are interacting with.Īs much as possible, we keep your Git data in Atom in sync with the actual state of your local repo to allow for maximal flexibility. ![]() We bundled a minimal version of Git for Mac, Windows, and Linux into a package called dugite-native and created a lightweight library called dugite for making Node execFile calls. For these reasons and more, we made the switch. ![]() Shelling out to Git simplifies development, gives us access to the full set of commands, options, and formatting that Git core provides, and enables us to use all of the latest Git features without having to reimplement custom logic or wait for support in libgit2.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |