emscripten-core / emsdk

Emscripten SDK
http://emscripten.org
Other
3.04k stars 695 forks source link

Should we tell users to do emsdk update-tags? #161

Open kripken opened 6 years ago

kripken commented 6 years ago

Currently our main docs tell users to git clone and then ./emsdk update. I think that's wrong, as the emsdk then says the user should do git pull and/or ./emsdk update-tags?

I assume we should change those docs to just say git pull directly? However, that would mean users stop seeing the message recommending they do update-tags.

Regarding update-tags: Is it something the project maintainers need to do, and commit the changes every time there's a new tag? If we are a little behind then is it possible users would need to update-tags themselves in order to get the very latest tag? If that's the case, I wonder if we shouldn't automatically do what update-tags does when users do an install command (or maybe specifically if they do install latest, so it's clear we should get the latest tags)?

phraemer commented 6 years ago

For us it would be really useful if maintainers updated the tags. I took it as a signal that you are confident in that build.

juj commented 6 years ago

Currently our main docs tell users to git clone and then ./emsdk update. I think that's wrong, as the emsdk then says the user should do git pull and/or ./emsdk update-tags?

In the workflow where user git clones emsdk to bootstrap to it, then the intent is to use git pull to update to newer versions, whereas if one obtained emsdk via downloading the prebundled zip file, then emsdk update should be used to update to newest.

I assume we should change those docs to just say git pull directly? However, that would mean users stop seeing the message recommending they do update-tags.

I think if the precompiled zip deployment method was deprecated, and docs were changed to ask to do a git clone, then docs should probably change emsdk update instructions to git pull + emsdk update-tags step.

Regarding update-tags: Is it something the project maintainers need to do, and commit the changes every time there's a new tag? If we are a little behind then is it possible users would need to update-tags themselves in order to get the very latest tag?

The intent of emsdk update-tags is that users do it, and just for convenience at some point I started bundling a preset version of the known tags .txt files to the repo to help people avoid having to do the first bootstrap update to it. Though after that, this code was added: https://github.com/juj/emsdk/blob/master/emsdk#L2118, so I think this prebundling of emscripten-tags.txt and binaryen-tags.txt is probably redundant, and we could delete these two files from the repository, since first time emsdk list and emsdk install should update the tags list anyways.

kripken commented 6 years ago

Thanks @juj! Makes sense. Thinking on this some more, I think @phraemer raises an interesting point (thanks @phraemer!) - we didn't intentionally do it that way, but I think in practice we've updated the tags during "quiet" times, and not immediately after a version was tagged. So they did in fact get updated at safer times.

In summary, I can update the docs to mention git pull, given that we recommend git clone now, that part seems obvious. But as in the previous paragraph, I'm not sure if we should recommend people also update tags themselves, or not, in which case they'd wait on us to do it. Perhaps an option in the middle is to mention it with a warning - thoughts?