Remote Repository Manager fix

bug fix

Giteaのrestoreの検証していてRRMでいいじゃん。ということで久しぶりに動かしたら、とんでもないことに。直ったはずのpaginationが戻っているじゃないの。で、直しました。

この記事を投稿した時点では直っていました。証拠が、

これでした。修正点は、

		while( more ){
			if( gitea ){
				url = baseurl +"/user/repos?page=" + IntToStr(page) + "&" + "limit=50";// format change for gitea.com
				//url = baseurl +"/user/repos?page=" + IntToStr(page) + "\"";
				//pat = "Authorization: token " + pat;
			}

			try {
				kick->Get(url,ms);
			}
			catch(const Exception& e)
			{
				ShowMessage(e.ClassName());
				return;
				//printf("Caught C++ Exception: %s :\n", e.msg());
			}

			//Form1->Memo2->Lines->Add("ms pos: " + IntToStr(ms->Position) + " ms size: " + IntToStr(ms->Size));

			String link  = kick->Response->RawHeaders->Values["Link"];
            //!link.Pos("rel=\"next\"")
			if( !link.Pos("rel=\"next\"")){
					more = false;
			} else {
					//    ̃y [ W  
					page++;
			}

		}

このpagination loopの次の

					jsonorig = StringReplace(
							dummy,                // Source string
							L"]\n[",            // Substring to find
							L",",               // Replacement text
							TReplaceFlags() << rfReplaceAll // Replace all occurrences
					);

を

					jsonorig = StringReplace(
							dummy,                // Source string
							L"][",            // Substring to find
							L",",               // Replacement text
							TReplaceFlags() << rfReplaceAll // Replace all occurrences
					);

にするだけ。上でどうして動いていたかは不明。要するに、

]
[

を

,

にするだけのこと。

ほとんど、この修正と些末なデザインレイアウトの修正だけを施したバイナリは、

“RemoteRepositoryManager fixed version” をダウンロード rmm-dist.zip 309.64 KB

さて直ったので、いよいよbulk migrateの検証しなければね。それは近々に別記事で書きます。

コメント