unisonweb / unison

A friendly programming language from the future
https://unison-lang.org
Other
5.81k stars 271 forks source link

Possible `push` inefficiency #4496

Closed kylegoetz closed 6 months ago

kylegoetz commented 11 months ago
  1. clone lib.base (not as user @unison)
  2. create a new branch
  3. change one function definition
  4. push as yourself

When I did this, this was the output:

@unison/base/offsetDateTimeFromIso8601DocTypo> push

  Uploaded 11979 entities.

  I just created @unison/base/@kylegoetz/offsetDateTimeFromIso8601DocTypo on
  https://api.unison-lang.org

Shouldn't only 1 entity need to be uploaded?

aryairani commented 11 months ago

Hi @kylegoetz, this is a known / intentional issue due to a temporary technical limitation. We can leave the ticket open to track it though.

We have a hack in the works to help though until we can plan the less hacky fix.

In the mean time though, you should only have to reupload it once, not more than once.

kylegoetz commented 11 months ago

Would this same issue be related to this:

serverSentEvent/main> clone @unison/http 

  Downloaded 35443 entities.

  Cloned @unison/http/main.

@unison/http/main> edit HttpResponse.fromStream

[snip]
@unison/http/main> branch typo

[snip]

@unison/http/typo> update

[snip]

@unison/http/typo> push

  Uploaded 98133 entities.

Downloaded 35K but uploaded 98K. The only thing I did was change one character of a Text from "o" to "u"

aryairani commented 6 months ago

@kylegoetz I believe this is fixed now; can you confirm or deny?

kylegoetz commented 6 months ago

Doesn't appear to happen anymore. I"ve been pushing a runtime-tests branch and whenever I do, it's just a handful of the entities being uploaded. Given the low number, I'm assuming it's just the modified term + the descendants that are updated to use a different hash for the term.