brainless / gitplay Goto Github PK
View Code? Open in Web Editor NEWLearn how a software project (using git) evolved over time from its commit log. Its like YouTube for a git project. Desktop app built with Rust and SolidJS
License: MIT License
Learn how a software project (using git) evolved over time from its commit log. Its like YouTube for a git project. Desktop app built with Rust and SolidJS
License: MIT License
As a GUI developer I need the file sizes for the list of open files and folders to show what changes are happening as we play the repository.
The API request will have a list of all paths that the GUI is tracking (files and folders), starting commit ID and batch size.
The response should contain a list of sizes for each path, keyed by the commit ID when the size changed. Total number of file size changes (keyed by commit ID) will be up to the batch size.
As a user I would like to see a background colour change (or something similar) to indicate the file size change as the git log is played.
Following error is thrown when mouse hovers at the beginning point of the timeline:
[Error] Unhandled Promise Rejection: invalid args `startIndex` for command `get_commits`: invalid value: integer `-100`, expected usize
handleTimelineEnter
is called for onMouseOver
on the timeline bar.
handleTimelineEnter
calls loadCommits
which in turn invokes a RPC call to get_commits
This is not directly related to gitplay
. But a git feature that would be great, a better devX
We all have worked on a feature intensively and had to refractor a lot of the code base (in early projects). But can't spend the mental expense to context switch from writing code
to make meaningful commit messages
.
A good commit history is at the expense of the developer, which results in breaking the "flow". As pg mentioned in his blog post Holding a program in one's head, it be better to work in long stretches to have better developer productivity. And it is very common for devs to have to make code cleanups which are unrelated to the feature they are working on (example tweet)
Lets say you are building a feature and mid way you came across a variable name that could be fixed. Or a piece of code that is no longer needed. But you don't want to include this unrelated changes in your working commit. So for good practice you need to create a new commit for those changes.
git-worktree
We can currently use git-worktree to create a parellel repo in your local directory and make the changes in that, push a commit, pull the changes in the feature working tree and continue. This is long and hard
stash and make changes
Make a stash of the current feature changes and then make the required changes, commit and pop the stash. So bad my eyes are bleeding
Make the changes in the current working tree and use git add -p
to make patches when creating a commit
This is what I currently do. But the flaw of this approach is that it looses the essense of story-telling, You may make changes that don't show a history, instead shows a bunch of unrelated changes on top of each other.
If we could patch
changes into commit groups
and then finally commit those changes when all the related changes are ready, it will let the developer write code in a long stretch 1 and also build a story for the commit history.
We can currently create patches. But using this new feature we can add patches into groups as we read the code to make patches. We will have more than one stages files "area".
Cross posted on hackernews - Link
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.