{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":640549079,"defaultBranch":"main","name":"self-replace","ownerLogin":"mitsuhiko","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-05-14T13:14:47.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/7396?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1695158434.0","currentOid":""},"activityList":{"items":[{"before":"cde3dc12623ffd3b1a74bc7f26ef9c36069f6678","after":"35955bd838703792391773aa47d5083eacfd2b10","ref":"refs/heads/main","pushedAt":"2024-05-05T09:07:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"09f1f0ab77e36273d8e195ed29e94a0a2955db85","after":"cde3dc12623ffd3b1a74bc7f26ef9c36069f6678","ref":"refs/heads/main","pushedAt":"2023-09-27T11:34:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Typo: s/Not that/Note that/ (#19)","shortMessageHtmlLink":"Typo: s/Not that/Note that/ (#19)"}},{"before":"6199dbeccf4c8aff4175ba41d14c407469832345","after":"09f1f0ab77e36273d8e195ed29e94a0a2955db85","ref":"refs/heads/main","pushedAt":"2023-09-27T09:02:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Link to self_update in the readme","shortMessageHtmlLink":"Link to self_update in the readme"}},{"before":"37948410f0824352b6748a51fb0c0b9242b1ff0e","after":"6199dbeccf4c8aff4175ba41d14c407469832345","ref":"refs/heads/main","pushedAt":"2023-09-27T08:58:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Convert all tests to run tests","shortMessageHtmlLink":"Convert all tests to run tests"}},{"before":"60c3e6bff09f63b2c2b88ffae7e899d7b1607688","after":"37948410f0824352b6748a51fb0c0b9242b1ff0e","ref":"refs/heads/main","pushedAt":"2023-09-27T08:52:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Check in a Cargo.lock for MSRV","shortMessageHtmlLink":"Check in a Cargo.lock for MSRV"}},{"before":"32c120a976c8e907b0cfc708d9b23c34406dd2b4","after":"60c3e6bff09f63b2c2b88ffae7e899d7b1607688","ref":"refs/heads/main","pushedAt":"2023-09-19T21:22:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Remove Cargo.lock","shortMessageHtmlLink":"Remove Cargo.lock"}},{"before":"c4423fbd87a7faa829965f8566e147ed1e2d6acd","after":"32c120a976c8e907b0cfc708d9b23c34406dd2b4","ref":"refs/heads/main","pushedAt":"2023-09-19T21:19:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"1.3.7","shortMessageHtmlLink":"1.3.7"}},{"before":"e3b278d4572591a8e4ed9ab2a4015da7aa455842","after":"c4423fbd87a7faa829965f8566e147ed1e2d6acd","ref":"refs/heads/main","pushedAt":"2023-09-19T21:18:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Change example to fall back to not reading a link and restore 1.48 support","shortMessageHtmlLink":"Change example to fall back to not reading a link and restore 1.48 su…"}},{"before":"600667ff93acea6608aa77ecfccbf51ad4f60fc6","after":"e3b278d4572591a8e4ed9ab2a4015da7aa455842","ref":"refs/heads/main","pushedAt":"2023-09-19T21:12:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"More fixes","shortMessageHtmlLink":"More fixes"}},{"before":"bdbc3dcb0e3fcf8bd61d0737aaec07e64962bb0d","after":"600667ff93acea6608aa77ecfccbf51ad4f60fc6","ref":"refs/heads/main","pushedAt":"2023-09-19T21:05:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Fix compile error","shortMessageHtmlLink":"Fix compile error"}},{"before":"4f367d93301ac5bbbbab3124e46f78a45a6d12d0","after":"bdbc3dcb0e3fcf8bd61d0737aaec07e64962bb0d","ref":"refs/heads/main","pushedAt":"2023-09-19T21:04:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Read symlink metadata rather than file metadata","shortMessageHtmlLink":"Read symlink metadata rather than file metadata"}},{"before":"10d59fab1dfc31bed0684c5746d95cc9a7d81e8e","after":"4f367d93301ac5bbbbab3124e46f78a45a6d12d0","ref":"refs/heads/main","pushedAt":"2023-09-19T20:55:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Fix another broken test on linux","shortMessageHtmlLink":"Fix another broken test on linux"}},{"before":"c83c0c75f4b068fe2dce310ed5b311db11645472","after":"10d59fab1dfc31bed0684c5746d95cc9a7d81e8e","ref":"refs/heads/main","pushedAt":"2023-09-19T20:50:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Restore 1.48 support","shortMessageHtmlLink":"Restore 1.48 support"}},{"before":"6478a3255202e034f306d963d20c43b32def5832","after":"c83c0c75f4b068fe2dce310ed5b311db11645472","ref":"refs/heads/main","pushedAt":"2023-09-19T20:44:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Change example to fall back to not reading a link","shortMessageHtmlLink":"Change example to fall back to not reading a link"}},{"before":"58ce2621cda877bdfabbf200b805c82cd59b4f47","after":"6478a3255202e034f306d963d20c43b32def5832","ref":"refs/heads/main","pushedAt":"2023-09-19T20:40:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Fix building on windows (#16)","shortMessageHtmlLink":"Fix building on windows (#16)"}},{"before":"26d82e4dadd4cf2ae0e7e5533f954362d70ab3b5","after":"58ce2621cda877bdfabbf200b805c82cd59b4f47","ref":"refs/heads/main","pushedAt":"2023-08-25T14:31:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"1.3.6","shortMessageHtmlLink":"1.3.6"}},{"before":"60dd10ab3d7b821b302f23e882c1073b2422c97f","after":"26d82e4dadd4cf2ae0e7e5533f954362d70ab3b5","ref":"refs/heads/main","pushedAt":"2023-08-25T14:29:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Fix self_replace through symbolic links on macOS (#18)\n\nThis change supports `self_replace` if the binary being invoked is\r\ncalled through a symbolic link on certain platforms including macOS.\r\n\r\nPrior to this change on macOS if the binary was invoked through a\r\nsymlink, the path returned for `std::env::current_exe()` would be the\r\nsymlink and not the underlying resolved path. This means that when the\r\nnew binary is moved into position, it overrides the *symlink* rather\r\nthan the original binary.\r\n\r\nIn Rust's stdlib docs for [`std::env::current_exe`], it reports that:\r\n\r\n> If the executable was invoked through a symbolic link, some platforms\r\n> will return the path of the symbolic link ...\r\n\r\nLooking at the [macOS implementation] of `current_exe`, we can see that\r\nit calls [`libc::_NSGetExecutablePath`], and from the developer docs:\r\n\r\n> Note that _NSGetExecutablePath() will return \"a path\" to the\r\n> executable not a \"real path\" to the executable. That is, the path may\r\n> be a symbolic link and not the real file.\r\n\r\n[`std::env::current_exe`]: https://doc.rust-lang.org/std/env/fn.current_exe.html#platform-specific-behavior\r\n[macOS implementation]: https://github.com/rust-lang/rust/blob/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/sys/unix/os.rs#L384-L400\r\n[`libc::_NSGetExecutablePath`]: https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/dyld.3.html\r\n\r\nSigned-off-by: Fletcher Nichol ","shortMessageHtmlLink":"Fix self_replace through symbolic links on macOS (#18)"}},{"before":"61cd85f6c1fe8af98bc8c17e3d993f87253dc986","after":"60dd10ab3d7b821b302f23e882c1073b2422c97f","ref":"refs/heads/main","pushedAt":"2023-06-03T09:20:46.242Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Fix incorrect release (1.3.5)","shortMessageHtmlLink":"Fix incorrect release (1.3.5)"}},{"before":"8595a7c6b11e43f70a0da94c96228831423d99ef","after":null,"ref":"refs/heads/feature/safe-create-process","pushedAt":"2023-06-03T09:19:50.487Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"}},{"before":null,"after":"8595a7c6b11e43f70a0da94c96228831423d99ef","ref":"refs/heads/feature/safe-create-process","pushedAt":"2023-06-03T09:17:21.417Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"1.3.4","shortMessageHtmlLink":"1.3.4"}},{"before":"5cb56463625ae6a6a39e5d35e7b2da46031740a3","after":null,"ref":"refs/heads/feature/safe-create-process","pushedAt":"2023-05-20T09:11:37.586Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"}},{"before":"94fdfe8e094bcac7cd3f7f1d51a37e43c5e0d871","after":"61cd85f6c1fe8af98bc8c17e3d993f87253dc986","ref":"refs/heads/main","pushedAt":"2023-05-20T09:11:31.739Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Pass copy of cmdline to CreateProcessA (#14)","shortMessageHtmlLink":"Pass copy of cmdline to CreateProcessA (#14)"}},{"before":null,"after":"5cb56463625ae6a6a39e5d35e7b2da46031740a3","ref":"refs/heads/feature/safe-create-process","pushedAt":"2023-05-20T09:02:32.491Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Pass copy of cmdline to CreateProcessA","shortMessageHtmlLink":"Pass copy of cmdline to CreateProcessA"}},{"before":"f9eef0004d1af99ae8a5003e8bcab2d45f053408","after":null,"ref":"refs/heads/feature/windows-handle-passing","pushedAt":"2023-05-19T23:38:42.669Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"}},{"before":"fe74fb7c295af8a80a39d2671ad6792e8718864a","after":"94fdfe8e094bcac7cd3f7f1d51a37e43c5e0d871","ref":"refs/heads/main","pushedAt":"2023-05-19T23:38:38.330Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Explicitly pass handles on windows (#13)","shortMessageHtmlLink":"Explicitly pass handles on windows (#13)"}},{"before":null,"after":"f9eef0004d1af99ae8a5003e8bcab2d45f053408","ref":"refs/heads/feature/windows-handle-passing","pushedAt":"2023-05-19T23:27:15.954Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Explicitly pass handles on windows","shortMessageHtmlLink":"Explicitly pass handles on windows"}},{"before":"1ecfee147a861592e2dbfd02599b4fb23ae3d34b","after":"fe74fb7c295af8a80a39d2671ad6792e8718864a","ref":"refs/heads/main","pushedAt":"2023-05-19T19:11:43.552Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Merge imports","shortMessageHtmlLink":"Merge imports"}},{"before":"954159d05e30fa12352aa7c8e4644b567924d4d8","after":"1ecfee147a861592e2dbfd02599b4fb23ae3d34b","ref":"refs/heads/main","pushedAt":"2023-05-19T17:01:24.794Z","pushType":"push","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"1.3.3","shortMessageHtmlLink":"1.3.3"}},{"before":"911cf7996eb7498ac989ec7ed9f6adbeb2edb3b5","after":null,"ref":"refs/heads/feature/win32-only","pushedAt":"2023-05-19T16:51:17.013Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"}},{"before":"5720ed36bcd53a738f5465baa8675b6b33158f77","after":"954159d05e30fa12352aa7c8e4644b567924d4d8","ref":"refs/heads/main","pushedAt":"2023-05-19T16:51:14.189Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mitsuhiko","name":"Armin Ronacher","path":"/mitsuhiko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7396?s=80&v=4"},"commit":{"message":"Make life before main safe (#12)","shortMessageHtmlLink":"Make life before main safe (#12)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEQcPWmgA","startCursor":null,"endCursor":null}},"title":"Activity · mitsuhiko/self-replace"}