{"html_url": "https://github.com/simonw/datasette/issues/141#issuecomment-620970547", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/141", "id": 620970547, "node_id": "MDEyOklzc3VlQ29tbWVudDYyMDk3MDU0Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-04-29T03:27:37Z", "updated_at": "2020-04-29T03:27:54Z", "author_association": "OWNER", "body": "This bug raised its head again in #744", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 275814941, "label": "datasette publish can fail if /tmp is on a different device"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/141#issuecomment-350301248", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/141", "id": 350301248, "node_id": "MDEyOklzc3VlQ29tbWVudDM1MDMwMTI0OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-12-08T16:07:04Z", "updated_at": "2017-12-08T16:07:04Z", "author_association": "OWNER", "body": "This fix should work, please have a go with latest master and let me know if you run into any problems.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 275814941, "label": "datasette publish can fail if /tmp is on a different device"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/141#issuecomment-350292364", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/141", "id": 350292364, "node_id": "MDEyOklzc3VlQ29tbWVudDM1MDI5MjM2NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-12-08T15:33:18Z", "updated_at": "2017-12-08T15:33:18Z", "author_association": "OWNER", "body": "I can emulate this on OS X using a disk image (Disk Utility -> File -> New Image -> Blank Image...) - once mounted, I get the following:\r\n\r\n >>> os.link('/tmp/hello', '/Volumes/Untitled/hello')\r\n Traceback (most recent call last):\r\n File \"\", line 1, in \r\n OSError: [Errno 18] Cross-device link: '/tmp/hello' -> '/Volumes/Untitled/hello'\r\n\r\nI can simulate that in a mock like this:\r\n\r\n\t>>> from unittest.mock import patch\r\n\t>>> @patch('os.link')\r\n\t... def test_link(mock_link):\r\n\t... mock_link.side_effect = OSError\r\n\t... mock_link()\r\n\t... \r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 275814941, "label": "datasette publish can fail if /tmp is on a different device"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/141#issuecomment-346974336", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/141", "id": 346974336, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Njk3NDMzNg==", "user": {"value": 50138, "label": "janimo"}, "created_at": "2017-11-26T00:00:35Z", "updated_at": "2017-11-26T00:00:35Z", "author_association": "NONE", "body": "FWIW I worked around this by setting TMPDIR to ~/tmp before running the command.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 275814941, "label": "datasette publish can fail if /tmp is on a different device"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/141#issuecomment-346157542", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/141", "id": 346157542, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NjE1NzU0Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-21T20:53:47Z", "updated_at": "2017-11-21T20:53:47Z", "author_association": "OWNER", "body": "I think a copy is the right thing to do here - it will be cleaned up when the temp directory is removed. The hard link thing was always intended to save space, but if we can't do a hard link I don't see any harm in a temporary file copy.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 275814941, "label": "datasette publish can fail if /tmp is on a different device"}, "performed_via_github_app": null}