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

use fsnotify.v0 #2

Merged
merged 1 commit into from Aug 18, 2014
Merged

use fsnotify.v0 #2

merged 1 commit into from Aug 18, 2014

Conversation

nathany
Copy link
Contributor

@nathany nathany commented Aug 18, 2014

fsnotify is currently being maintained at:
https://github.com/go-fsnotify/fsnotify

fsnotify.v0 matches the API you are using but some bugs have been fixed. There
is also a newer v1 API if you wish to upgrade.

(So I know when this is merged, ref: https://github.com/go-fsnotify/fsnotify/issues/35)

@bmatsuo
Copy link
Owner

bmatsuo commented Aug 18, 2014

Thank you @nathany.

Honestly I'm a bit confused about the state of these types of packages. Can you please clarify for me, have the go.exp packages been officially deprecated? I haven't seen and can't currently find the evidence of that. Can you provide links to relavent discussions? You mention a comment by @davecheney that I have yet to actually locate.

I read this ANN thread. I'm confused by the document you linked to. You wrote it but it's called "Go 1.5 os/fsnotify API". What is this? A recommendation to the Go team? Do you actually have credentials with Google?

I'm sorry my response amounts to "Who are you and why should I believe you?" I don't mean you any disrespect. I merely want to know what I merge into my repositories. I do appreciate your effort to clean up the Go package ecosystem.

@nathany
Copy link
Contributor Author

nathany commented Aug 18, 2014

Hi Bryan,

Sorry for not introducing myself. I've been helping to maintain fsnotify since September of last year. You can see my commits in all three of these locations:

The confusion you mention is what Dave Cheney wanted to alleviate, and what I'm attempting to do. That conversation was in Slack which isn't indexed publicly. 😦

~

Russ Cox opened an issue two years ago to bring fsnotify into standard library. However, fsnotify isn't yet ready to adopt the Go1 compatibility guarantees. There is still a lot of work to do and things to figure out.

Go is an open source project. Anyone can write a proposal, including people who don't work for Google or even have commit access. Once I had the go ahead, I started drafting it up. This was for Go 1.3, but it never made it in time, and the code freeze for Go 1.4 is only two weeks away, which explains the (hopeful) Go 1.5 title.

The important part of this document is that I had feedback from Russ Cox, minux and others. While it's not final by any means, I believe they set me on the right course.

~

go.exp/fsnotify hasn't been officially deprecated, at least not yet. Perhaps I can suggest that if you and others are willing to adopt the new location. There are several reasons why I'm not contributing to go.exp/fsnotify anymore:

  1. Gopkg.in allows me to have multiple versions of fsnotify in a single repository by adding tags. It's a real useful tool, but it only works with GitHub repos for now. Going into this, I knew there would be more API changes than those already made. But I also want people to be able to depend on fsnotify, otherwise it won't get the testing it needs. The only way to weed out the bugs is if people adopt the latest versions. Before it becomes a dependency for cmd/go, it needs to be really stable.
  2. I've used GitHub for over 6 years now for work and play, so I'm quite comfortable with its operation. That didn't keep me from learning how to Contribute to Go a year ago, and even give talks for others to learn how. But when it comes to maintaining a project, I still don't know my way around as well.
  3. My last CL has been sitting in limbo for some time and there are issues that I would've closed some time ago if I could. I don't have commit access to go.exp or howeyc/fsnotify. Maybe I could become a committer, but even then, I would want peer review to make the hoops worth jumping through. I long ago gave up on working directly in go.exp and instead was throwing code over the fence once the last CL went through. When Russ Cox and others have more time (not rewriting the compiler), I look forward to having peer review again.

I'm thinking of setting up a blog for fsnotify, so hopefully I'll do a better job of communicating the state of the project in the future.

Thanks for asking,
Nathan.

@nathany
Copy link
Contributor Author

nathany commented Aug 18, 2014

Spurred on by your questions, I wrote a message on golang-dev to suggest go.exp/fsnotify be deprecated: https://groups.google.com/d/msg/golang-dev/-__vD-kOF5s/v8eLY271-ucJ

@bmatsuo
Copy link
Owner

bmatsuo commented Aug 18, 2014

Thank you, @nathany, for the detailed and thoughtful response.

That is unforunate that the slack community is private. I have not joined yet.

That's great you wrote a proposal. I was just unclear on its purpose and origin. To my knowledge it has not a common practice for people outside of the Go team. Maybe you could add some more introductory text explaining that.

I'm not completely sold on gopkg.in, but that's not a big deal. I've started creating repositories named "foo.exp" to address the problems of initial instability.

That is truly unfortunate that (your) CLs are not being addressed in go.exp. That sounds like a problem. It looks like you just pinged people today. I hope it gets a response in the next couple days. If that were to happen, would things be current with your repo?

Anyway, I'm fixing this thing up over the next couple days. I'll look to merge this in soon, maybe tonight.

@bmatsuo
Copy link
Owner

bmatsuo commented Aug 18, 2014

Spurred on by your questions, I wrote a message on golang-dev to suggest go.exp/fsnotify be deprecated: https://groups.google.com/d/msg/golang-dev/-__vD-kOF5s/v8eLY271-ucJ

cool, I will watch the outcome of that as well.

@nathany
Copy link
Contributor Author

nathany commented Aug 18, 2014

Slack is a really nice tool, but I'm not sure if it's a good choice for an open community like ours. We're not paying the per-user fees so we have very limited history indexed even for those who have joined.

The CL is for changes I made quite some time ago. If it were submitted, I would need to open another CL with everything from 2014-06-12 onward (see the CHANGELOG).

The hope (back then) was that the code review process would provide some suggestions to improve the codebase, which I would feed back to the mirror on GitHub. Now its diverged enough that I'd rather just close it and keep all of fsnotify's work in one place.

Ciao.

@bmatsuo
Copy link
Owner

bmatsuo commented Aug 18, 2014

Yea. I was skeptical about the Slack community when I first heard about it. What you've just said makes me more uncertain.

Thank you very much for the correspondence. Like I said, I'll be looking to merge this in shortly, once I get a test environment set up again.

Cheers

@bmatsuo
Copy link
Owner

bmatsuo commented Aug 18, 2014

Got my tests running and things look good. Thanks @nathany

bmatsuo added a commit that referenced this pull request Aug 18, 2014
@bmatsuo bmatsuo merged commit c525468 into bmatsuo:master Aug 18, 2014
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

Successfully merging this pull request may close these issues.

2 participants