Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ab977cf3d8 | ||
|
|
b60a7a82f7 | ||
|
|
25bfe8cd0a | ||
|
|
31edd1e613 | ||
|
|
f08b4956fd | ||
|
|
e6052e1f40 | ||
|
|
52f39a5f9e | ||
|
|
9afa6277bb | ||
|
|
15f59d4741 |
@@ -1 +1 @@
|
|||||||
3.13.1
|
3.14.5
|
||||||
|
|||||||
7
Pipfile
7
Pipfile
@@ -5,10 +5,13 @@ name = "pypi"
|
|||||||
|
|
||||||
[packages]
|
[packages]
|
||||||
py-gitea = "*"
|
py-gitea = "*"
|
||||||
# py-gitea = {git = "https://github.com/mikeperalta1/py-gitea.git"}
|
|
||||||
|
# This forces an earlier version of urllib3 that doesn't have newer strict restrictions on CA certs,
|
||||||
|
# which I believe was blocking my self-signed chains
|
||||||
|
urllib3 = "<2.4"
|
||||||
|
|
||||||
[dev-packages]
|
[dev-packages]
|
||||||
|
|
||||||
[requires]
|
[requires]
|
||||||
python_version = "3.13"
|
python_version = "3.14"
|
||||||
|
|
||||||
|
|||||||
267
Pipfile.lock
generated
267
Pipfile.lock
generated
@@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"_meta": {
|
"_meta": {
|
||||||
"hash": {
|
"hash": {
|
||||||
"sha256": "f3059ba43523b781285862b07abfb6967aa46c609acb56be7d8ec252c75eb6d5"
|
"sha256": "01d2c2fe8bf6b5aa4dd2fa2f26fe6a1e3ee053ceffd38e99253422153ffc5300"
|
||||||
},
|
},
|
||||||
"pipfile-spec": 6,
|
"pipfile-spec": 6,
|
||||||
"requires": {
|
"requires": {
|
||||||
"python_version": "3.13"
|
"python_version": "3.14"
|
||||||
},
|
},
|
||||||
"sources": [
|
"sources": [
|
||||||
{
|
{
|
||||||
@@ -18,147 +18,186 @@
|
|||||||
"default": {
|
"default": {
|
||||||
"certifi": {
|
"certifi": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56",
|
"sha256:3c52e209ba0a4ad7aebe60436a4ab349c39e1e602e8c134221e546902ad25897",
|
||||||
"sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"
|
"sha256:69dea482ab64caa7b9f6aba1c6bf48bb6a5448d1c0f1b17ab42ad8c763a5344d"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.6'",
|
"markers": "python_version >= '3.7'",
|
||||||
"version": "==2024.12.14"
|
"version": "==2026.5.20"
|
||||||
},
|
},
|
||||||
"charset-normalizer": {
|
"charset-normalizer": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537",
|
"sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc",
|
||||||
"sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa",
|
"sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c",
|
||||||
"sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a",
|
"sha256:07d9e39b01743c3717745f4c530a6349eadbfa043c7577eef86c502c15df2c67",
|
||||||
"sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294",
|
"sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4",
|
||||||
"sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b",
|
"sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0",
|
||||||
"sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd",
|
"sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c",
|
||||||
"sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601",
|
"sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5",
|
||||||
"sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd",
|
"sha256:12a6fff75f6bc66711b73a2f0addfc4c8c15a20e805146a02d147a318962c444",
|
||||||
"sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4",
|
"sha256:12d8baf840cc7889b37c7c770f478adea7adce3dcb3944d02ec87508e2dcf153",
|
||||||
"sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d",
|
"sha256:14265bfe1f09498b9d8ec91e9ec9fa52775edf90fcbde092b25f4a33d444fea9",
|
||||||
"sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2",
|
"sha256:16d971e29578a5e97d7117866d15889a4a07befe0e87e703ed63cd90cb348c01",
|
||||||
"sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313",
|
"sha256:177a0ba5f0211d488e295aaf82707237e331c24788d8d76c96c5a41594723217",
|
||||||
"sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd",
|
"sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b",
|
||||||
"sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa",
|
"sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c",
|
||||||
"sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8",
|
"sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a",
|
||||||
"sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1",
|
"sha256:1dc8b0ea451d6e69735094606991f32867807881400f808a106ee1d963c46a83",
|
||||||
"sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2",
|
"sha256:1efde3cae86c8c273f1eb3b287be7d8499420cf2fe7585c41d370d3e790054a5",
|
||||||
"sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496",
|
"sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7",
|
||||||
"sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d",
|
"sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb",
|
||||||
"sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b",
|
"sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c",
|
||||||
"sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e",
|
"sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1",
|
||||||
"sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a",
|
"sha256:2cd4a60d0e2fb04537162c62bbbb4182f53541fe0ede35cdf270a1c1e723cc42",
|
||||||
"sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4",
|
"sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab",
|
||||||
"sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca",
|
"sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df",
|
||||||
"sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78",
|
"sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e",
|
||||||
"sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408",
|
"sha256:320ade88cfb846b8cd6b4ddf5ee9e80ee0c1f52401f2456b84ae1ae6a1a5f207",
|
||||||
"sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5",
|
"sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18",
|
||||||
"sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3",
|
"sha256:36836d6ff945a00b88ba1e4572d721e60b5b8c98c155d465f56ad19d68f23734",
|
||||||
"sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f",
|
"sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38",
|
||||||
"sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a",
|
"sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110",
|
||||||
"sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765",
|
"sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18",
|
||||||
"sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6",
|
"sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44",
|
||||||
"sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146",
|
"sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d",
|
||||||
"sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6",
|
"sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48",
|
||||||
"sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9",
|
"sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e",
|
||||||
"sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd",
|
"sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5",
|
||||||
"sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c",
|
"sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d",
|
||||||
"sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f",
|
"sha256:4e5163c14bffd570ef2affbfdd77bba66383890797df43dc8b4cc7d6f500bf53",
|
||||||
"sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545",
|
"sha256:511ef87c8aec0783e08ac18565a16d435372bc1ac25a91e6ac7f5ef2b0bff790",
|
||||||
"sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176",
|
"sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c",
|
||||||
"sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770",
|
"sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b",
|
||||||
"sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824",
|
"sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116",
|
||||||
"sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f",
|
"sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d",
|
||||||
"sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf",
|
"sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10",
|
||||||
"sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487",
|
"sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6",
|
||||||
"sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d",
|
"sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2",
|
||||||
"sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd",
|
"sha256:6370e8686f662e6a3941ee48ed4742317cafbe5707e36406e9df792cdb535776",
|
||||||
"sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b",
|
"sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a",
|
||||||
"sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534",
|
"sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265",
|
||||||
"sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f",
|
"sha256:66671f93accb62ed07da56613636f3641f1a12c13046ce91ffc923721f23c008",
|
||||||
"sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b",
|
"sha256:6696b7688f54f5af4462118f0bfa7c1621eeb87154f77fa04b9295ce7a8f2943",
|
||||||
"sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9",
|
"sha256:6785f414ae0f3c733c437e0f3929197934f526d19dfaa75e18fdb4f94c6fb374",
|
||||||
"sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd",
|
"sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246",
|
||||||
"sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125",
|
"sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e",
|
||||||
"sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9",
|
"sha256:6e0d51f618228538a3e8f46bd246f87a6cd030565e015803691603f55e12afb5",
|
||||||
"sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de",
|
"sha256:6ed74185b2db44f41ef35fd1617c5888e59792da9bbc9190d6c7300617182616",
|
||||||
"sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11",
|
"sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15",
|
||||||
"sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d",
|
"sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41",
|
||||||
"sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35",
|
"sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960",
|
||||||
"sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f",
|
"sha256:750e02e074872a3fad7f233b47734166440af3cdea0add3e95163110816d6752",
|
||||||
"sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda",
|
"sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e",
|
||||||
"sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7",
|
"sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72",
|
||||||
"sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a",
|
"sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7",
|
||||||
"sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971",
|
"sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8",
|
||||||
"sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8",
|
"sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b",
|
||||||
"sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41",
|
"sha256:813c0e0132266c08eb87469a642cb30aaff57c5f426255419572aaeceeaa7bf4",
|
||||||
"sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d",
|
"sha256:82b271f5137d07749f7bf32f70b17ab6eaabedd297e75dce75081a24f76eb545",
|
||||||
"sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f",
|
"sha256:84c018e49c3bf790f9c2771c45e9313a08c2c2a6342b162cd650258b57817706",
|
||||||
"sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757",
|
"sha256:8751d2787c9131302398b11e6c8068053dcb55d5a8964e114b6e196cf16cb366",
|
||||||
"sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a",
|
"sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb",
|
||||||
"sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886",
|
"sha256:87fad7d9ba98c86bcb41b2dc8dbb326619be2562af1f8ff50776a39e55721c5a",
|
||||||
"sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77",
|
"sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e",
|
||||||
"sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76",
|
"sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00",
|
||||||
"sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247",
|
"sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f",
|
||||||
"sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85",
|
"sha256:94e1885b270625a9a828c9793b4d52a64445299baa1fea5a173bf1d3dd9a1a5a",
|
||||||
"sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb",
|
"sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1",
|
||||||
"sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7",
|
"sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66",
|
||||||
"sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e",
|
"sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356",
|
||||||
"sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6",
|
"sha256:a6c5863edfbe888d9eff9c8b8087354e27618d9da76425c119293f11712a6319",
|
||||||
"sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037",
|
"sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4",
|
||||||
"sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1",
|
"sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad",
|
||||||
"sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e",
|
"sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d",
|
||||||
"sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807",
|
"sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5",
|
||||||
"sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407",
|
"sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7",
|
||||||
"sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c",
|
"sha256:aef65cd602a6d0e0ff6f9930fcb1c8fec60dd2cfcb6facaf4bdb0e5873042db0",
|
||||||
"sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12",
|
"sha256:af21eb4409a119e365397b2adbaca4c9ccab56543a65d5dbd9f920d6ac29f686",
|
||||||
"sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3",
|
"sha256:b14b2d9dac08e28bb8046a1a0434b1750eb221c8f5b87a68f4fa11a6f97b5e34",
|
||||||
"sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089",
|
"sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49",
|
||||||
"sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd",
|
"sha256:bb8cc7534f51d9a017b93e3e85b260924f909601c3df002bcdb58ddb4dc41a5c",
|
||||||
"sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e",
|
"sha256:bc17a677b21b3502a21f66a8cc64f5bfad4df8a0b8434d661666f8ce90ac3af1",
|
||||||
"sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00",
|
"sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e",
|
||||||
"sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"
|
"sha256:bd9b23791fe793e4968dba0c447e12f78e425c59fc0e3b97f6450f4781f3ee60",
|
||||||
|
"sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0",
|
||||||
|
"sha256:c0f081d69a6e58272819b70288d3221a6ee64b98df852631c80f293514d3b274",
|
||||||
|
"sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d",
|
||||||
|
"sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0",
|
||||||
|
"sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae",
|
||||||
|
"sha256:c593052c465475e64bbfe5dbd81680f64a67fdc752c56d7a0ae205dc8aeefe0f",
|
||||||
|
"sha256:cdd68a1fb318e290a2077696b7eb7a21a49163c455979c639bf5a5dcdc46617d",
|
||||||
|
"sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe",
|
||||||
|
"sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3",
|
||||||
|
"sha256:cf29836da5119f3c8a8a70667b0ef5fdca3bb12f80fd06487cfa575b3909b393",
|
||||||
|
"sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1",
|
||||||
|
"sha256:d560742f3c0d62afaccf9f41fe485ed69bd7661a241f86a3ef0f0fb8b1a397af",
|
||||||
|
"sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44",
|
||||||
|
"sha256:d61f00a0869d77422d9b2aba989e2d24afa6ffd552af442e0e58de4f35ea6d00",
|
||||||
|
"sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c",
|
||||||
|
"sha256:dca4bbc466a95ba9c0234ef56d7dd9509f63da22274589ebd4ed7f1f4d4c54e3",
|
||||||
|
"sha256:dd915403e231e6b1809fe9b6d9fc55cf8fb5e02765ac625d9cd623342a7905d7",
|
||||||
|
"sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd",
|
||||||
|
"sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e",
|
||||||
|
"sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b",
|
||||||
|
"sha256:e17b8d5d6a8c47c85e68ca8379def1303fd360c3e22093a807cd34a71cd082b8",
|
||||||
|
"sha256:e5f4d355f0a2b1a31bc3edec6795b46324349c9cb25eed068049e4f472fb4259",
|
||||||
|
"sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859",
|
||||||
|
"sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46",
|
||||||
|
"sha256:e80c8378d8f3d83cd3164da1ad2df9e37a666cdde7b1cb2298ed0b558064be30",
|
||||||
|
"sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b",
|
||||||
|
"sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46",
|
||||||
|
"sha256:ed065083d0898c9d5b4bbec7b026fd755ff7454e6e8b73a67f8c744b13986e24",
|
||||||
|
"sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a",
|
||||||
|
"sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24",
|
||||||
|
"sha256:f22dec1690b584cea26fade98b2435c132c1b5f68e39f5a0b7627cd7ae31f1dc",
|
||||||
|
"sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215",
|
||||||
|
"sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063",
|
||||||
|
"sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832",
|
||||||
|
"sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6",
|
||||||
|
"sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79",
|
||||||
|
"sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version >= '3.7'",
|
||||||
"version": "==3.4.1"
|
"version": "==3.4.7"
|
||||||
},
|
},
|
||||||
"idna": {
|
"idna": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9",
|
"sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2",
|
||||||
"sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"
|
"sha256:ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.6'",
|
"markers": "python_version >= '3.9'",
|
||||||
"version": "==3.10"
|
"version": "==3.18"
|
||||||
},
|
},
|
||||||
"immutabledict": {
|
"immutabledict": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:c56a26ced38c236f79e74af3ccce53772827cef5c3bce7cab33ff2060f756373",
|
"sha256:c9facdc0ff30fdb8e35bd16532026cac472a549e182c94fa201b51b25e4bf7bf",
|
||||||
"sha256:d91017248981c72eb66c8ff9834e99c2f53562346f23e7f51e7a5ebcf66a3bcc"
|
"sha256:f844a669106cfdc73f47b1a9da003782fb17dc955a54c80972e0d93d1c63c514"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.8'",
|
"markers": "python_version >= '3.8' and python_version < '4.0'",
|
||||||
"version": "==4.2.1"
|
"version": "==4.3.1"
|
||||||
},
|
},
|
||||||
"py-gitea": {
|
"py-gitea": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:aa9433cb83a528a8560de7affc0d85a838de17a7b28b43be5f0066341af4fda8",
|
"sha256:87bd5a684d29e8af4cef8cde3bd7abcc3f7dfc7394c58f7f313468ea91656cd4",
|
||||||
"sha256:f7641ea0818529b59f3ca9c38b106a5c2ba06a0f662a022f76a62919f17e8379"
|
"sha256:f32a73aa951cb499b8cc2c0891a313794cd582c9dc2dc6aa80c237cbaacef361"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==0.2.8"
|
"markers": "python_version >= '3.11'",
|
||||||
|
"version": "==0.2.10"
|
||||||
},
|
},
|
||||||
"requests": {
|
"requests": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760",
|
"sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0",
|
||||||
"sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"
|
"sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.8'",
|
"markers": "python_version >= '3.10'",
|
||||||
"version": "==2.32.3"
|
"version": "==2.34.2"
|
||||||
},
|
},
|
||||||
"urllib3": {
|
"urllib3": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df",
|
"sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df",
|
||||||
"sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"
|
"sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"
|
||||||
],
|
],
|
||||||
|
"index": "pypi",
|
||||||
"markers": "python_version >= '3.9'",
|
"markers": "python_version >= '3.9'",
|
||||||
"version": "==2.3.0"
|
"version": "==2.3.0"
|
||||||
}
|
}
|
||||||
|
|||||||
21
README.md
21
README.md
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
# Mike's Gitea Repo Migrator
|
# Mike's Gitea Repo Migrator
|
||||||
|
|
||||||
Just a script to help make it a little easier to migrate an entire organization (with bulk selection) from one Gitea instance to another.
|
Just a script to help make it a little easier to migrate an entire organization (with bulk selection) from one Gitea instance to another.
|
||||||
@@ -10,7 +11,7 @@ Current license: You are free to clone and use this program but all other rights
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
* python 3.12
|
* python 3.14.2
|
||||||
* pipenv
|
* pipenv
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
@@ -43,9 +44,20 @@ $ python ./main.py --help
|
|||||||
|
|
||||||
You'll need to generate an *Application Token* for both the source and destination servers, and pass the token along to the command line.
|
You'll need to generate an *Application Token* for both the source and destination servers, and pass the token along to the command line.
|
||||||
|
|
||||||
### SSL Verification
|
### SSL/TLS Verification
|
||||||
|
|
||||||
Pass the long switch `--no-verify-ssl` if any server sits behind a self-signed or wonky SSL certificate.
|
You can disable SSL/TLS verification (risky) in the following ways:
|
||||||
|
|
||||||
|
* Pass the long switch `--no-verify-ssl` to completely disable SSL/TLS verification.
|
||||||
|
* Pass the switch `--no-verify-source-ssl` to disable certificate verification for the source server.
|
||||||
|
* Pass the switch `--no-verify-destination-ssl` to disable certificate verification for the destination server.
|
||||||
|
|
||||||
|
Also, I believe the newer version of urllib3 is either buggy or restricts self-signed CA/chains, as it wasn't working with mine. I had to put something in Pipfile to limit the urllib3 version to less than version 2.4:
|
||||||
|
```
|
||||||
|
urllib3 = "<2.4"
|
||||||
|
```
|
||||||
|
|
||||||
|
One test I forgot to disable was that I also added my intemediary Web CA certificate into the system certs directory, so I was unable to narrow down whether that contributed to success, or if it was only the older version of urllib3. When I run this program next, I might want to remove the intermediate cert from /usr/local/share/ca-certificates and rebuild to see if it still works.
|
||||||
|
|
||||||
### Destination Repo Names
|
### Destination Repo Names
|
||||||
|
|
||||||
@@ -55,3 +67,6 @@ You can tweak the destination repo names a bit by using a string that includes `
|
|||||||
|
|
||||||
Topics will be duplicated from all source repos to their corresponding destination repos. You can specify additional topics with the `--destination-topic` switch. For example, to add the topic `migrated` to every repo, pass the switch `--destination-topic migrated`.
|
Topics will be duplicated from all source repos to their corresponding destination repos. You can specify additional topics with the `--destination-topic` switch. For example, to add the topic `migrated` to every repo, pass the switch `--destination-topic migrated`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,13 @@ class API:
|
|||||||
|
|
||||||
return base
|
return base
|
||||||
|
|
||||||
def get(self, hostname, port, token) -> gitea.Gitea:
|
def get(
|
||||||
|
self,
|
||||||
|
hostname: str,
|
||||||
|
port: int,
|
||||||
|
token: str,
|
||||||
|
verify_ssl: bool = None
|
||||||
|
) -> gitea.Gitea:
|
||||||
|
|
||||||
url = API._make_api_base_url(
|
url = API._make_api_base_url(
|
||||||
hostname=hostname,
|
hostname=hostname,
|
||||||
@@ -29,8 +35,15 @@ class API:
|
|||||||
)
|
)
|
||||||
|
|
||||||
ssl_verify_arg = True
|
ssl_verify_arg = True
|
||||||
if self.__verify_ssl is not None:
|
if verify_ssl is not None:
|
||||||
|
ssl_verify_arg = verify_ssl
|
||||||
|
else:
|
||||||
ssl_verify_arg = self.__verify_ssl
|
ssl_verify_arg = self.__verify_ssl
|
||||||
|
|
||||||
|
# print(f"API::get -> hostname {hostname}")
|
||||||
|
# print(f"API::get -> verify_ssl was {verify_ssl}")
|
||||||
|
# print(f"API::get -> ssl_verify_arg became {ssl_verify_arg}")
|
||||||
|
|
||||||
if self.__ca_bundle is not None:
|
if self.__ca_bundle is not None:
|
||||||
ssl_verify_arg = self.__ca_bundle
|
ssl_verify_arg = self.__ca_bundle
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,12 @@
|
|||||||
from domain.API import API
|
from domain.API import API
|
||||||
|
|
||||||
|
|
||||||
|
import certifi
|
||||||
import gitea
|
import gitea
|
||||||
import logging
|
import logging
|
||||||
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import certifi
|
|
||||||
|
|
||||||
|
|
||||||
class Migrator:
|
class Migrator:
|
||||||
@@ -18,7 +19,8 @@ class Migrator:
|
|||||||
self,
|
self,
|
||||||
source_host, source_port, source_token,
|
source_host, source_port, source_token,
|
||||||
destination_host, destination_port, destination_token,
|
destination_host, destination_port, destination_token,
|
||||||
verify_ssl: bool = True, ca_bundle: str = None
|
verify_ssl: bool = True, verify_source_ssl: bool = True, verify_destination_ssl: bool = True,
|
||||||
|
ca_bundle: str = None
|
||||||
):
|
):
|
||||||
|
|
||||||
# noinspection PyTypeChecker
|
# noinspection PyTypeChecker
|
||||||
@@ -34,6 +36,9 @@ class Migrator:
|
|||||||
self.__destination_token = destination_token
|
self.__destination_token = destination_token
|
||||||
|
|
||||||
self.__verify_ssl = verify_ssl
|
self.__verify_ssl = verify_ssl
|
||||||
|
self.__verify_source_ssl = verify_source_ssl
|
||||||
|
self.__verify_destination_ssl = verify_destination_ssl
|
||||||
|
|
||||||
self.__ca_bundle = ca_bundle
|
self.__ca_bundle = ca_bundle
|
||||||
|
|
||||||
api = API(
|
api = API(
|
||||||
@@ -45,12 +50,14 @@ class Migrator:
|
|||||||
hostname=self.__source_host,
|
hostname=self.__source_host,
|
||||||
port=self.__source_port,
|
port=self.__source_port,
|
||||||
token=self.__source_token,
|
token=self.__source_token,
|
||||||
|
verify_ssl=self.__verify_source_ssl,
|
||||||
|
|
||||||
)
|
)
|
||||||
self.__destination_api = api.get(
|
self.__destination_api = api.get(
|
||||||
hostname=self.__destination_host,
|
hostname=self.__destination_host,
|
||||||
port=self.__destination_port,
|
port=self.__destination_port,
|
||||||
token=self.__destination_token,
|
token=self.__destination_token,
|
||||||
|
verify_ssl=self.__verify_destination_ssl,
|
||||||
)
|
)
|
||||||
|
|
||||||
def _init_logger(self):
|
def _init_logger(self):
|
||||||
@@ -62,64 +69,12 @@ class Migrator:
|
|||||||
|
|
||||||
self.__logger = logger
|
self.__logger = logger
|
||||||
|
|
||||||
"""
|
|
||||||
def _get_user_api(self, hostname, port, token) -> giteapy.UserApi:
|
|
||||||
|
|
||||||
conf = giteapy.Configuration()
|
|
||||||
conf.api_key['access_token'] = token
|
|
||||||
conf.host = self._make_api_base(hostname=hostname, port=port)
|
|
||||||
conf.verify_ssl = self.__verify_ssl
|
|
||||||
api = giteapy.UserApi(giteapy.ApiClient(conf))
|
|
||||||
|
|
||||||
return api
|
|
||||||
"""
|
|
||||||
|
|
||||||
"""
|
|
||||||
def _get_repo_api(self, hostname, port, token) -> giteapy.RepositoryApi:
|
|
||||||
|
|
||||||
conf = giteapy.Configuration()
|
|
||||||
conf.api_key['access_token'] = token
|
|
||||||
conf.host = self._make_api_base(hostname=hostname, port=port)
|
|
||||||
conf.verify_ssl = self.__verify_ssl
|
|
||||||
api = giteapy.RepositoryApi(giteapy.ApiClient(conf))
|
|
||||||
|
|
||||||
return api
|
|
||||||
"""
|
|
||||||
|
|
||||||
"""
|
|
||||||
def _get_org_apis(self) -> (giteapy.OrganizationApi, giteapy.OrganizationApi):
|
|
||||||
|
|
||||||
api_source = self._get_org_api(
|
|
||||||
hostname=self.__source_host, port=self.__source_port,
|
|
||||||
token=self.__source_token
|
|
||||||
)
|
|
||||||
api_destination = self._get_org_api(
|
|
||||||
hostname=self.__destination_host, port=self.__destination_port,
|
|
||||||
token=self.__destination_token
|
|
||||||
)
|
|
||||||
|
|
||||||
return api_source, api_destination
|
|
||||||
"""
|
|
||||||
|
|
||||||
"""
|
|
||||||
def _get_org_api(self, hostname, port, token) -> giteapy.OrganizationApi:
|
|
||||||
|
|
||||||
conf = giteapy.Configuration()
|
|
||||||
conf.api_key['access_token'] = token
|
|
||||||
conf.host = self._make_api_base(hostname=hostname, port=port)
|
|
||||||
conf.verify_ssl = self.__verify_ssl
|
|
||||||
api = giteapy.OrganizationApi(giteapy.ApiClient(conf))
|
|
||||||
|
|
||||||
return api
|
|
||||||
"""
|
|
||||||
|
|
||||||
def _make_destination_repo_name(self, pattern: str, repo: gitea.Repository):
|
def _make_destination_repo_name(self, pattern: str, repo: gitea.Repository):
|
||||||
|
|
||||||
repo_name = pattern.replace(self.__REPO_ORIGINAL_NAME_TOKEN, repo.name)
|
repo_name = pattern.replace(self.__REPO_ORIGINAL_NAME_TOKEN, repo.name)
|
||||||
|
|
||||||
return repo_name
|
return repo_name
|
||||||
|
|
||||||
"""
|
|
||||||
def set_ca_bundle(self, bundle_path: str):
|
def set_ca_bundle(self, bundle_path: str):
|
||||||
|
|
||||||
self.__logger.info("Setting certificate bundle path")
|
self.__logger.info("Setting certificate bundle path")
|
||||||
@@ -129,9 +84,12 @@ class Migrator:
|
|||||||
certifi.core._CACERT_PATH = bundle_path
|
certifi.core._CACERT_PATH = bundle_path
|
||||||
self.__logger.info(f"New path: {certifi.where()}")
|
self.__logger.info(f"New path: {certifi.where()}")
|
||||||
|
|
||||||
|
self.__logger.info(f"os.environ.REQUESTS_CA_BUNDLE before: {os.environ['REQUESTS_CA_BUNDLE']}")
|
||||||
|
os.environ["REQUESTS_CA_BUNDLE"] = bundle_path
|
||||||
|
self.__logger.info(f"os.environ.REQUESTS_CA_BUNDLE after: {os.environ['REQUESTS_CA_BUNDLE']}")
|
||||||
|
|
||||||
# TODO: JUST TESTING
|
# TODO: JUST TESTING
|
||||||
self.__verify_ssl = bundle_path
|
self.__verify_ssl = bundle_path
|
||||||
"""
|
|
||||||
|
|
||||||
def migrate_entire_org(
|
def migrate_entire_org(
|
||||||
self,
|
self,
|
||||||
@@ -150,8 +108,13 @@ class Migrator:
|
|||||||
# api_source: giteapy.OrganizationApi
|
# api_source: giteapy.OrganizationApi
|
||||||
# api_destination: giteapy.OrganizationApi
|
# api_destination: giteapy.OrganizationApi
|
||||||
|
|
||||||
# Tattle on certify
|
# Tattle on certify, then modify
|
||||||
self.__logger.info(f"Certifi is currently using CA bundle: {certifi.where()}")
|
self.__logger.info(f"Certifi is currently using CA bundle: {certifi.where()}")
|
||||||
|
if self.__ca_bundle is not None:
|
||||||
|
self.set_ca_bundle(
|
||||||
|
bundle_path=self.__ca_bundle
|
||||||
|
)
|
||||||
|
self.__logger.info(f"After modification, Certifi is now using CA bundle: {certifi.where()}")
|
||||||
|
|
||||||
# Grab all org repos
|
# Grab all org repos
|
||||||
source_repos = self._fetch_all_org_repos(
|
source_repos = self._fetch_all_org_repos(
|
||||||
@@ -427,6 +390,7 @@ class Migrator:
|
|||||||
source_repos_failed.append(
|
source_repos_failed.append(
|
||||||
(source_repo, e)
|
(source_repo, e)
|
||||||
)
|
)
|
||||||
|
raise e
|
||||||
continue
|
continue
|
||||||
|
|
||||||
self.__logger.debug(f"Migration result: {repo_new}")
|
self.__logger.debug(f"Migration result: {repo_new}")
|
||||||
|
|||||||
25
main.py
25
main.py
@@ -21,6 +21,8 @@ def main():
|
|||||||
help="Specify the working directory"
|
help="Specify the working directory"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
######################
|
||||||
|
##### Source Arguments
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--source-hostname", "--source-host",
|
"--source-hostname", "--source-host",
|
||||||
dest="source_hostname",
|
dest="source_hostname",
|
||||||
@@ -55,6 +57,8 @@ def main():
|
|||||||
" Any repository that doesn't have all required topics will be skipped"
|
" Any repository that doesn't have all required topics will be skipped"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
###########################
|
||||||
|
##### Destination Arguments
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--destination-hostname", "--dest-hostname", "--destination-host", "--dest-host",
|
"--destination-hostname", "--dest-hostname", "--destination-host", "--dest-host",
|
||||||
dest="destination_hostname",
|
dest="destination_hostname",
|
||||||
@@ -125,14 +129,31 @@ def main():
|
|||||||
help="Do not ask to confirm each migration; Migrate all repos quickly.",
|
help="Do not ask to confirm each migration; Migrate all repos quickly.",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
###################
|
||||||
|
##### SSL/TLS Stuff
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--no-verify-ssl",
|
"--no-verify-ssl",
|
||||||
dest="verify_ssl",
|
dest="verify_ssl",
|
||||||
default=True,
|
default=True,
|
||||||
action="store_false",
|
action="store_false",
|
||||||
help="Don't verify SSL certificates",
|
help="Don't verify SSL/TLS certificates",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--no-verify-source-ssl",
|
||||||
|
dest="verify_source_ssl",
|
||||||
|
default=None,
|
||||||
|
action="store_false",
|
||||||
|
help="Don't verify the SSL/TLS certificate for the source host",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--no-verify-destination-ssl",
|
||||||
|
dest="verify_destination_ssl",
|
||||||
|
default=None,
|
||||||
|
action="store_false",
|
||||||
|
help="Don't verify the SSL/TLS certificate for the destination host",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Doesn't seem to be helpful?
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--ca-bundle",
|
"--ca-bundle",
|
||||||
dest="ca_bundle",
|
dest="ca_bundle",
|
||||||
@@ -153,6 +174,8 @@ def main():
|
|||||||
destination_port=args.destination_port,
|
destination_port=args.destination_port,
|
||||||
destination_token=args.destination_token,
|
destination_token=args.destination_token,
|
||||||
verify_ssl=args.verify_ssl,
|
verify_ssl=args.verify_ssl,
|
||||||
|
verify_source_ssl=args.verify_source_ssl,
|
||||||
|
verify_destination_ssl=args.verify_destination_ssl,
|
||||||
ca_bundle=args.ca_bundle
|
ca_bundle=args.ca_bundle
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user