Skip to content
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

merge into stdlib/REPL? #14

Closed
StefanKarpinski opened this issue Feb 7, 2018 · 10 comments
Closed

merge into stdlib/REPL? #14

StefanKarpinski opened this issue Feb 7, 2018 · 10 comments

Comments

@StefanKarpinski
Copy link

StefanKarpinski commented Feb 7, 2018

@nick-paul, you may have noticed that @KristofferC and I have been using this lovely package for interactive prompting in the new Pkg3 package manager, which we're currently in the process of moving into Julia's standard library. Since dependencies of stdlib packages need to also be in the stdlib somewhere and we are planning on continuing to use and extend the interactive REPL menu functionality, at this point it seems to make sense to include the functionality of TerminalMenus as a standard part of Julia's built-in REPL library. However, I wanted to run the idea past you first since it's your code. There are few different approaches we could take to this:

  1. We could use git filter-branch to preserve the commit history from this repo, so you would retain full credit for the code you've written (thank you!). However, since the stdlib is (for the time being) part of the main Julia repo, you'd have to make PR's to make changes to your own code, which you might not be happy about.

  2. We could instead use git subtree to make the stdlib repo essentially a mirror of this repo instead. However, I've never used git subtree and I don't know how much this will complicate things, so I'm a bit reluctant. Even if it works well technically, it may become confusing where to open issues and make PRs to the TerminalMenus code.

Anyway, that's the situation and I wanted to run it by you to see what you think.

@nick-paul
Copy link
Owner

@StefanKarpinski, thanks for reaching out to me. I'm glad you found my package useful! It has been a fun project to work on. Regarding moving the code, it seems like git filter-branch would probably be the better option. I don't mind using PRs to continue working on the project in the future. If you do end up going that route please let me know what I can do to help. I assume we may be including some notes in the docs? In the meantime, I will work on fixing the line overflow bug (#15) that I found in the Pk3 issues list here.

Thanks again for using my package, I'm excited to see it become a part of Julia!

@StefanKarpinski
Copy link
Author

Thanks! We'll go ahead with the filter-branchapproach then. Integrating the docs into the stdlib docs should definitely also happen but maybe not all at once.

@StefanKarpinski
Copy link
Author

StefanKarpinski commented Feb 9, 2018

Update: git subtree ended up being the easiest way to get the effect of git filter-branch but the plan is still to move the functionality into the REPL package permanently. One nice side effect is that if some further development does happen here short term, it's easy to mirror it into the standard library.

@nick-paul
Copy link
Owner

@StefanKarpinski What is the best way to merge recent changes (such as #18 and #16) into Julia's stdlib? Once merged, should we stop development here since 0.7 is close to release?

@StefanKarpinski
Copy link
Author

@KristofferC

@KristofferC
Copy link
Contributor

What I do for Pkg is to cherry-pick commits from the repo onto the stdlib using the subtree strategy. So you would add TerminalMenus as a remote repo, fetch from it and then git cherry-pick --strategy=subtree -Xsubtree=stdlib/REPL/TerminalMenus COMMIT_SHA.

Regarding future development, it is kinda nice to have different repos because the development can be more focused and things doesn't get lost in the sea of issue that is JuliaLang/julia. But it is up to the developers imo. The plan AFAIU is to move out stdlibs to separate repos anyway.

@bjarthur
Copy link
Contributor

is TerminalMenus now in julia base? if so, this issue should be closed. if not, this repo needs a Project.toml file that includes a modern version of Compat. i can not install it alongside, for example, Optim. thanks.

@KristofferC
Copy link
Contributor

https://docs.julialang.org/en/v1/stdlib/REPL/#TerminalMenus-1

@nick-paul
Copy link
Owner

As mentioned above, this package has been merged. Sorry for any confusion for not closing this issue earlier

@bjarthur
Copy link
Contributor

thanks! might want to put this on bold at the top of the README

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants