5 ms·
Plenty of people use Codeberg and Gitlab. And it's still distributed - I don't need to lock files and ask coworkers if I can work on them. Maybe if Git had nat
by IshKebab 2y ago
Plenty of people use Codeberg and Gitlab. And it's still distributed - I don't need to lock files and ask coworkers if I can work on them.
Maybe if Git had native support for PRs and issues this wouldn't have happened. (And yes I'm aware of git send-email etc.)
- mmis1000 2y agoI think it would be great if git have some kind of soft lock by default (like attach a text on some file without make it into actual commit). It could probably make peoples' live easier when you and teamates need to communicate what files you are changing thus reduce the chance of conflict.
- mhh__ 2y agoGit should have issue support or something like it as a convention but pull requests are an abomination that we are stuck with. No thank you.
- torben-friis 2y agoCan you expand on that? I’m probably younger but I can’t imagine a more comfortable way to review code.
- eru 2y agoPull requests are great, but the typical github UI isn't necessarily the best way to review code. It's often useful. But sometimes you want to use other tools, like firing up your editor to explore.
- mhh__ 2y agoNo, they're terrible. We should be reviewing stacks of commits not branches
- IshKebab 2y agoWhy? A branch is a stack of commits.
- Dylan16807 2y agoThe workflow I believe they're talking about is like a branch but you can have multiple versions of the branch as you develop and refine it. And those updates are properly tracked by your version control, not done jankily by editing a commit and rebasing and force pushing.
- mhh__ 2y agoThen whence merge commits? A branch is a commit with a hat on, strictly speaking.
- eru 2y agoYes, a branch together with information about the intended point of divergence is a stack of commits. (Most of the time, the point of divergence is arrived at implicitly by specifying the intended mother branch, and git figures out the last common ancestor, ie the merge-base.) Let's call the branch-plus-point-of-divergence a 'PR branch'. Though your 'stack of commits' is more like a 'stack of diffs' (at least in the Git sense of commit-is-a-snapshot-of-the-whole-repo.) And actually, for better or worse, a PR branch is more expressive than a 'stack of commits', exactly for the reason you suggest: a PR branch can also contain merge commits, it doesn't have to be a linear chain.
- mhh__ 2y agoThey are often called stacked diffs yes.
- baq 2y agoIt’s only good if you haven’t tried anything else. Check out gerrit, but there are many more tools and workflows. Note we’re talking about the GitHub UI mostly. Pulling and merging a remote branch is a basic git operation, almost a primitive.
- mhh__ 2y agoPhabricator.
- captn3m0 2y agoNot Git, but several forges are working towards an ActivityOub based federation format for these: https://f3.forgefriends.org/ https://f3.forgefriends.org/
- eru 2y agoGit was invented with pull requests in mind. It's just that they were originally meant to be sent via email, not on the web.
- qwertox 2y agoIn Codeberg, how does one even search for files containing a given string? Probably the #1 thing I do on GitHub is searching for files in a project containing a given string.
- sph 2y agoGiven how terrible GitHub search in files is, what I usually do is clone the repo and run ripgrep.
- eXpl0it3r 2y agoNot sure when you tried last, but it's gotten a lot better over the years. If you need something from the latest master, you'll be able to find it.
- nicce 2y agoIf the repository is indexed, there isn’t really competitive search. You can find blog posts about it. They actually used ripgrep at some point. (not anymore I guess because too slow?). Edit: ripgrep was just a test More: https://github.blog/engineering/the-technology-behind-githubs-new-code-search/ https://github.blog/engineering/the-technology-behind-github...
- mrweasel 2y agoBut Github is actually pretty good at searching for something across all files in a repo.
- IshKebab 2y agoNot remotely as good as grep.app.
- qwertox 2y agoI was shocked at how fast I was able to find "Open an audio file and read as mono waveform, resampling as necessary" of whisperX in audio.py on grep.app. It was instantaneous. But where do I go from there? I cannot navigate through the code. It shows me where I can find that string, but that's it. I also cannot look at blame to see when that line got edited. Though thanks a lot for bringing this onto my radar.