-
Notifications
You must be signed in to change notification settings - Fork 257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrating from V2 to V3 #450
Comments
It may be a good idea to reference this in the readme? Wish there was a mailing list for fisher! |
Good idea. @patrickf3139 How long do you think it would be prudent to leave this information on the README? |
At least a month. But really I’d say a year.
…On Fri, Oct 5, 2018 at 5:17 PM Jorge Bucaran ***@***.***> wrote:
Good idea. @patrickf3139 <https://github.com/patrickf3139> How long do
you think it would be prudent to leave this information on the README?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#450 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AB4EkD26v9V1WTP8k43BvV9A3xXC_3Fuks5uh_angaJpZM4XKRqz>
.
|
Given that there's no warning at all on the CLI before or after the update, and fisher just keeps working properly, I'd say the migration note should be as prominent in the README as possible, and there for a while. |
Is |
@franciscolourenco Yes, it is. This is covered in the documentation here.
|
It is not mentioned in the upgrade instructions. It is quite unexpected that after executing the seemingly inocent commands all fish packages are gone. This should be mentioned and additionally it would be useful if the uninstall command listed the packages which are being uninstalled. Also strange that fisher update installs 3.x when there is no backwards compatibility. Not sure how to solve this but I assume you thought about it. |
@franciscolourenco I see. You asked a general question, so I assumed you meant V3. V3's self-uninstall removes all packages. V2 self-uninstall does not. I'll add this to the guide.
No way to solve that at this point. That's why there is a "Too late for that..." section in the guide. |
Yes. Next time, please include something in the auto-self-update that warns users and allows them to abort. Not every time is good for seemingly breaking the shell, hunting down the issue, and re-installing all packages manually. |
After uninstalling V2 and installing V3, |
@franciscolourenco Yup, they should be in the previous ~/{.config,.cache}/fisherman directories. What is your output?
|
@jorgebucaran I appreciate all your work. I still think your perspective is skewed. While routinely upgrading packages, I ran Is upgrading theoretically easy? Yea, sure. On my work machine, I knew what to do and it took minutes. Is it practically easy? No, it's completely broken, because users don't check the documentation before running updates on applications/tools unless the updater tells us to. Why would we? Had I broken a production system with this, it would have been a dealbreaker. Even wasting half an hour of work time would have been bad. |
@reitzig Sorry, for your trouble. I was aware the migration wouldn't be easy for people inadvertently upgrading via Note that #445 was open for almost a month and I filed #446 & #443 before that too. Too bad you missed them. I think we're done discussing this. I am. You already shared your perpective. It is a valid perspective. I'm glad you were able to upgrade in your free time and that your production systems continue to operate smoothly. Cheers! |
Gotcha. I agree that abandoning the project vs some migration pains is an easy choice to make. I hope you understand you you'll almost never involve users in a discussion held on Github, at least not without explicitly inviting them to it. While we agree that the effects here were not ideal (I think?), I for one don't know what a good strategy would be for a tool like fisherman; breaking things after careful consideration and providing documentation on how to fix it may very well be the least evil. We can talk after I've faced a similar scenario myself. ;D Cheers, hope you can take some joy out for working on this again! |
@jorgebucaran the directory seems to be gone, but there are some symlinks still around $ la ~/.config/fisherman
ls: cannot access '/Users/user/.config/fisherman': No such file or directory $ ls -Alrth ~/.config/fish/functions Click for detailstotal 192K
-rw-r--r-- 2 user staff 599 May 27 2016 humanize_duration.fish
lrwxr-xr-x 1 user staff 64 Apr 8 2017 upload.fish -> /Users/user/code/dotfiles/home/config/fish/functions/upload.fish
lrwxr-xr-x 1 user staff 66 Apr 8 2017 pastebin.fish -> /Users/user/code/dotfiles/home/config/fish/functions/pastebin.fish
lrwxr-xr-x 1 user staff 69 Apr 8 2017 fish_prompt.fish -> /Users/user/code/dotfiles/home/config/fish/functions/fish_prompt.fish
-rw-r--r-- 1 user staff 0 May 21 2017 fisher.fish.1495387995
lrwxr-xr-x 1 user staff 51 Jul 21 2017 __zo.fish -> /Users/user/.config/fisherman/z/functions/__zo.fish
lrwxr-xr-x 1 user staff 44 Mar 24 2018 test.fish -> /Users/user/.config/fisherman/done/test.fish
lrwxr-xr-x 1 user staff 52 Sep 26 16:57 npm.fish -> /Users/user/.config/fisherman/fnm/functions/npm.fish
lrwxr-xr-x 1 user staff 53 Sep 26 16:57 node.fish -> /Users/user/.config/fisherman/fnm/functions/node.fish
lrwxr-xr-x 1 user staff 44 Sep 26 16:57 menu.fish -> /Users/user/.config/fisherman/menu/menu.fish
lrwxr-xr-x 1 user staff 58 Sep 26 16:57 last_job_id.fish -> /Users/user/.config/fisherman/last_job_id/last_job_id.fish
lrwxr-xr-x 1 user staff 50 Sep 26 16:57 getopts.fish -> /Users/user/.config/fisherman/getopts/getopts.fish
lrwxr-xr-x 1 user staff 60 Sep 26 16:57 get_file_age.fish -> /Users/user/.config/fisherman/get_file_age/get_file_age.fish
lrwxr-xr-x 1 user staff 52 Sep 26 16:57 fnm.fish -> /Users/user/.config/fisherman/fnm/functions/fnm.fish
lrwxr-xr-x 1 user staff 52 Sep 26 16:57 fishtape.fish -> /Users/user/.config/fisherman/fishtape/fishtape.fish
-rw-r--r-- 1 user staff 1.3K Sep 26 16:57 fish_user_key_bindings.fish
lrwxr-xr-x 1 user staff 56 Sep 26 16:57 await.fish -> /Users/user/.config/fisherman/await/functions/await.fish
lrwxr-xr-x 1 user staff 56 Sep 26 16:57 __z_clean.fish -> /Users/user/.config/fisherman/z/functions/__z_clean.fish
lrwxr-xr-x 1 user staff 54 Sep 26 16:57 __z_add.fish -> /Users/user/.config/fisherman/z/functions/__z_add.fish
lrwxr-xr-x 1 user staff 50 Sep 26 16:57 __z.fish -> /Users/user/.config/fisherman/z/functions/__z.fish
lrwxr-xr-x 1 user staff 57 Sep 26 16:57 __fzfcmd.fish -> /Users/user/.config/fisherman/fzf/functions/__fzfcmd.fish
lrwxr-xr-x 1 user staff 70 Sep 26 16:57 __fzf_reverse_isearch.fish -> /Users/user/.config/fisherman/fzf/functions/__fzf_reverse_isearch.fish
lrwxr-xr-x 1 user staff 72 Sep 26 16:57 __fzf_parse_commandline.fish -> /Users/user/.config/fisherman/fzf/functions/__fzf_parse_commandline.fish
lrwxr-xr-x 1 user staff 59 Sep 26 16:57 __fzf_open.fish -> /Users/user/.config/fisherman/fzf/functions/__fzf_open.fish
lrwxr-xr-x 1 user staff 62 Sep 26 16:57 __fzf_get_dir.fish -> /Users/user/.config/fisherman/fzf/functions/__fzf_get_dir.fish
lrwxr-xr-x 1 user staff 64 Sep 26 16:57 __fzf_find_file.fish -> /Users/user/.config/fisherman/fzf/functions/__fzf_find_file.fish
lrwxr-xr-x 1 user staff 63 Sep 26 16:57 __fzf_complete.fish -> /Users/user/.config/fisherman/fzf/functions/__fzf_complete.fish
lrwxr-xr-x 1 user staff 57 Sep 26 16:57 __fzf_cd.fish -> /Users/user/.config/fisherman/fzf/functions/__fzf_cd.fish
lrwxr-xr-x 1 user staff 68 Sep 26 16:57 __fnm_version_which.fish -> /Users/user/.config/fisherman/fnm/functions/__fnm_version_which.fish
lrwxr-xr-x 1 user staff 71 Sep 26 16:57 __fnm_version_validate.fish -> /Users/user/.config/fisherman/fnm/functions/__fnm_version_validate.fish
lrwxr-xr-x 1 user staff 68 Sep 26 16:57 __fnm_version_query.fish -> /Users/user/.config/fisherman/fnm/functions/__fnm_version_query.fish
lrwxr-xr-x 1 user staff 68 Sep 26 16:57 __fnm_version_local.fish -> /Users/user/.config/fisherman/fnm/functions/__fnm_version_local.fish
lrwxr-xr-x 1 user staff 71 Sep 26 16:57 __fnm_version_download.fish -> /Users/user/.config/fisherman/fnm/functions/__fnm_version_download.fish
lrwxr-xr-x 1 user staff 58 Sep 26 16:57 __fnm_use.fish -> /Users/user/.config/fisherman/fnm/functions/__fnm_use.fish
lrwxr-xr-x 1 user staff 60 Sep 26 16:57 __fnm_usage.fish -> /Users/user/.config/fisherman/fnm/functions/__fnm_usage.fish
lrwxr-xr-x 1 user staff 65 Sep 26 16:57 __fnm_run_bin_as.fish -> /Users/user/.config/fisherman/fnm/functions/__fnm_run_bin_as.fish
lrwxr-xr-x 1 user staff 57 Sep 26 16:57 __fnm_rm.fish -> /Users/user/.config/fisherman/fnm/functions/__fnm_rm.fish
lrwxr-xr-x 1 user staff 65 Sep 26 16:57 __fnm_read_fnmrc.fish -> /Users/user/.config/fisherman/fnm/functions/__fnm_read_fnmrc.fish
lrwxr-xr-x 1 user staff 61 Sep 26 16:57 __fnm_mirror.fish -> /Users/user/.config/fisherman/fnm/functions/__fnm_mirror.fish
lrwxr-xr-x 1 user staff 59 Sep 26 16:57 __fnm_list.fish -> /Users/user/.config/fisherman/fnm/functions/__fnm_list.fish
lrwxr-xr-x 1 user staff 67 Sep 26 16:57 __fnm_index_update.fish -> /Users/user/.config/fisherman/fnm/functions/__fnm_index_update.fish
lrwxr-xr-x 1 user staff 52 Sep 26 16:57 zclean.awk -> /Users/user/.config/fisherman/z/functions/zclean.awk
lrwxr-xr-x 1 user staff 50 Sep 26 16:57 zadd.awk -> /Users/user/.config/fisherman/z/functions/zadd.awk
lrwxr-xr-x 1 user staff 47 Sep 26 16:57 z.awk -> /Users/user/.config/fisherman/z/functions/z.awk
lrwxr-xr-x 1 user staff 59 Sep 26 16:57 __z_complete.fish -> /Users/user/.config/fisherman/z/functions/__z_complete.fish
-rw-r--r-- 1 user staff 15K Oct 7 23:31 fisher.fish |
@franciscolourenco I suppose you ran
Based on your ls dump above you can remove all the files, except for |
I was able to downgrade by running this command:
I was then able to uninstall Fisher 2 and follow the instructions afterwards. |
@j-f1 Thank you for sharing that! 💯 |
Migrating from V2 to V3 · Issue #450 · jorgebucaran/fisher jorgebucaran/fisher#450
With
It seems continuing did the trick, however. |
So I followed the migration guide and removed the old version using
and installed the new version using
Also, I installed the latest version of fish shell.
But when I try to install any package on Github, I get.
However, if I manually download the tar file from the link and decompress the package and install it using fisher, that works. These are the files I have and my
Not sure what the problem is, but I can definitely use some help :) |
@aa8y Can you create an issue with the problem and remove this comment later? This is just a migration guide. The first wrong thing I see is "done in 1485.86s". That must be a bug (you didn't actually wait 25 mins did you?) Then I would run:
...to make sure you are getting the correct output. Then use the full pipeline to make sure the tarball is being downloaded.
I suspect Fisher are erroring somewhere in between. Why did you use |
@jorgebucaran I am sorry. I saw people commenting and figured that I'd leave one too :) However, after you asked me why I was using |
@aa8y Great news, what about the "done in 1485.86s"? Seems like a bug. Can you run |
@jorgebucaran The timing reported does still seem buggy. I ran it again without removing
This is close to 75 minutes and it definitely did not take that long. So I decide to measure it.
And ~16s seems more accurate. So if you want me to open an issue for that I can. |
Migrating from V2 to V3
The easiest way to upgrade from V2 to the new fisher is to remove all packages and uninstall V2 first:
Now you can install V3 from scratch:
curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
Notice we're just copying a file to a directory—this is not a curlpipe installer!
Too late for that...
If you already upgraded to V3 using the former
fisher update
you'll need to manually remove the old configuration directories and packages.First, remove the old configuration directories.
Now, there is no way to automate removing a package that was previously installed with V2, so go to your
functions
,completions
, andcond.f
directories inside your fish configuration path and remove all the files that you didn't put in there yourself.If you were using a custom installation prefix, removing that directory should be good enough. ✂️
I am using a custom installation prefix
The environment variable used to customize the installation prefix has been renamed to
$fisher_path
(to make it obvious it's a fisher feature and not a fish feature). If you were using a custom installation prefix, make sure to use$fisher_path
and not.$fish_path
See changing the installation prefix in the documentation for details.
I'm done, what next?
Congratulations! You did it. 🎉
See V3's release notes to know what changed and what's new in fisher.
Help, it didn't work!
If you upgraded to V3 and something is not working like it should, feel free to ask a question here! If you think you completed the upgrade process correctly, but have a problem with something else—maybe you found a bug—consider creating a new issue instead.
The text was updated successfully, but these errors were encountered: