The sound distributed version control system

#626 consider making 0/0 progress bar look complete

Closed on February 22, 2023
vlmutolo on January 20, 2022

I cloned the Pijul repository today and was confused to see an empty progress bar like the following.

 Completing changes [            ] 0/0

I initially interpreted this to mean that some operation hadn’t yet finished. But then I figured, based on the 0/0, that it really was complete, and the bar just looked empty for some other reason.

I think it would be less confusing for users if the bar were instead filled in for the 0/0 case:

 Completing changes [============] 0/0

I took a look at the relevant code in progress.rs. Based on the logic I saw, it seemed like the decision for this bar to be empty was made intentionally. I think this decision should be revisited. An empty bar after several full bars looks confusing, and it gave me pause as someone trying to get started with Pijul again.

In the grand scheme of things, this is a very minor papercut. Just thought I’d put in my two cents. I also wanted a reason to send a quick patch to use Pijul for a bit :).

vlmutolo added a change on January 20, 2022
6CWXP77RLZBPDBBDH2Q6X77EFPHZDVILFWL75JSYXYKVBI7V3YMQC
The_Decryptor on January 21, 2022

What about using - for the unfilled and = for the filled parts?

e.g.

Completing changes [======------] 6/12
vlmutolo on January 21, 2022

That sounds like it should be a separate discussion. This one is more about whether a 0/0 progress bar should look the same as a 1/1 or a 5/5: basically, whether 0/0 should look “complete”. Changing the specific glyphs used for progress bars could be opened as another discussion.

AfoHT on January 22, 2022

Tried your change and I think it improves the visual feedback, this 0/0 step is completed after all.

I think the original <= is valid though, so maybe revising your patch (nice use of conditional assignment btw! <3)

1. Replacement in "pijul/src/progress.rs":205 5.5323 "UTF-8"
B:BD 4.47 -> 3.0:40/3
  up 4.47, new 0:29, down 3.40
-                 if *n == 0 || *n == 1 {
+                 if *n <= 1 {
vlmutolo on January 22, 2022

nice use of conditional assignment btw! <3

Thanks! I especially love when it fits on one line.

I think the original <= is valid though, so maybe revising your patch

I was torn on whether or not to change this. Since there were only two cases (n is unsigned), it felt like the || was a little clearer. That said, it’s unrelated to the spirit of this patch, so maybe it should be left out.


How do people go about revising a patch? I already added it to my local repo. Do I just unrecord it and make the changes again?

vlmutolo added a change on January 22, 2022
2FZSXUGKG4F3ARCC6J5A5VUWPULYG22U3E5WNIUJJNCTD3ZVUHQQC
main
spacefrogg on January 26, 2022

How do people go about revising a patch? I already added it to my local repo. Do I just unrecord it and make the changes again?

Yes, that’s how I do it. If I think, I still need it, I make a new channel and apply it there, first.

pmeunier on February 22, 2023

Nice patch, and nice update. Thanks, and sorry it took me forever to review it. I just applied it.

pmeunier closed this discussion on February 22, 2023