{"action":"opened","issue":{"url":"https://api.github.com/repos/go-fsnotify/fsnotify/issues/77","labels_url":"https://api.github.com/repos/go-fsnotify/fsnotify/issues/77/labels{/name}","comments_url":"https://api.github.com/repos/go-fsnotify/fsnotify/issues/77/comments","events_url":"https://api.github.com/repos/go-fsnotify/fsnotify/issues/77/events","html_url":"https://github.com/go-fsnotify/fsnotify/issues/77","id":79377583,"number":77,"title":"rsync: only REMOVE Event received","user":{"login":"kontrafiktion","id":198502,"avatar_url":"https://avatars.githubusercontent.com/u/198502?v=3","gravatar_id":"","url":"https://api.github.com/users/kontrafiktion","html_url":"https://github.com/kontrafiktion","followers_url":"https://api.github.com/users/kontrafiktion/followers","following_url":"https://api.github.com/users/kontrafiktion/following{/other_user}","gists_url":"https://api.github.com/users/kontrafiktion/gists{/gist_id}","starred_url":"https://api.github.com/users/kontrafiktion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kontrafiktion/subscriptions","organizations_url":"https://api.github.com/users/kontrafiktion/orgs","repos_url":"https://api.github.com/users/kontrafiktion/repos","events_url":"https://api.github.com/users/kontrafiktion/events{/privacy}","received_events_url":"https://api.github.com/users/kontrafiktion/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-05-22T09:35:47Z","updated_at":"2015-05-22T09:35:47Z","closed_at":null,"body":"Hi!\r\n\r\nWith a very simple test (on OS X):\r\n\r\n```\r\npackage main\r\n\r\nimport (\r\n    \"fmt\"\r\n    \"strings\"\r\n    \"gopkg.in/fsnotify.v1\"\r\n)\r\n\r\n\r\nfunc main() {\r\n    watcher, err := fsnotify.NewWatcher()\r\n    if err != nil {\r\n        fmt.Printf(\"fsnotify.NewWatcher() creates error=<%v>\", err)\r\n    }\r\n    fileorfolder := \"/tmp/watchme.dir\"\r\n    fmt.Printf(\"watching %s\\n\", fileorfolder)\r\n    err = watcher.Add(fileorfolder)\r\n    if err != nil {\r\n        fmt.Printf(\"watcher.Watch subfolder=<%v> error=<%v>\", fileorfolder, err)\r\n    }\r\n\r\n    loop:\r\n    for {\r\n        select {\r\n        case ev := <-watcher.Events:\r\n            fmt.Printf(\"event %s\\n\", ev)\r\n            if strings.Contains(ev.Name, \"Bye\") {\r\n                break loop\r\n            }\r\n        case err := <-watcher.Errors:\r\n            fmt.Printf(\"error: \" + err.Error())\r\n            break loop\r\n        }\r\n    }\r\n}\r\n```\r\n\r\nand using rsync (rsync -avh /tmp/rsync.test/watchme.dir /tmp) to \"copy\" files (\"foo.txt\") to the watched location, I get\r\n\r\n    event \"/tmp/watchme.dir/foo.txt\": REMOVE\r\n\r\nbut nothing else. I would have expected a MOVE or CREATE for the file. On Linux I get\r\n\r\n    event \"/tmp/watchme.dir/.foo.txt.HM02fS\": CREATE\r\n    event \"/tmp/watchme.dir/.foo.txt.HM02fS\": CHMOD\r\n    event \"/tmp/watchme.dir/.foo.txt.HM02fS\": RENAME\r\n    event \"/tmp/watchme.dir/foo.txt\": CREATE\r\n\r\nit doesn't matter whether I put the core loop into a go routine"}}