News for hackers. Stuff that matters.
Re:Bit – A modernized Git CLI written in Go by OJFord on Monday October 12, 2020 @04:31AM (#24752492)
I really liked the look of this, until I got to `save`/`sync` in the readme...

That's not how I want to work, and it's not how I want other people to work in a repository I'm using. I know 'I don't have to use them then I can just use the git subcommands', but that's not the point, it's a big signal ('90% of the time the above commands will have you covered.') about the motivation/angle/philosophy of the project that doesn't match my attitude towards git at all.

Which is a shame, because the autocomplete stuff looks really nice.

Re:Bit – A modernized Git CLI written in Go by raimue on Monday October 12, 2020 @05:46AM (#24752841)
The save command also accepts the commit message on command line only instead of opening an editor.

I do not understand how people can live with only a single line for the commit message. For a new feature, I need to provide some details what is added and how it can be used. For a bugfix, a single line is rarely enough to describe the problem, what you changed, and why this change solves the problem.

Writing good commit messages is an essential part of using a version control system with a team. When trying to make the git interface easier, this should not be dumbed down. I would rather expect the tool to provide assistance with the usual format of a short subject and a body for a longer explanation.

Re:Bit – A modernized Git CLI written in Go by juped on Monday October 12, 2020 @12:09PM (#24755911)
Most people don't really use version control, they just use version control programs because they've been told they're supposed to. They might as well be using rsync.

Most of them would benefit from learning to actually use it, but this is unfortunately niche.

Re:Bit – A modernized Git CLI written in Go by Ayesh on Monday October 12, 2020 @06:21AM (#24753006)
I started to write longer format commit messages, and it was such a pleasure to do so and I can see that others appreciate them too, in core reviews and PRs. I also like the easy grepping capabilities.

I often go through list of recent commits and rebase them before sending PRs. That way, I save a bit of time not having to switch contexts with code and commit messages.

Re:Bit – A modernized Git CLI written in Go by kace91 on Monday October 12, 2020 @06:48AM (#24753144)
My team doesn't write long format commit messages and it's never been an issue. When we need to track down changes we use the corresponding mr, which includes a description as well as a link to the relevant cards.

I personally like this format more because it lets you both be "dirty" in your branch writing commits for yourself, and not have to use amends/rebasing. I can see how it would be annoying for someone that does all the digging on the terminal through git log and blame, but we all use gitlab instead.

Re:Bit – A modernized Git CLI written in Go by ryukafalz on Monday October 12, 2020 @08:00AM (#24753514)
If you ever switch from Gitlab to another git host, you’ll lose all that history though. Maybe you’re fine with that, but I wouldn’t be.
Re:Bit – A modernized Git CLI written in Go by dnsmichi on Monday October 12, 2020 @08:20AM (#24753651)
Hi, Developer Evangelist at GitLab here.

While we do not want you to leave ... :-) ... you'll have great tools to export your data from projects, for example https://docs.gitlab.com/ee/user/project/settings/import_expo...

Another way is to programmatically work with the REST API and export the needed data (https://docs.gitlab.com/ee/api/). This can be needed to specific backup and persistence routines for data compliance too. I personally recommend to use the Python, Ruby, etc. library bindings for easier API requests.

This won't solve the import into another tool, yet it opens a migration possibility with full access via an API.

Re:Bit – A modernized Git CLI written in Go by pdsOne on Monday October 12, 2020 @11:59AM (#24755786)
Unrelated question but why don't more people use Gerrit instead of Gitlab or Github? To me Gerrit flow makes the most sense.
Re:Bit – A modernized Git CLI written in Go by brandmeyer on Monday October 12, 2020 @12:34PM (#24756212)
Speaking only for myself: Because Gerrit's unit of review is a single commit instead of a branch. Commits are units of change, but the unit of work and review is almost always a series of related changes. Just because the changes are individually atomic (testable, cherry-pickable, etc) doesn't mean that I want to review them that way. The typical flow is for an engineer to produce a cluster of inter-related changes that motivate and rationalize each other.

Reviewing such a chunk in Gerrit is a PITA. It breaks up the flow of discussion and encourages a myopic perspective on the work.

Re:Bit – A modernized Git CLI written in Go by mixmastamyk on Monday October 12, 2020 @02:36PM (#24757818)
That's what a bug tracker is for, stories, specs, and lengthy discussion. Commit message can then be "FOO-1234, add tests." Modern tools auto link those.
Re:Bit – A modernized Git CLI written in Go by nemetroid on Monday October 12, 2020 @05:09AM (#24752651)
The ability to write alternative CLIs on top of Git is often touted as a feature (as well as a defense against criticism of the existing CLI). I'm not terribly excited by save/sync either. But as long as it doesn't have adverse effects, e.g.:

* promotes bad history patterns

* makes it easier to miss when unwanted changes are included

* makes it easy to accidentally push

...I see it as a good thing to have new UI patterns tried out. If nothing else, it can act as a counterpoint to show that the complexity of the Git CLI actually is necessary for some of the flexibility.

EDIT: I see now that "bit save" encourages using single-line commit messages, which to me promotes bad history patterns. That's too bad.

Re:Bit – A modernized Git CLI written in Go by hibbelig on Monday October 12, 2020 @05:10AM (#24752663)
I don’t quite understand what sync does. Regarding save, I think I don’t want the auto-amend functionality.

If sync does pull and rebase then that’s very nice.

Re:Bit – A modernized Git CLI written in Go by OJFord on Monday October 12, 2020 @05:32AM (#24752762)
> If sync does pull and rebase then that’s very nice.

`git pull` does that fine for me. (`pull.rebase true` in git config)

Re:Bit – A modernized Git CLI written in Go by zaro on Monday October 12, 2020 @04:50AM (#24752548)
I didn't even get to sync, stopped reading on 'save'.
Re:Bit – A modernized Git CLI written in Go by YesThatTom2 on Monday October 12, 2020 @10:27AM (#24754656)
Thank god you did! I’ve seen too many “make it easier for normal people” projects ruined by trying to appease people that have muscle memory for the old way.

Luckily bit doesn’t do anything that would prevent someone from using git on the same repo. You can co-exist.

I’ll make this prediction based on decades of observations:

1. There will be many projects like this.

2. Eventually one will win out and the others will fade.

3. The winner will be the one that focused on a particular audience AND successfully ignored so-called experts that didn’t see the need for such a project.

4. After one tool wins out, the nay-sayers start to adopt it. Forums like HN get flooded with posts about how “I wish I had tried it sooner”.

But seriously... if you don’t need this kind of tool do the other 98% of the world develop it in peace.

Re:Bit – A modernized Git CLI written in Go by papey on Monday October 12, 2020 @05:00AM (#24752606)
Same here