Don't start repo with non-directory root (fixes #276)

This commit is contained in:
Jakob Borg committed 2014-05-28 06:55:30 +02:00
1 parent 381f6aeaf6
commit 8fe546c4a2
4 files changed
+13 -4

No files matched your search

+2 -2
View File
@@ -18,7 +18,7 @@ func init() {
bs, _ = ioutil.ReadAll(gr)
Assets["angular.min.js"] = bs
bs, _ = hex.DecodeString("1f8b080000096e8800ffd43c6b73dbb6b2dff32b10ddb4a41299727aefed9c89e2745a27edf1c9cb1327f9e2fa03254216638a5448d08f71f4dfcf2e00527852b49db4a96612dbc0625f582c761780c60f3f55599a33322d8b8b8a964f082b6b3a22b32267695ed3e6ef555657f84ffc4d1e8eef8d1f9e66c534cec88327641e671500c5f9699dc5a5fc1b81ee0535fc52b1329db16072efde795c92ea2a9fb1459a9f92bd6644b42c923aa361d0f60523727c329cf00175994d6340b3478292561c4f0b1721a3659165b40c83a3a6759f95196098d7f0775ae4247c50cd8a1570f860c1d86a48aeef11f820ee5549cf9fc70c91ef4edad653cadebe84269475d38ac4e39209ceb988c009760aecc84a4e39c10a00aed713a3739e9edaedcbab83e72859a0b5e6454211c9f18903c9418e826aecc97e5a9645e91857519abfc03e9b12689e66365b255d158d14bc7d3c2647308df96945a6745e94944c8b22ab48561467d0c2182d758a8c7160e085b75fa7c91312bc4a2b46734004b30312cec056f8ac91c3b260c5acc8888020bf2609a8bba21500b2ab15d861c0e82583bfe42c08435c8f14e4afe3cb239a272fa7ab4a41ffb666a705ced93b9ce657e93265247c99fe36ae861bdc79bd9cd2b213fb3bc017e70739087a1e67470a05d1439a2e12de18b3b41c3772d9797bfc877119c302c9ded1cf3500a9ca01951150108ccc13aea30d487ffc80647f012b991a9a47e4bfa71925a2574c407fd52b14fee09ee6d73c7f91c7d38c260a11d1459ea76077e7b4bcda2046fbece4fb5531f320e53d77c2795894cc8f90c8eefe3a3ec2f6df848f56d70e36934dbbcaa636fec3617e68cb295a0876ba079fe81eeeb44e8fdc0b5bae5775623e1cdc65317fd005456cbfd66c41615b9ac5dca97fd044de8af030aeaa8ba24cba912a5012f16ad3d2c9edfb57eab28506f2eff7ef0f8f08f84a02847ad950a3ee76e3828de8a89ecd284d681236fb167ed23909eff36d4a6d55a62acd53160e277a5718fc4f4e194873c677836088ee3fcec26091263430a0ed4d103f6b8d85cd967843363603bb9940d86a51b3a4b8c8bb215dbbb3cef4da56eeef31f8275bb37eb14acaea32f7a9c33d213ead5f4fe3d95952162b300aa0073608667146afa6455c2632885a7b26a54bc0760b9f831c0b046ee32095371e0b4580306c02ac4724185757b06497c06385765755e1667012b3d8144e37d089cb0404466003c72b2c0f45b812bab993c89b0952c76d7e7f3bfd043b63043aab4235701946b0ea5ec4b385823c4dac89712a800744bf209abd001a683e83860fef0ef68be5aac8c15520a6beea51d4c0f11ea7c989a509532af577378f4aa4d97ba63082cd8b0ba08ef12e449817e170a441b0043a4384d969e3e2211993c7bbbbbb3a649a4847d57c94301ac6eba2a103049d9134273e15716f869dd122aede5ee4100dae68c9aeb8aa1df0f869329489d5bbb65a186cb96e2c481427051c15042fc0feeb982da2657c19ee8ec8bfc843a14b0e7190ff76c568f5be60b095ef38827e0b0a95c792a1cda146b9a8d936d210a2f5a1ad817989af09ec75b30509a94fb5965276fb8ae000d46763edf2107ae264ba896d8b41243dbdd781992ab9c9ad27f7cc7408622d56579a3bc56673efc05dbe98ebab1ee160ddef41f655e7099da7398461eead054287fc2cc7dd4ef5ee1a051b354c142406b0c6ee23092fe62356ac5640d98999a7e64cace1003d9f830cefdf8c6ec0f9cfe3dd9388151f8040b90f5303cefc91e880799956ac0c1f0f27ba1c72f81e19600a089bed807cf94236ad07494607a62ca2fb11749370b0e1120b0287b49c817f8e4fa99c984764f0c370e09456aa4411c8dc3c57c57e06a1dfb79fef349f17df60b213ccb9caaf36d7da8405294c8d97b25c87812f4adaa0a9c4bc7b31adca741943fee5c2e4509f3e85ba497cf379845dd227b043bba276c6bd35c7bfdb0fab3683ab1903a90002f60aa799e0b21224c62e00858789a956be17cdb302e23320e3768a58a47238456cde9f6b9133728b4e1ee01c5b971c10bd819f07cf4f749b434053374d7b8431594639595422a8c2b5a5b58e754558c1a39fc008be08c57aa57fa4f44f24c4b56252863de887a189b1c3e704bc0cc0c56f7db143b3073394ea9fa0d7e2eca6fa94a9c94d94b68458aff26bcbf6d5dfadba6cf7d84b67b62fdcaa33d535da2ac3aacc5fac31c918579a2c0a75b9f65f3ae65b51f9df2682e1043ab729bf281fe9d6694066744eb9a12947081e3625c4392d2bc0ede2ef5baa274b61effde8a7bd659e61bb4d90b0a51d5d5c946089190d3f31510f500043c6a85a61407e1bb2f9469544609d68d9068a28f14619cd4fd902222ef2d823711b1f74082ab141a4ec358637f1d296d7610d325a91bd3d4394c1c017a1b4f30ce43d8355900e19758b69627fc8687f7607116c91566f5c829b539c0b4b308685c684297ae9ab94b01609171f34ec54d136fdf4514e6fcdd024654ab5ddad99f11842b5334a6282f5458c5160ec55dbad9d1b4612e4edaa49b59be3571c13eab01248cdbe5db8b084de890700541c58ce9532f5ad83f2faf8d019e1c7e7b4b786aaba84ff8a251567cf337e2695e87e50b401aafbad48f4731d67955b39a34efd0e219bb57673f1d9821e74e641ad6b339d8792e5a1b3c6a173db3d4f06efce4aee86bd5eb804b37e44ed39b651ccf64a1089f3241939683b960d75c4caa85a65290b83119a5abc52f6814b651fb88c188456e04888596c17f5a6555159d557200736fa9fa3b76fa28a9f8aa7734309c311b95ed03881ddef09b90ef68b1c78623befc13f0560e7f10a5813674ee34f5591076bad027caf7bc50cf00064e02b55f1b30bef7ad0ce49f4b31dcfc1cc4dcf293c6a9398039f4b715c6b30446b0e826e259b9b29e56cc92e1fba4e72acc3a89b6a677d7bf971477006444680d0a0adcb126c4e8e7810d14b30c124bc5e8f9a5dda66054980fa5e5cc21a72aa51033ba2d95c9c1918b1a9169adaf26e188bdab36158af64af0d1fdae6e85391e6b08489c36e10f805705294d10358238725675a8b0970ca1ab5dd6ac3d16720b503524df1402d4d3e2b07abd5a2b808dcb8e2640b32d72c5eabfa02f693ab3c5e02ffeb1e3369b859e754ba61fe7a452714122bba55d91645eb68981f2db955b2fd6cd7a5877e498633426cd6c7fdcd02519782e8ede12938a4c987b2d3f213370c68c4a99b7632ea3e0de17dfc28c7406d74f410f60e029b42db13d01d38fc2dfbb5b947414cda69b64d2e035e6e449222a723924e6e2a682fd36f934387ee2da8d6779b191c584016cf68382663603800726dcb4ed3a29dfb34e19445a1755d2e3f7fcb70ad25829ab41525ce9ef9c12449c9537de18aa41e3a1e3d7295f654d8e3f4442dbce82aea38f46f066f249e58a092737d9f6d3ed392c6673d4a7ee2041d307916b8907855578bd0deLine truncated
bs, _ = hex.DecodeString("1f8b080000096e8800ffec3c7f73dbb692ffe75320bab4a412997272d7de4d14a7933a69cf2fbf3c71923f9eeb37438990c598221512b4ad71f4dddf2e0092000150b49db4e9ccd34c621b58ec2f2c16bb0b40e3fb9f8a244e1999e6d94541f3c784e5251d915996b2382d69f5f72a290bfc27fe26f7c777c6f74f936c1a26e4de63320f930280c2f4b44cc25cfe8d4077bc127e29581ecf9837b973e73ccc49b14e676c11a7a764af1a112cb3a84ca8efd57dde881c9f0c277c409927d310d0ec112fa705c753c305c8689e2509cd7defa86add67790218e625fc1d6729f1ef15b36c051cde5b30b61a92ab3b043e887b95d3f3e72143e4bb93baf594b2b72fa109656d5a91789833c139171138c14e811d594929275800c0d566d2ea9cc7a766fb727df01c25f3b4d6348b2822393eb120394851508d3dd94ff33ccb2de30a4ad317d8675202cdd3c4642ba7abac9282b78fc7e408a6313d2dc894ceb39c926996250549b2ec0c5a18a3b94e91310e0cbcf0f6ab387a4cbc5771c1680a88607640c219d80a9f357298672c9b65091110e4591481ba0b5a00205bafc00e3d462f19fc25674118e266a4207f1d5e1ed1347a395d150afab7253bcd70cedee134bf8a973123fecbf8d771316c70a7e5724af34eecef005f981ea420e879981c2914440fa9ba887f6dccd272ecc865e7cdf11f8679080b2479473f9700a42a075446404130328db88e1a90fef801c9fe0256326d691e91ff162794885e3101fd55af50f89d7b9a6769fa220da7098d1422a28b3c8fc1eece69be6e10a37d76f2fd2a9b3990f29e5be13ccc72e6464864777f1d1f61fbafc247ab6b079b49d3aeb2a98dff70981e9a728a16829df6c127ba873b2de323fbc296eb559d980f07b759cc1f744111dbb3922d286c4bb3903bf50f9ac85b111e86457191e5513752054a225e352d9ddcbe7fa52e5b6820fffffefde111015f4980502f1baad45d6f5cb0111d95b319a5118dfc6adfc24f3c27fe5dbe4da9adca54c569ccfce144eff2bdff4a290369cef86ee00dd1fd8789ef2de2887a2d687313c4cf4663a1d912afc94633b09b09842d16258bb28bb41bd2b63beb4c6f4ce5fe16827f3235eb162ba7accc53973aec13e2d2fad5349c9d4579b602a3007a6083601667743dcdc23c9241d4c631295d02d65bf81ce45820701d07a9bcf1582800847e15603d20deb858c3925d028f05da5d51f8cde02864615b38dd402736131018810d1cafb03c14e18a6fe74e22af26481dd7fcfe76fa0976c6007456f86ae0320c60d5bd08670b05791c19136355000f887e41347b1e34d074060d1fde1dec67cb559682ab404c7dd5a3a881e33d8ea31343136da9d4dfed3c2a9166ef99c20836cd2e803ac6bb10615ef8c39106c122e8f41166a78e8b87644c1eeeeeeeea9071241d55f551c26818af8b860e107446e294b854c4bd1976068bb0787b914234b8a2395b73555be0f153652813a37763b430d872ed5890284e0a382a085e80fdd7215b04cbf0d2df1d91ff23f7852e39c441faeb9ad1e27dc6602bdfb104fd06142a8f454393438d7256b26da42144eb435b037312df10d8eb660be253976a0da5ecf615c102a8cfc6c6e621f4c4a9ed26b62d0691f4f45e07ed54c94e6e33b9d34e8720d66265a1b9536c6eef1db8cb67737dd5231cacfb3dc8beca34a2f3388530ccbeb540e8909ea5b8dba9de5da360a2868982c400d6d85d24e1c47cc4b2d50a285b31f3d49c8935eca1e7b390e1fdcde80a9cff3cde3d0958f60108e4fb3035e0cc1f880e989769c172ffe170a2cb2187ef9101a680b0d90ec8972fa4693d88123a68cb22ba1f4037f1070d97581038a4f90cfc73784ae5c43c20831f8603abb452258a40edcd7395ed2710fa7dfbf98ed379f60d263bc29c2bff6a73ad4d9817c3d43829cb75e8b9a2a4064d21e6dd896995c7cb10f22f1b268bfaf429d44de29bcf23ec922e812dda15b533eead39fedd7e58b5195ccd18480510b05758cd0497952031b601283c4cda6ae57bd13cc9203e033276a788452a8b53c4e6fdb9163923b7e8e401ceb275c901c11bf879f0fc44b739046ceba66a0f30264b28278b4a0455d8b6b4dab1ae08cb78f4e3b5822f42b15ee91e29fd13f171adb429c31ef4c3b08db1c3e778bc0cc0c5af7db145b3073394eaefa0d7ececbafa94a9c97594b68458af706bcbf4d5dfadba4cf7d84b67a62fdcaa33d5359a2ac3aacc9fac31c918579a2c0a75b9f65f3ae65b51f95f2642cb09746e536e513ed2add380cce89c7243538e101c6c4a88739a1780dbc6dfb7544f12c3defbd14d7bcb3cc3761b2161433bbab828c112331a7e62a21ea000868451b5c280fc5664d3469544609d68d9068a28f106094d4fd902222ef2d021711d1f74082ab141a4ec348637e1d294d7620d325a91bd3d4394c1c015a1d4f30ce41d8355900e19758ba9627fc8687fb607116c11176f6c82b7a7381596d01ae6b7264cd14b5fa5f8a548b8f8a061a78ab6e9a78f727a6b86463153aaed76cd8cc710aa9d511212ac2f628c0263d775b7766e184890b7ab2ad5ae8e5f718cafc34a2035fbb6e1c2127a271e005071603957cad4b70ecaebe3436b841f9ed3de1a2aca1cfecb96549c3dcff89954a4fb41d106a8eed622d1cf65981476e58c3af53b846cd6d8cdc5670b7ad09903b5aecd78ee4b9687d61a87ce6df73cb578b756721bf67ae112ccba11d5e7d8ad62b65382409c27c9c841dbb14ca8239607c52a8999ef8dd0d4c295b20f5c2afbc065c020b4024742dac576516f5a6585517d057260a3ff387afb2628f8a9783c6f29613822570b1a46b0fb3d2657de7e96024f6ce73df8270fec3c5c016be2cc69fca9c8526fa35580ef74af98011e800c5ca52a7e76e15c0fda39897eb6e33898b9ee3985436d12b3e77229966b0d2dd1aa83a01bc966674a395b32cb87b6931ce330eabadad9dc5c7edc11ac01512b40a8d096790e362747dc0be8259860e45f6d46d52e6db28224407d2f2e610d59d5a8811dd1642ece0c5ab1a9169a9af2368c05f5d930ac57b257870f7573f0298b5358c2c4623708fc0238c9f2e01eac91c39c33adc504386595da6eb4e1e833109b01a9a678a016479f9583d562915d78765c61b405996d16af547d01fbd13a0d97c0ffa6c74cb6dcac752aed307fbea2230a8915ddaa6c83a27134cc8f96ec2ad97eb66bd343bf24c31a2156ebe36eb340d4a5207a7b780a0ed9e643d969f9891b0634e2d44d3b19b59f86f03e7e94d342ddeae821ec2d046e0b6d4e4077e0f097ecd7ed3d0a62d24eb3ad7219f072231265291d9178725d417b997e9d1c5a746f40d5bebb9dc1810524e18cfa633206863d2057b7ec542ddab94f154e19146ad765f3f3370cd76a22a8495351e2ec991f4c92983cd117ae48eaa1e3c1035b694f853d8e4fd4c28baea28e43ff6a7023f1c400959cebfb6cf599e6343ceb51f21327e880c9b1c085c4abLine truncated
gr, _ = gzip.NewReader(bytes.NewBuffer(bs))
bs, _ = ioutil.ReadAll(gr)
Assets["app.js"] = bs
@@ -63,7 +63,7 @@ func init() {
bs, _ = ioutil.ReadAll(gr)
Assets["favicon.png"] = bs
bs, _ = hex.DecodeString("1f8b080000096e8800ffec5deb73dbb696ff9ebf02e1ddcd63d6a49ca4b77bc7913593dae9ada7cd63e264bb9d4e3f402424a226090600ed681ddfbf7dcf01f87e48b42c27be6d3fb41609e000382ffcce01c04cef1fbf397affcbdb9724d47134bb37c53f24a2c9f2d061894392a54bd3f4d051abc4d7214f96e6952f122d45143179e89c1625475a460ef123aad4a183952241cf1c24c96830bb47c834669a123fa452317de8647ae1fec3a90a42ad53977dccf8f9a1f3bfee8717ee918853aaf93c6240167a6409b43a7979c88225abb54b68cc0e9d73ce2e522175adea050f747818b073ee33d73cec119e70cd69e42a9f46ecf089b7df211430e54b9e6a2e921aad4e359ae950c84e8d88276744b2083806c5dacf34e13e520a255b1c3a0b7a8e8f5e0a8c9cddc3069aeb88cd4a2692cfe4f2127ea9d72260afa1a7478fafaea6135babecc0129b0ba19596349df84a4dca272fe689076f9c7c1c7a15311532a6ed08cd33d1ab1426a1d9278d8d4d09217311acc8a5f949484a830006e4ce85d6223e20ffbd9f7e7a9e972d60d2ee82c63c5a1d10e707169d33cd7d4a5eb38c397ba47cb1475e48e0f61e513451ae62922f2c89ab7be64f16fd57f8f7b2c798ca254f5c2dd203f2c4fb3b8b1b753d1cac1b8b44a894faac6cd518cb2b9644628fbc1209f5e1ef9148940085dc23ce91c8246712867801232cc9b4baa0a06ca8dd014b140b66daa8ae9633549d6e29f26bb8740102192e2d29076b29f796969483920b732103262def1291b4e61589a568b1f980ec3f6f4abaf6c69071ff5e093c158aa3451ca04e814d9eb73be04abb8970e71938055d76655e1b857351e1ecd05a0d6162511627659b80ab34a2204b9e80ae33771e09ffac1807a8b6b564d0c7423f4ac5917c196a509daa604efdb3a5145912602f42c2f097f3474f9f7dbb479e7eb38fff7bf2f879938392063c5307e4596df2057f9ea49fc837d5fb82914fe1f5d3e2f5557b5ea066891750701c2d3d8fd80246bb5f297a637a4ff6abd746f369c497c87f9ce4f3cdbc2a185c38e22e7f5116e43e8fd16bd244f75802d161d9ec22e49ab9c6660e1271017ea6e10c2e9865fe37fbfbbd84828e5fb1d37f0a5ea56710e0a726466f60f998d8f5e3ded41885719af75d97bc1729c85712d7b5ef127a5e2e3ef41c4bec1fb489e267c016348b608d80c58b997a7c498da7b70e701af092083a760a4c957919ba4e1065b30f772e691238b3298f9745091a9b4394f4d1f7baf8e43e79fa0fe3f2895d929c674f6141301cb3bf273352ae005315d3282a88853c00ab773f818b6ef66fbd61a619f4fe19980545b3dea5c3909be5358a9964516d1e05776a3f8d96951337cb4ed12090220dc445522b85729aaf497f73daf580ffcb252ee16803f9439dcacb80eb07c95ca5cfa7f392f754e272359dcce13fdae8a81a79d941cc92ac311a33de5939260b5922ee9fc1b21d04ef582a1e3d06ea75762ea3551ae2d24cca5f6e18a0642de31eb01846f822080836076728e40a87369d404fa3bb46c98cea1aa67fc12c0b5add2389c18e4bd6f0731ea0e65e63780ce470cab4061554a3c6e88b656b7c45f36b32868fe7cb47e943d576b7a1b82027c7b7c21515661a956cd4e8c462d1199a6d7e4d8e48a634957aa4aa2ca07ad8eaf89da5d0d7ef74924535cbae955625d30930cbc0c5097804eb60077ca3ad8f1ef97b2e9506d77ab1474412ad0820e08b84f0054998cf94a272f59ce4e322175426087773ef9d93070e7060c57da0bfe0cb93049d62e9508070e58a1b8389dc38001f5bf757b572600a8b88f9bf9b77dbf45dedba2e2e38a6d6347cd62c3138dc9915b378cd58c00258a19ecd4a8e0d93c5f5abeda7d2d9fb90113bdf4c9ab5888454913963001de8390bc81c62884468427dc05d141cbe572d1624ce90e5f970b4282bc1d2cd80ef174dd2de7492365561e3a0116bd6d6c0bc1a8c49c3486d14611f4a39cd7542e03f57c5e64fbee69214a061beaedc8ea6db61b4065ad7938851b9e09f9c1e59355f341e6b0ff9cf8ec6b3651601de00056de97343730b7ad8b05a440c46268f10a420227a5c51e8d5f26fd729b98b583775080f90b1790f9ca9f5ea9e9bc6e5253639c28247f8cb3b3906fc6064058f8c6a4b13a026c1bf3fc1b0516a83ec6e9952a31ed41cb0ac5635832c1ac001f810d15415782205a480d1f7df1af32dc008becc2706d381d974e9b760dd261c40726ac75c32dfc8ef333191fe5baac3abab4de42b2320356467699e6aaab33aef9b98adaeadb4c34e74414d51b4753c974ea11b0db6344551b09894bcee7437c6b7b52bda30162c3885a81c22c87e61d878a1de84b4e2dffc5969c95344bf3d54908e8d16facab0540e156161b8d91769da063f3593462c0244d6f41034607c8eb66b1281f6c1e0e027c3a3bff9c41622c23058a42c694df07b537293999546f33527e88b18028636b4c615359422e1ff6716ca1bccb2c78cbfd654979198b7c1f23fe11d8d1a51cc56538d018747bfe6b3fccd5b1ab2dff38829f08834baa02bf53a8be74c5e5d9105bede23038dbe5b69d368ce138aaaf1ddd7635828e236bf7e12fe2db02b42aad7e49669738798e547220b5c8c6e2241db91f21b00ad626180ea6e389600d4be26c3b0c91de217e6e65a5c7a451580eb9b6ad760fd027ce4619561cc3b00646f203a7366bf303584300608dc6f51782d3611f87adccec09f33ff8cb515f3649908c9c85b2663ae14b87a75fb3cb77d62976a7bb63788dc65ceab1030b94ba3ce128bef03f233d7e1962ec15056267f872cd97a6d859221740845882efb4077074f9bd7fde8dec1bc4e7f3c9c4a1e832b72065270d5ec4644c400d27c1eb5f88c09559bf7e9d390beb8608b70b81ecc62f6ae16c61a06ec2c8e4d80f8b800b64ceed722566c7db45862d0fa6b911a7ff4f8b7bb13b6dae915f12a3e4160968fdac3d1dab0f57ac8855812660f20a7656ce58661e3d0e836448fc0fcbf02c86e00d9c963bd78453e681edd2c02512b4014b1077fee06e8d1549da9d64c8fde7ed8dd4cfd348335d1076b6a0143784c201293343a787275f59f7714271fe7afc93baad9969c804e1288ab11cbfcfa500b4da387bf793c99a7a803310335f7afaef0e9d140dd93c4c0e4f7f858579bc75f9b6959dac3b20fe9ad304c647a3cc720bcd93dcb0abc976b360cf945920800b2eccd8fe4fe21c9c07f2d7832e8b24633174f698442b6133c456fe494c9f32d333d1b316db1178707224c4395f9b83be4ac9bbd337b630e388c05ce9d4e029a2c992cfbb83fd0c96231a697afe94ddb59c7ff61526def43cf6deb3f228e3648af003f5f1d4a8fda7f31a335fb2f15681b42b342874ce21cd55dda84198966b7d984699f88e8a1d18b7ab7dd91410a792ab70ea16f6947664b68fd17aeee66d978d2ceb2bd080298dc76791e2b13a4d050833fe2e6c580c6ff296073d3f046a1Line truncated
bs, _ = hex.DecodeString("1f8b080000096e8800ffec5d7973dbb892ff3f9f02e19bcd516b4ace31d9b78eacaa8c9dbc71cde4a838d9d9d9a9d92d8884448c498201403b7a8edf67df6e80f721d1b2ec788e3f129304d06874371abfc6a5c9ddc3b7071f7e7ef792043a0aa77726f88784345eec3b2c7648bc706992ec3b6a197b3ae0f1c27cf244aca5084326f79de33ce540cbd0215e4895da77305328e889832419f5a7770899444c53e205542aa6f79d54cfddbf3b6542a075e2b24f293fdd77fedbfdf8c23d105142359f850cc8428d2c8652472ff799bf609572318dd8be73cad95922a4ae643de3be0ef67d76ca3de69a971dc263ae390d5de5d190ed3f1aedb608f94c7992279a8bb842ab958da63a10b29523e4f109912c048941b2f6524db8879402c9e6fbce9c9ee2eb2801414eef6001cd75c8a68510c917727e0e4fea8df0d91ba8e9c1c38b8bc9d8e62a2ab0c4664268a5254dc69e52e3e26d14f178045f9c8c0fbd0c990a18d39643f34ef432814668f65963619342c84cf84b726e1e0949a8ef0343ee4c682da23df21fbbc9e7e759da1c1aedce69c4c3e51e71be67e129d3dca3e40d4b99b3438a0f3be4850469ef104563e52a26f9dc92b8b863fea4e1bf07df163546542e78ec6a91ec9147a36f5954cb3b4266dd48c44225d46345a91a2faf591c8a1df25ac4d483bf072256020c7287380722959c4960f10c382cc834aaa0606c68dd3e8b15f3a7da98ae9653349d762acaab3f750e0ae94f2d28fb2b2977a61694fd420a33217d26adec621137da158a856888798fec3eaf6bbaf2c59071bf2d159e08c5b147eca14d419f3c6d56c0957663e1ce52700abaa8ca7c3606e7a2c159d61a05a161611ac545199fab24a4a04b1e83ad3377160aef24e7034cdbf664b0c7dc3e0ac3917c1168309d326146bd93851469ec632d4202fb8bd983c74f9eed90c74f77f1bf470f9fd72528a9cf53b5479e541a9fcbe751f2993c2dbfe7827c0c9f1fe79f2f9aed02338b473e05c7d1b0f390cd81dbddd2d06bcd7bb45b7e36964f43be40f963239faf97552ee0dc11b7e58bba207779845e93c6baa327101d14c5ce02ae996bfacc5e2ccec0cfd49cc119b3c27fbabbdb49c86ff915dbfcc7e0553a98003f35367603c3c7d88e1f7726a65318a779d775c90791807e25715dfb2da6a7c5e0434f31c5fec13e913ffa6c4ed310c60818bc98c9c717d4787aeb00273e2f88a063a7205499a5a1eb0455d6eb706792c6be339df06891a760677388921efa5e17dfdc478fff6e5c3eb14392f3e4310c084662f6793c25c5083051110dc39c58c07de8f5ee6770d1f5faad374c3583dabf80b02069da39741872d32c47de9234acb423974ee5d15859d17033ece4057c29125f9cc5955448a7d998f437a7990fe4bf58e0108e7d207ba95279e9737d2f9ea9e4f96456c89e4a1cae26e319fca3b58a4ace8b0a2216a7356e0cbfd382270b5942ee9dc0b0edfbef59221e3c04ea55712ec26512e0d04c8a2737f051b35670f758041cbef07d82c5c1190ab944d62663a86970d5a899415543f3cf981541a37a24d15b71211a7eca7db4dc4bb0c7400fc74c6b30413588474f2c1afce5c52f29183e5c2e9fa407599bd506e28c1c1d5e8b5454906a34b241dc89f9bcc59a2d7e498948a634957aa0a9cc217bd0a8f8bda5d055ef649c86959e5d492d5326631096818b63f008d6c1f6f8469b1f3df22b2e9506d77ab643441c2e0920e0b398f0398999c794a272f99c647c91332a6384bb99f7cec883043888e22ed09ff3c5518c4eb1702840b874c535664237f2c1c756fd55251d84c24262fe77b36aebbeab99d7c501c7e49a044fea2906873bd3bc156f18f3990f23d4936921b17eb2387e35fd5432fd103062db9b4a331691802a32630ca0033d653e99410c110b4da807b88b82c31f95830589521479c68e16452618ba19c8fdac4e7a341927755358cb3462cdca189865039e34706aa308fb52e869a66302ff5c15993fd9984b128086d9b8723d966ed968305ab593905139e79f9d0e5dd53fd45e2b2fd963cbe2d9220d016f808136ecb966b9393d2c580e2206239307085210113d2c29745af9b35546ee22d64d1cc27d146c5603676ab5b9675de3fc1c8b1c60c2037c1a1d1d027e30ba825746b5a5095093e0df1f816dd45aafb81b5da9960f72f6f4ac4636832c6ac001e410d244e5782201a480d1f7df6aedcdc1087ecc1a06cd81d81a6d208656b5eb69c0bb75788064540fb9649ed1e3176222fe7754071717ebc8979d8154109ea579aca94eab3aa863b7aad5d29658d115d555d2b4f54c4bb98d748aa7ae9a5ce4a4907dabda21beae99d186b5d0a31388d221a2ec568a8d1faa4548231ecede95963c4134dc4105e9d8e8a12b0d53655f122606eb7d93a64d3054e9e2884d80c88a1afc1aaccfd077a1193303e4f7323feee7feea0d9b8b10c36291b0b8d1c05726e52a2d2b3acf951a98a386089061f84b26b25f473c3e8590b9cf1e06b73f430cae82e8bb218097528a4ddbdfcdecd754b4272208a49a2107228d408a98ffd300882b68bbc3ad7dada62e42316b0611ff806f34ac4577db50ecc2907dc543a6c0bfd2f08c2ed59b349a31797141e6f87987f414fa6ea94da1198f297691efbe9ec0021135e5f5a3f0ae415c2152bda4b44c995b242c2f14a9ef62d4170ada9c41780b605ecc0d80df8ec46208412e29302c728be48573960d29bda60a828eab5a576ffe1c8c65038711cc7b00aa6f216a75a63f33d587b87a08dc6d507823d611f87ad24ec19f33ef84350df368110bc9c83b2623ae14b87a75fd32b77562956a73b1d788dc66c9ab0062159786ad2116bffbe427ae830d5d82a1acccbc268a64e3b11552fa50322421caee0a425af185f9dc1ded3838dfd53d4f90481e812b727aa626cbd60d982900b0eaf1b009d7808a9d0febb290ae38698369826a908fb39a95f0de08606bf17d0cc48705f6c5a2472592c7d207f30506f3bfe44b060f1efe7a7bc279dbbc3c8ec737085433ae47c86d3d9cbf1c822196945923c9689a3e73c5707a1d976ba26a50c65f81753bb06ecdf7bd784d3e6a1e5e2d22514b4018d108fedc0e10a4a93a518d961ebcfbb8bd967a490a63a407bdab0114e13586c84cd270efd1c5c5bfdd52dc7c987d26efa9661b4a022a899987a254bfdcd742d3f03e46deb3046d206260e6dec505be3de8c97b141bd8fc015fab66f3f06b0b2d4d3a44f631b9168189540f9718843bdb17598eff32cb06965fc4b10060cbdefe40eeee9314fcd79cc7bd2e6bb07071374b206473de27af8d1c3379bae10cd85a8c9baf59e2c6115350a51eaea239ab5aef4cdf9a8d20438174ab129fc60b268b3aeef654329f0fa9e56b7ad3e66cec7f31a936f7a1a7b6f41f11571be49783a0af0ead07ad53196ecd3a5509defad0add00193d846759b16ab06a0db4d17a99a3b473a6874a2df4d57ac904236b55b85d2d7b462d527aabf16acLine truncated
gr, _ = gzip.NewReader(bytes.NewBuffer(bs))
bs, _ = ioutil.ReadAll(gr)
Assets["index.html"] = bs
+4
View File
@@ -144,6 +144,10 @@
<th><span class="glyphicon glyphicon-folder-open"></span>&emsp;Folder</th>
<td class="text-right">{{repo.Directory}}</td>
</tr>
<tr ng-if="model[repo.ID].invalid">
<th><span class="glyphicon glyphicon-warning-sign"></span>&emsp;Error</th>
<td class="text-right">{{model[repo.ID].invalid}}</td>
</tr>
<tr>
<th><span class="glyphicon glyphicon-comment"></span>&emsp;Synchronization</th>
<td class="text-right">{{repoStatus(repo.ID)}}</td>
+4 -1
View File
@@ -628,7 +628,10 @@ func (m *Model) ScanRepos() {
for _, repo := range repos {
repo := repo
go func() {
m.ScanRepo(repo)
err := m.ScanRepo(repo)
if err != nil {
invalidateRepo(m.cfg, repo, err)
}
wg.Done()
}()
}
+3 -1
View File
@@ -284,10 +284,12 @@ func (w *Walker) ignoreFile(patterns map[string][]string, file string) bool {
}
func checkDir(dir string) error {
if info, err := os.Stat(dir); err != nil {
if info, err := os.Lstat(dir); err != nil {
return err
} else if !info.IsDir() {
return errors.New(dir + ": not a directory")
} else if debug {
l.Debugln("checkDir", dir, info)
}
return nil
}