{"push_id":651133305,"size":1000,"distinct_size":203,"ref":"refs/heads/master","head":"d342b42cf35c8d79799e57eae4469ab80c70fdff","before":"0efe9825d0b5ac14f603840ff130509d18b981d0","commits":[{"sha":"88fbb13ee328cc56c76a72942085a011bbbabad7","author":{"email":"d50d14a37552a7706bfcf47604c17caf426ed5f4@joeyh.name","name":"Joey Hess"},"message":"Linux standalone: Improved process names of linker shimmed programs.","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/88fbb13ee328cc56c76a72942085a011bbbabad7"},{"sha":"8346ce18a89f879d31067dcef2906c10e6cffe60","author":{"email":"d50d14a37552a7706bfcf47604c17caf426ed5f4@joeyh.name","name":"Joey Hess"},"message":"Merge branch 'master' of ssh://git-annex.branchable.com","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/8346ce18a89f879d31067dcef2906c10e6cffe60"},{"sha":"f86f4fd551a62222b6513c70258e0d2df1ca642b","author":{"email":"84a8aa483123a7b4337e0f09bcc8a6abfe482366@web","name":"https://id.koumbit.net/anarcat"},"message":"hopefully i nailed the title better here :)","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/f86f4fd551a62222b6513c70258e0d2df1ca642b"},{"sha":"dfe67f643e3a6dfd606505ed7237129ce9baf3c9","author":{"email":"84a8aa483123a7b4337e0f09bcc8a6abfe482366@web","name":"https://id.koumbit.net/anarcat"},"message":"Added a comment: the actual process i use","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/dfe67f643e3a6dfd606505ed7237129ce9baf3c9"},{"sha":"54683714a8194981c9a0d635687a5df3a43d7f80","author":{"email":"84a8aa483123a7b4337e0f09bcc8a6abfe482366@web","name":"https://id.koumbit.net/anarcat"},"message":"Added a comment","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/54683714a8194981c9a0d635687a5df3a43d7f80"},{"sha":"589ecfd47012a508be2713c5ba7a555721f2669f","author":{"email":"84a8aa483123a7b4337e0f09bcc8a6abfe482366@web","name":"https://id.koumbit.net/anarcat"},"message":"Added a comment: document in the manpage?","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/589ecfd47012a508be2713c5ba7a555721f2669f"},{"sha":"dee48b959d7a3f061a87f9d81c7c77a8a9e9bd63","author":{"email":"f84b9d6e4d47f01b5c42b1e35ba6f39edc674279@web","name":"https://www.google.com/accounts/o8/id?id=AItOawnPgn611P6ym5yyL0BS8rUzO0_ZKRldMt0"},"message":"Added a comment: Reseting to the git-annex branch","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/dee48b959d7a3f061a87f9d81c7c77a8a9e9bd63"},{"sha":"1feec604ace64f99d848cbcdd07b284913c5cef4","author":{"email":"da649486d19f8cc02350447179637cba604eff46@web","name":"https://www.google.com/accounts/o8/id?id=AItOawlmLuHhscJsoAqb9q0N3LdtHum6LjY1LK4"},"message":"Added a comment","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/1feec604ace64f99d848cbcdd07b284913c5cef4"},{"sha":"f3b3319f9db5bf4f0cc0166c4b3d9833e8c9debe","author":{"email":"da649486d19f8cc02350447179637cba604eff46@web","name":"https://www.google.com/accounts/o8/id?id=AItOawlmLuHhscJsoAqb9q0N3LdtHum6LjY1LK4"},"message":"Added a comment","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/f3b3319f9db5bf4f0cc0166c4b3d9833e8c9debe"},{"sha":"0f9c1582227115004ca84d70fb26e9ff74b65393","author":{"email":"da649486d19f8cc02350447179637cba604eff46@web","name":"https://www.google.com/accounts/o8/id?id=AItOawlmLuHhscJsoAqb9q0N3LdtHum6LjY1LK4"},"message":"removed","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/0f9c1582227115004ca84d70fb26e9ff74b65393"},{"sha":"c6ff9385e62a384991df828644bb59d61b742615","author":{"email":"25143fa32a2f68c26309969f86169e74bd5c76c1@web","name":"sairon"},"message":"Added a comment","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/c6ff9385e62a384991df828644bb59d61b742615"},{"sha":"ea76d04e15c6c372787af9608f4c39db0cb1737c","author":{"email":"d50d14a37552a7706bfcf47604c17caf426ed5f4@joeyh.name","name":"Joey Hess"},"message":"show error when sqlite crashes worker thread\n\nBetter than \"blocked indefinitely in MVar\"..","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/ea76d04e15c6c372787af9608f4c39db0cb1737c"},{"sha":"afb3e3e47264aaed432454e8ff0f0e5bae3df03d","author":{"email":"d50d14a37552a7706bfcf47604c17caf426ed5f4@joeyh.name","name":"Joey Hess"},"message":"avoid crash when starting fsck --incremental when one is already running\n\nTurns out sqlite does not like having its database deleted out from\nunderneath it. It might suffice to empty the table, but I would rather\nstart each fsck over with a new database, so I added a lock file, and\nrunning incremental fscks use a shared lock.\n\nThis leaves one concurrency bug left; running two concurrent fsck --more\nwill lead to: \"SQLite3 returned ErrorBusy while attempting to perform step.\"\nand one or both will fail. This is a concurrent writers problem.","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/afb3e3e47264aaed432454e8ff0f0e5bae3df03d"},{"sha":"d6f618366d7d44d972442a184cc2ca197d473055","author":{"email":"29fcb3074a73bf9fc73ae5a3d06ca486efddfe89@web","name":"195.234.136.80"},"message":"poll vote (OpenStack SWIFT)","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/d6f618366d7d44d972442a184cc2ca197d473055"},{"sha":"bd6e41f8e67c00c3310a7e6e8be67602bd37e729","author":{"email":"d50d14a37552a7706bfcf47604c17caf426ed5f4@joeyh.name","name":"Joey Hess"},"message":"Merge branch 'master' into database\n\nConflicts:\n\tdebian/changelog","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/bd6e41f8e67c00c3310a7e6e8be67602bd37e729"},{"sha":"a3370ac45952b2384e919b14040ae2d9039fe9f1","author":{"email":"d50d14a37552a7706bfcf47604c17caf426ed5f4@joeyh.name","name":"Joey Hess"},"message":"allow for concurrent incremental fsck processes again (sorta)\n\nSqlite doesn't support multiple concurrent writers\nat all. One of them will fail to write. It's not even possible to have two\nprocesses building up separate transactions at the same time. Before using\nsqlite, incremental fsck could work perfectly well with multiple fsck\nprocesses running concurrently. I'd like to keep that working.\n\nMy partial solution, so far, is to make git-annex buffer writes, and every\nso often send them all to sqlite at once, in a transaction. So most of the\ntime, nothing is writing to the database. (And if it gets unlucky and\na write fails due to a collision with another writer, it can just wait and\nretry the write later.) This lets multiple processes write to the database\nsuccessfully.\n\nBut, for the purposes of concurrent, incremental fsck, it's not ideal.\nEach process doesn't immediately learn of files that another process has\nchecked. So they'll tend to do redundant work.\n\nOnly way I can see to improve this is to use some other mechanism for\nshort-term IPC between the fsck processes. Not yet done.\n\n----\n\nAlso, make addDb check if an item is in the database already, and not try\nto re-add it. That fixes an intermittent crash with\n\"SQLite3 returned ErrorConstraint while attempting to perform step.\"\n\nI am not 100% sure why; it only started happening when I moved write\nbuffering into the queue. It seemed to generally happen on the same file\neach time, so could just be due to multiple files having the same key.\nHowever, I doubt my sound repo has many duplicate keys, and I suspect\nsomething else is going on.\n\n----\n\nUpdated benchmark, with the 1000 item queue: 6m33.808s","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/a3370ac45952b2384e919b14040ae2d9039fe9f1"},{"sha":"34142293549ca625d798edd564ffb2d5330254b0","author":{"email":"d50d14a37552a7706bfcf47604c17caf426ed5f4@joeyh.name","name":"Joey Hess"},"message":"fsck: Multiple incremental fscks of different repos (some remote) can now be in progress at the same time in the same repo without it getting confused about which files have been checked for which remotes.","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/34142293549ca625d798edd564ffb2d5330254b0"},{"sha":"39a82a76c16caf990ac5133904ba10f7875e615f","author":{"email":"d50d14a37552a7706bfcf47604c17caf426ed5f4@joeyh.name","name":"Joey Hess"},"message":"close bug","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/39a82a76c16caf990ac5133904ba10f7875e615f"},{"sha":"7fb2e4ec144bb604d8697bfe7dc64412036fec68","author":{"email":"d50d14a37552a7706bfcf47604c17caf426ed5f4@joeyh.name","name":"Joey Hess"},"message":"fix title","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/7fb2e4ec144bb604d8697bfe7dc64412036fec68"},{"sha":"689a497b132c1385eec33bc5cc5f712b76f500f9","author":{"email":"d50d14a37552a7706bfcf47604c17caf426ed5f4@joeyh.name","name":"Joey Hess"},"message":"comment","distinct":false,"url":"https://api.github.com/repos/yarikoptic/git-annex/commits/689a497b132c1385eec33bc5cc5f712b76f500f9"}]}