moodymudskipper / debugverse

Brainstorming ideas for debugging workflow and tools, not a package (yet ?)
1 stars 0 forks source link

gitplus #29

Open moodymudskipper opened 2 years ago

moodymudskipper commented 2 years ago

I want a git utility that :

moodymudskipper commented 2 years ago

function_history(fun, max_commits, min_date, max_date) might return a named list of functions where names are the commit hashes. Elements might have attributes describing the commit.

Let's give this object a class and provide a way to review the successive diffs of such object, maybe a show method ?

moodymudskipper commented 2 years ago

I'd like to see a script with all lines prefixed by comitter, original branch of commit, commit, date of last modification. Because that's a lot I'd like to be able to choose what I want to see. Overall should still look ok on full screen with fixed formatting if code respects more or less the < 80 char rule

moodymudskipper commented 2 years ago

I'd like to easily remove a commit, move squash, and have a helpful message to stop me if it creates a mess before it creates a mess.

Also if we can add "R smart" metadata to commits, like which functions it modifies etc we might have tidy selection for git commits.

moodymudskipper commented 2 years ago

before pushing I'd like to see a list of commits to push, and maybe reorder or squash on the spot. https://rstudio.github.io/sortable/

Also I'd like indentation to be checked, optionally style, with optional checks, maybe using liner or other

Maybe coverage too, is the added line covered ? at least inform

moodymudskipper commented 2 years ago

list of things we never want to commit :

We might a list of bad to potentially bad things, in order, and decide to proceed, proposing automated fixes on the fly when possible.

moodymudskipper commented 2 years ago

We shouldn't be able to commit on top of WIP commit, if we tried to commit as WIP again, propose to reset and recommit everything as WIP, if we tried to commit with a new error message, propose to reset and commit changes appropriately.

Maybe we shouldn't be able to push a commit "oops" or "typo", or at least it should be signaled, propose to rebase interactive to squash them.

We should support rules for commit names and branch names, some formats might be forbidden, or some formats enforced. Some checks might be in place to make sure that referenced issue exists, we may signal if an issue is referenced by another branch name

moodymudskipper commented 2 years ago

Can we detect and warn if we try to do unrelated things in one commit, for instance these should be in different commits:

Since it'd just be an informative confirmation prompt, having heuristics that are 90% accurate is already useful

moodymudskipper commented 1 year ago

ohshitgit should be searchable easily from the package, we should also go through it and build functions around the use cases, there are only 9 of them.

moodymudskipper commented 1 year ago

If I stash something, I would like to now how deep is the stash, and I'd like to be able to set a limit as an option, and maybe the default would just be one, so we make sure we don't over stash

moodymudskipper commented 1 year ago

It'd be nice to have a git dm, it would have a remote part though, can we make it work with dbplyr ? with some remote tables that require a git connection to be resolved ?

moodymudskipper commented 5 months ago

can 2 branches be merged without conflicts ? git_conflicts(x, y) ?