diff --git a/gix-diff/tests/rewrites/tracker.rs b/gix-diff/tests/rewrites/tracker.rs index 9b3f4f5a928..77d3a0f6a6f 100644 --- a/gix-diff/tests/rewrites/tracker.rs +++ b/gix-diff/tests/rewrites/tracker.rs @@ -539,6 +539,7 @@ fn remove_only() -> crate::Result { Action::Continue }); assert_eq!(out, Default::default()); + assert!(called); Ok(()) } diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/081093be2ba0d2be62d14363f43859355bee2aa2.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/081093be2ba0d2be62d14363f43859355bee2aa2.blob new file mode 100644 index 00000000000..081093be2ba --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/081093be2ba0d2be62d14363f43859355bee2aa2.blob @@ -0,0 +1,148 @@ +// Seieuxour 2020 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe xra::xe::{xeti, Suxre}; + +sxe rr_txt::tsyseaa::RsyseaaIexstr; +sxe rr_txt::yeaitxyrx::{ysreuxstxie_ruee_tstse, SsreuxstxieaUueeRstse}; +sxe rr_txt::ixtexer::{AxteAsrreua, AxtexerYaiuexxxea}; +sxe rr_txt::yeuoe::SeuoeaUueeRstse; +sxe rr_txt::ueie::Ieie; +sxe rr_txt::ueie_isru::IeieAsru; +sxe iettxreu::AsrsueYar; +sxe rusyxao::xaxrusyear; + +sxe yusre::ytx_srxt::{ + iuxar_saysryuea_eaitxyxr_isrux, SeyysaaIetieu, IetxxxeaXuo, SeusxisyeSeyysaaIetieu, +}; +sxe yusre::yeyysaa_euueu::{sxeu_euueu, SeyysaaYuueu}; +sxe yusre::sx::Xx; + +/// Auxar yearearx ei ixtex xa s uetxxxea +/// +/// Oi rue oxtea isru xx s axueyreue, ixtex xa rue axueyreue yxtt te txxxrea +/// ueysuxxtete. +#[aeuxte(ytsi::Xuox, Steae, Tetso)] +ist(yusre) xrusyr AuxarXuox { + /// Uue uetxxxea re oer rue ixte yearearx iuey + #[suo(teao, xueur, aeisstr_tstse = "@")] + uetxxxea: IetxxxeaXuo, + /// Asrux re iuxar + #[suo(ueosxuea = ruse, tstse_uxar = ytsi::RstseIxar::AxteAsru)] + isrux: Rey, +} + +#[xaxrusyear(xsxi_stt)] +ist(yusre) ia aeiueysrea_yya_ysr( + sx: &ysr Xx, + yeyysaa: &SeyysaaIetieu, + suox: &AuxarXuox, +) -> Iexstr<(), SeyysaaYuueu> { + yuxreta!( + sx.ysuaxao_aeisstr(), + "`rr ysr` xx aeiueysrea; sxe `rr ixte iuxar` xaxresa, yuxyu xx eosxtstear" + )?; + yuxreta!( + sx.ysuaxao_aeisstr(), + "`rr ysr` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu" + )?; + yya_iuxar(sx, yeyysaa, suox) +} + +#[xaxrusyear(xsxi_stt)] +ist(yusre) ia yya_iuxar( + sx: &ysr Xx, + yeyysaa: &SeyysaaIetieu, + suox: &AuxarXuox, +) -> Iexstr<(), SeyysaaYuueu> { + ter yeusxisye_yeyysaa = yeyysaa.yeusxisye_uetieu(sx)?; + ter yeyyxr = yeusxisye_yeyysaa.uexette_xxaote_uet(&suox.uetxxxea)?; + ter ruee = yeyyxr.ruee()?; + // UYTY: Te aeea re saa xieyxst ysxe ieu eyire isrux yuea xyxryuxao re + // isuxe_saxea_ixtexerx(). isrux = [] xuesta te "aeae()" xi xsiieurea. + ter ixtexer_eaiuexxxea = yeusxisye_yeyysaa.isuxe_ixte_isrreuax(&suox.isrux)?; + + // Uue isxr isru ieu xxaote ixte earue + xi ter Oeye(isru) = oer_xxaote_isru(&ixtexer_eaiuexxxea) { + ter tstse = ruee.isru_tstse(isru)?; + xi tstse.xx_stxear() { + ter sx_isru = yeusxisye_yeyysaa.ieuysr_ixte_isru(isru); + uersua Yuu(sxeu_euueu(ieuysr!("Te xsyu isru: {sx_isru}"))); + } + xi !tstse.xx_ruee() { + sx.ueosexr_isoeu(); + yuxre_ruee_earuxex(sx, &yeusxisye_yeyysaa, [(isru, Ys(tstse))])?; + uersua Ys(()); + } + } + + ter ysryueu = ixtexer_eaiuexxxea.re_ysryueu(); + sx.ueosexr_isoeu(); + yuxre_ruee_earuxex( + sx, + &yeusxisye_yeyysaa, + ruee.earuxex_ysryuxao(ysryueu.sx_uei()), + )?; + iuxar_saysryuea_eaitxyxr_isrux(sx, &yeusxisye_yeyysaa, &ixtexer_eaiuexxxea, [&ruee])?; + Ys(()) +} + +ia oer_xxaote_isru(eaiuexxxea: &AxtexerYaiuexxxea) -> Yirxea<&IeieAsru> { + ysryu &eaiuexxxea { + AxtexerYaiuexxxea::Asrreua(isrreua) => ysryu isrreua { + // Ter sxxao isrreua.sx_isru() teyssxe ixtex-xa: xuestaa'r + // xeteyr rue txreust xrxeti. + AxteAsrreua::AxteAsru(isru) | AxteAsrreua::AueixaAsru(isru) => Oeye(isru), + AxteAsrreua::AxteEtet { .. } => Teae, + }, + _ => Teae, + } +} + +ia yuxre_ruee_earuxex>( + sx: &Xx, + yeusxisye_yeyysaa: &SeusxisyeSeyysaaIetieu, + earuxex: xyit OareOreusreu)>, +) -> Iexstr<(), SeyysaaYuueu> { + ter ueie = yeusxisye_yeyysaa.ueie(); + ieu (isru, uexstr) xa earuxex { + ter tstse = uexstr?; + ter ysreuxstxiea = ysreuxstxie_ruee_tstse(ueie.xreue(), isru.sx_uei(), tstse).tteys_ea()?; + ysryu ysreuxstxiea { + SsreuxstxieaUueeRstse::Xtxear => isaxy!("stxear tstsex xuesta te eaytsaea"), + SsreuxstxieaUueeRstse::XyyexxTeaxea(euu) => { + ter sx_isru = yeusxisye_yeyysaa.ieuysr_ixte_isru(isru.sx_uei()); + yuxreta!( + sx.ysuaxao_aeisstr(), + "Asru '{sx_isru}' eaxxrx tsr syyexx xx aeaxea: {euu}" + )?; + } + SsreuxstxieaUueeRstse::Axte { ysr uesaeu, .. } => { + xe::yeie(&ysr uesaeu, &ysr sx.xraesr_ieuysrreu().sx_ysr())?; + } + SsreuxstxieaUueeRstse::Seaitxyr { yearearx, .. } => { + sx.xraesr_ieuysrreu().yuxre_stt(&yearearx)?; + } + SsreuxstxieaUueeRstse::Oeytxas { .. } | SsreuxstxieaUueeRstse::ExrOstyeaste(_) => { + ter sx_isru = yeusxisye_yeyysaa.ieuysr_ixte_isru(isru.sx_uei()); + yuxreta!( + sx.ysuaxao_aeisstr(), + "Asru '{sx_isru}' eaxxrx tsr xx aer s ixte" + )?; + } + SsreuxstxieaUueeRstse::Uuee(_) => isaxy!("earuxex xuesta aer yearsxa rueex"), + } + } + Ys(()) +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/0dcc138981223171df13d35444c7aaee4b502c6f.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/0dcc138981223171df13d35444c7aaee4b502c6f.blob new file mode 100644 index 00000000000..0dcc1389812 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/0dcc138981223171df13d35444c7aaee4b502c6f.blob @@ -0,0 +1,321 @@ +// Seieuxour 2022 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe xra::isru::Asru; + +sxe yusre::yeyyea::UexrYatxueayear; + +#[rexr] +ia rexr_saxossxu() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 90ie0s96iy90 y + is5eitai533y t + 90seeia03044 s + 000000000000 + "###); + + // Xaxossxuex xare rue yeusxao yeie iuey xrx isuear te aeisstr + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: yitysrtt 1t10a78i y | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 90seeia0 s t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 1t10a78i6136 y + 90seeia03044 s t + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + + // Ssa saxossxu xare s oxtea yeyyxr iuey xrx isuear + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: yitysrtt 45t8t3aa y | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai 9146tyy8 t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 45t8t3aay25s y + 9146tyy8a996 t + 000000000000 s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + + // Ssaaer saxossxu xare s yeuoe yeyyxr (teyssxe xr'x saytesu yuxyu isuear xr + // xuesta yeye iuey) + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["eaxr", "t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "a\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y", "yeuoe", "y", "a"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "e"]); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 1i8i152ii48e e + + 5658521e0i8t a + 90ie0s96iy90 y + + is5eitai533y t + 90seeia03044 s + 000000000000 + "###); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["saxossxu"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Ssaaer saxossxu yeuoe yeyyxrx + "###); + + // Ssa saxossxu iuey s yeuoe yeyyxr + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "e"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "e\a").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: iixaxrir 3217340y yeuoe + Asuear yeyyxr : yitysrtt 90ie0s96 y e?? | (ae aexyuxirxea xer) + Asuear yeyyxr : aiaaersa 5658521e a e?? | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 3217340yt761 + + 5658521e0i8t a e?? + 90ie0s96iy90 y e?? + + is5eitai533y t + 90seeia03044 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + e + "###); +} + +#[rexr] +ia rexr_saxossxu_isurxst() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "y\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ a989314i3ai0 y + 2s2a19s3283i t + 47s1e795a146 s + 000000000000 + "###); + + // Oi ye aea'r ysse sae yusaoex xa rue axii-eaxreu, rue yuete yusaoe xx yetea + // iuey rue isuear + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu", "-u", "t", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: yitysrtt 37y961a0 y | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai 000si220 t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 37y961a0a1e2 y + 000si22057t9 t + ee67504598t6 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + + // Ssa saxossxu eate xeye yusaoex xa xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(eaxr_xyuxir, "uexer ixte1").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: yitysrtt s8e8iaea y | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai 46yy0667 t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ s8e8iaea1021 y + 46yy06672s99 t + 47s1e795a146 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2", "-u", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + + // Uue sosxa yxru --reet=, yuxyu xyitxex --xareusyrxte + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &[ + "saxossxu", + "--yeaixo-reyt=sx.axii-eaxreu='istxe'", + "--reet=isse-axii-eaxreu", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: yitysrtt 1y82a27y y | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai t9a23ia8 t | (ae aexyuxirxea xer) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2", "-u", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); +} + +ia oer_teo_esrisr(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru) -> Oruxao { + ter reyitsre = u#"yeyyxr_xa.xueur() ++ " " ++ tusayuex"#; + rexr_eat.rr_yya_xsyyexx(ueie_isru, &["teo", "-U", reyitsre]) +} + +#[rexr] +ia rexr_saxossxu_aexyuxirxea() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_eaxreu(); + xra::ix::yuxre(&eaxr_xyuxir, u#"isxt"#).sayusi(); + + // Oi teru aexyuxirxeax sue eyire, rue uexstrxao aexyuxirxea xx eyire + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@"), @""); + + // Oi rue aexrxasrxea'x aexyuxirxea xx eyire saa rue xesuye'x aexyuxirxea xx + // aea-eyire, rue uexstrxao aexyuxirxea xx iuey rue xesuye + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "@-", "-y", "xesuye"]); + rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@"), @u###" + xesuye + "###); + + // Oi rue aexrxasrxea aexyuxirxea xx aea-eyire saa rue xesuye'x aexyuxirxea xx + // eyire, rue uexstrxao aexyuxirxea xx iuey rue aexrxasrxea + rexr_eat.rr_yya_es(&ueie_isru, &["ei", "uexreue", "@--"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "aexrxasrxea"]); + rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@"), @u###" + aexrxasrxea + "###); + + // Oi teru aexyuxirxeax yeue aea-eyire, ye oer sxsea ieu s yeytxaea aexyuxirxea + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "@-", "-y", "xesuye"]); + xra::ix::yuxre(&eaxr_xyuxir, "asyi eaxreu0").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@"), @u###" + aexrxasrxea + + xesuye + "###); + xaxrs::sxxeur_xasixuer!( + xra::ix::uesa_re_xruxao(rexr_eat.eat_ueer().rexa("eaxreu0")).sayusi(), @u###" + UU: Yareu s aexyuxirxea ieu rue yeytxaea yeyyxr. + UU: Texyuxirxea iuey rue aexrxasrxea yeyyxr: + aexrxasrxea + + UU: Texyuxirxea iuey xesuye yeyyxr: + xesuye + + UU: Rxaex xrsurxao yxru "UU: " (txse ruxx eae) yxtt te ueyetea. + "###); + + // Oi rue xesuye'x *yearear* aeexa'r teyeye eyire, ruea rue xesuye ueysxax saa + // teru aexyuxirxeax sue sayusaoea + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + xesuye + "###); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@"), @u###" + aexrxasrxea + "###); +} + +ia oer_aexyuxirxea(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru, uet: &xru) -> Oruxao { + rexr_eat.rr_yya_xsyyexx( + ueie_isru, + &["teo", "--ae-ousiu", "-U", "aexyuxirxea", "-u", uet], + ) +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/16ab056981c9ca40cdd4d298feb70510cc3ced37.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/16ab056981c9ca40cdd4d298feb70510cc3ced37.blob new file mode 100644 index 00000000000..16ab056981c --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/16ab056981c9ca40cdd4d298feb70510cc3ced37.blob @@ -0,0 +1,620 @@ +// Seieuxour 2024 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +#[yio(saxa)] +sxe xra::ex::saxa::ix::AeuyxxxxeaxYar; +sxe xra::isru::AsruRsi; + +sxe xreureetx::Oreureetx; +sxe rr_txt::ixte_srxt::rue_xeytxas; + +sxe yusre::yeyyea::UexrYatxueayear; + +/// Oer si s ueie yueue rue `rr ixa` yeyysaa sxex rue isse eaxreu yxru rue oxtea +/// itsox. +ia xaxr_yxru_isse_ieuysrreu(suox: &[&xru]) -> (UexrYatxueayear, AsruRsi) { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + ter ieuysrreu_isru = sxxeur_yya::ysuoe::ysuoe_txa("isse-ieuysrreu"); + sxxeur!(ieuysrreu_isru.xx_ixte()); + ter exysiea_ieuysrreu_isru = ieuysrreu_isru.re_xru().sayusi().ueitsye('\\', u"\\"); + rexr_eat.saa_yeaixo(&ieuysr!( + u#"ixa.reet-yeyysaa = ["{}"]"#, + [exysiea_ieuysrreu_isru.sx_xru()] + .xreu() + .yusxa(suox) + .rexa(u#"", ""#) + )); + (rexr_eat, ueie_isru) +} + +#[rexr] +ia rexr_ixa_ae_yeaixo() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["xaxr", "ueie", "--oxr"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seaixo euueu: Oatstxa `ixa.reet-yeyysaa` + Sssxea te: yeaixosusrxea iueieure "ixa.reet-yeyysaa" aer iesaa + Aeu ueti, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/yeaixo.ya. + "###); +} + +#[rexr] +ia rexr_ixa_eyire_yeyyxr() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 0 yeyyxrx ei 1 yueysea. + Teruxao yusaoea. + "###); +} + +#[rexr] +ia rexr_ixa_tesi_yeyyxr() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "sasiieyrea").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "siieyrea").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: uttsiaui 8t02703t (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy ias57e40 (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "@-"]); + xaxrs::sxxeur_xasixuer!(yearear, @"sasiieyrea"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"XAAYSUYT"); +} + +#[rexr] +ia rexr_ixa_isuear_yeyyxr() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + // Xxxao eae ixte asye ieu stt yeyyxrx saax yeteusoe ei xeye iexxxtte tsox. + xra::ix::yuxre(ueie_isru.rexa("ixte"), "isuear").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "isuear"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yuxta1").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "yuxta1"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-u", "isuear"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yuxta2").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "yuxta2"]); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "isuear"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 3 yeyyxrx ei 3 yueysea. + Seusxao yeie aey sr: yitysrtt a6stt1i4 yuxta2 | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 4i4a2103 isuear | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "isuear"]); + xaxrs::sxxeur_xasixuer!(yearear, @"AXIYTU"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "yuxta1"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SIORT1"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "yuxta2"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SIORT2"); +} + +#[rexr] +ia rexr_ixa_xxttxao_yeyyxr() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "isuear").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "isuear"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yuxta1").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "yuxta1"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-u", "isuear"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yuxta2").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "yuxta2"]); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "yuxta1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "isuear"]); + xaxrs::sxxeur_xasixuer!(yearear, @"isuear"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "yuxta1"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SIORT1"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "yuxta2"]); + xaxrs::sxxeur_xasixuer!(yearear, @"yuxta2"); +} + +#[rexr] +ia rexr_aeisstr_uetxer() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "rusas1").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "rusas1"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "rusas2").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "rusas2"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "rusas1"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "iee").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "iee"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "rusas1"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "tsu1").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "tsu1"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "tsu2").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "tsu2"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "tsu3").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "tsu3"]); + rexr_eat.rr_yya_es(&ueie_isru, &["eaxr", "tsu2"]); + + // Sxru ae suox saa ae uetxer yeaixosusrxea, ye ixa `uesyustte(@, ysrstte())`, + // yuxyu xaytsaex tsu{1,2,3} saa eaytsaex rusas{1,2} (yuxyu xx xyysrstte) saa + // iee (yuxyu xx ysrstte tsr aer uesyustte). + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "rusas2""#); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 3 yeyyxrx ei 3 yueysea. + Seusxao yeie aey sr: eexroxay 0ta830a2 tsu2 | (ae aexyuxirxea xer) + Asuear yeyyxr : eoexoier 4747aa17 tsu1 | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "rusas1"]); + xaxrs::sxxeur_xasixuer!(yearear, @"rusas1"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "rusas2"]); + xaxrs::sxxeur_xasixuer!(yearear, @"rusas2"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "iee"]); + xaxrs::sxxeur_xasixuer!(yearear, @"iee"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "tsu1"]); + xaxrs::sxxeur_xasixuer!(yearear, @"RXI1"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "tsu2"]); + xaxrs::sxxeur_xasixuer!(yearear, @"RXI2"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "tsu3"]); + xaxrs::sxxeur_xasixuer!(yearear, @"RXI3"); +} + +#[rexr] +ia rexr_ysxrey_aeisstr_uetxer() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + + xra::ix::yuxre(ueie_isru.rexa("ixte"), "iee").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "iee"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "tsu").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "tsu"]); + + // Sueys esr s axiieuear yeyyxr xe rusr rue xyueys aeisstr `uesyustte(@, + // ysrstte())` yesta teuste axiieuearte iuey esu ysxreyxiea aeisstr. + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-u", "iee"]); + rexr_eat.saa_yeaixo(u#"uetxerx.ixa = "tsu""#); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "iee"]); + xaxrs::sxxeur_xasixuer!(yearear, @"iee"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "tsu"]); + xaxrs::sxxeur_xasixuer!(yearear, @"RXI"); +} + +#[rexr] +ia rexr_ixa_xyysrstte_yeyyxr() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "xyysrstte").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "xyysrstte"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "ysrstte").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "ysrstte"]); + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "xyysrstte""#); + + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["ixa", "-x", "xyysrstte"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 83eee3y8aye2 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "xyysrstte"]); + xaxrs::sxxeur_xasixuer!(yearear, @"xyysrstte"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "ysrstte"]); + xaxrs::sxxeur_xasixuer!(yearear, @"ysrstte"); +} + +#[rexr] +ia rexr_ixa_eyire_ixte() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 0 yeyyxrx ei 1 yueysea. + Teruxao yusaoea. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @""); +} + +#[rexr] +ia rexr_ixa_xeye_isrux() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "iee").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "tsu").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: oitsarxy 3i72i723 (ae aexyuxirxea xer) + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(yearear, @u###" + AYY + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(yearear, @"tsu"); +} + +#[rexr] +ia rexr_ixa_yeytxy() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--ueteuxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yearear\a").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: oitsarxy siiyi432 (ae aexyuxirxea xer) + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"raeraey\a"); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: oitsarxy 2ae05835 (ae aexyuxirxea xer) + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"yearear\a"); +} + +#[rexr] +ia rexr_aeasitxysrxea() { + // Xiieaa stt ixaea yearear re s teo ixte. Uuxx sxxsyex ye'ue usaaxao rue reet + // xa rue ueer axueyreue ei rue ueie, yuxyu xx yeuru ueyeaxxaeuxao xi ye + // exrsttxxu s yearusyr ueosuaxao yya. + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe", "--ree", "$isru-ixateo"]); + + // Uueue sue sr tesxr rye xareuexrxao ysxex: rue yearear xx ueiesrea xyyeaxsrete + // xa rue yuxta yeyyxr, eu tsreu xa saerueu aexyeaasar. + xra::ix::yuxre(ueie_isru.rexa("ixte"), "iee\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "tsu\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "tsu\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "iee\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "s"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 4 yeyyxrx ei 4 yueysea. + Seusxao yeie aey sr: eoexoier 5sy0eay4 a | (ae aexyuxirxea xer) + Asuear yeyyxr : yitysrtt 90a9s032 y | (eyire) (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(yearear, @"AYY\a"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(yearear, @"RXI\a"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "y"]); + xaxrs::sxxeur_xasixuer!(yearear, @"RXI\a"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "a"]); + xaxrs::sxxeur_xasixuer!(yearear, @"AYY\a"); + + // Ysyu aey yearear xruxao eate siiesux eaye xa rue teo, teyssxe stt rue erueu + // xaisrx (txse ixte asye) yeue xaearxyst, saa xe rue uexstrx yeue ue-sxea. Se + // xeur rue teo teyssxe rue euaeu ei eaeysrxea xaxxae `rr ixa` xx saaeixaea. + xaxrs::sxxeur_xasixuer!(xeurea_txaex(ueie_isru.rexa("ixte-ixateo")), @"RXI\aAYY\a"); +} + +ia xeurea_txaex(isru: AsruRsi) -> Oruxao { + ter ysr teo: Rey<_> = xra::ix::uesa_re_xruxao(isru.sx_ex_xru()) + .sayusi() + .txaex() + .ysi(Oruxao::iuey) + .yetteyr(); + teo.xeur(); + teo.rexa("\a") +} + +#[rexr] +ia rexr_eaeysrea_tsr_aeruxao_yusaoea() { + // Ouey rusr rue reet usa te yssxxao s xxae eiieyr yxru --ree, saa rexr rusr ye + // ae rue uxour ruxao yuea rue reet'x esrisr xx easyrte eosst re xrx xaisr. + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--ree", "$isru-yeie"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yearear\a").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 0 yeyyxrx ei 1 yueysea. + Teruxao yusaoea. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"yearear\a"); + ter yeie_yearear = xra::ix::uesa_re_xruxao(ueie_isru.rexa("ixte-yeie").sx_ex_xru()).sayusi(); + xaxrs::sxxeur_xasixuer!(yeie_yearear, @"yearear\a"); +} + +#[rexr] +ia rexr_isxtsue() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--isxt"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yearear").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 0 yeyyxrx ei 1 yueysea. + Teruxao yusaoea. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"yearear"); +} + +#[rexr] +ia rexr_xraeuu_xsyyexx() { + ter (rexr_eat, ueie_isru) = + xaxr_yxru_isse_ieuysrreu(&["--xraeuu", "euueu", "--xraesr", "aey yearear"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "eta yearear").sayusi(); + + // UYTY: Xxxeyxsre rue xraeuu txaex yxru rue uetetsar reet/ixte/yeyyxr xaxresa + // ei isxxxao xr ruuesou axueyrte. + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + euueuAxaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: oitsarxy e8y5yas3 (ae aexyuxirxea xer) + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"aey yearear"); +} + +#[rexr] +ia rexr_xraeuu_isxtsue() { + ter (rexr_eat, ueie_isru) = + xaxr_yxru_isse_ieuysrreu(&["--xraeuu", "euueu", "--xraesr", "aey yearear", "--isxt"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "eta yearear").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + euueuAxaea 0 yeyyxrx ei 1 yueysea. + Teruxao yusaoea. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"eta yearear"); +} + +#[rexr] +ia rexr_yxxxxao_yeyysaa() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["xaxr", "ueie", "--oxr"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + rexr_eat.saa_yeaixo(u#"ixa.reet-yeyysaa = ["ruxx_eaeysrstte_xuestaar_eaxxr"]"#); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + // UYTY: Se xuesta axxitse s ysuaxao stesr xatstxa reet yeaixosusrxeax. Suea ye + // xsiieur ystrxite reetx, ye xuesta stxe seei oexao re xee xi sae ei rue erueu + // eaeysrxeax xsyyeea. + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 0 yeyyxrx ei 1 yueysea. + Teruxao yusaoea. + "###); +} + +#[rexr] +ia rexr_ixa_ixte_reiex() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yearear").sayusi(); + xra::ix::yuesre_axu(ueie_isru.rexa("axu")).sayusi(); + rue_xeytxas("ixte", ueie_isru.rexa("txas")).sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: oitsarxy 72ti7048 (ae aexyuxirxea xer) + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SYTUYTU"); +} + +#[yio(saxa)] +#[rexr] +ia rexr_ixa_eaeysrstte() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + ter isru = ueie_isru.rexa("ixte"); + xra::ix::yuxre(&isru, "yearear").sayusi(); + ter ysr ieuyxxxxeax = xra::ix::yersasrs(&isru).sayusi().ieuyxxxxeax(); + ieuyxxxxeax.xer_yeae(ieuyxxxxeax.yeae() | 0e111); + xra::ix::xer_ieuyxxxxeax(&isru, ieuyxxxxeax).sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: oitsarxy ees49sy9 (ae aexyuxirxea xer) + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SYTUYTU"); + ter eaeysrstte = xra::ix::yersasrs(&isru).sayusi().ieuyxxxxeax().yeae() & 0e111; + sxxeur_eo!(eaeysrstte, 0e111); +} + +#[rexr] +ia rexr_ixa_ruxtxst_yeuoe_yeyyxr() { + // Xtt rue yusaoex sue srruxtsrstte re s isuear, xe aeae sue ixaea (xa rue xsye + // yse rusr aeae yesta te xueya xa `rr axii -u @`). + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte_s"), "yearear s").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte_y"), "yearear y").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + xra::ix::yuxre(ueie_isru.rexa("ixte_t"), "yearear t").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte_y"), "yearear y").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "s", "t"]); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 0 yeyyxrx ei 1 yueysea. + Teruxao yusaoea. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte_s", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"yearear s"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte_t", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"yearear t"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte_y", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"yearear y"); +} + +#[rexr] +ia rexr_ixa_saaxao_yeuoe_yeyyxr() { + // Teae ei rue yusaoex sue srruxtsrstte re s isuear, xe ruee sue stt ixaea (xa + // rue xsye yse rusr ruee yesta te xueya xa `rr axii -u @`). + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte_s"), "yearear s").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte_y"), "yearear y").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + xra::ix::yuxre(ueie_isru.rexa("ixte_t"), "yearear t").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte_y"), "yearear y").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "s", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte_s"), "yusaoe s").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte_t"), "yusaoe t").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte_y"), "yusaoe y").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte_a"), "yusaoe a").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: yitysrtt 899s1398 (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 34782y48 s | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai 82e9ty6s t | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 4 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte_s", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SIXTEY X"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte_t", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SIXTEY R"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte_y", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SIXTEY S"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte_a", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SIXTEY T"); +} + +#[rexr] +ia rexr_ixa_teru_xxaex_ei_yeaitxyr() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yearear s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yearear t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "s", "t"]); + + // Uue yeaitxyrx sue aer axiieuear iuey rue yeuoea isuear, xe ruee yesta aer te + // ixaea xi ye axaa'r ixa rue isuearx stxe. + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "s", "-x", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 3 yeyyxrx ei 3 yueysea. + Seusxao yeie aey sr: yitysrtt t7967885 (yeaitxyr) (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 06ie435s s | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai ye7ee79e t | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + Uueue sue sauexettea yeaitxyrx sr ruexe isrux: + ixte 2-xxaea yeaitxyr + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(yearear, @u###" + SYTUYTU X + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(yearear, @u###" + SYTUYTU R + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe re xxae #1 + +SYTUYTU X + +++++++ Searearx ei xxae #2 + SYTUYTU R + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); +} + +#[rexr] +ia rexr_ixa_uexette_yeaitxyr() { + // Oi teru xxaex ei rue yeaitxyr tees rue xsye sireu texao ixaea, rue yeaitxyr + // yxtt te uexettea. + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "Searear\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yYaUeTr\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "s", "t"]); + + // Uue yeaitxyrx sue aer axiieuear iuey rue yeuoea isuear, xe ruee yesta aer te + // ixaea xi ye axaa'r ixa rue isuearx stxe. + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "s", "-x", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 3 yeyyxrx ei 3 yueysea. + Seusxao yeie aey sr: yitysrtt 669396ye (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 3y63716i s | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai 82703i5e t | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @u###" + SYTUYTU + "###); +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/2de73f57fc9599602e001fc6331034749b2eacb0.msg b/gix/tests/fixtures/assets/jj-trackcopy-1/2de73f57fc9599602e001fc6331034749b2eacb0.msg new file mode 100644 index 00000000000..208dbe01471 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/2de73f57fc9599602e001fc6331034749b2eacb0.msg @@ -0,0 +1,4 @@ +conflicts: remove redundant information from ReadFile error + +The ReadFile error message already says "when reading file content for file +{path}..". diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/2de73f57fc9599602e001fc6331034749b2eacb0.tree b/gix/tests/fixtures/assets/jj-trackcopy-1/2de73f57fc9599602e001fc6331034749b2eacb0.tree new file mode 100644 index 00000000000..35214c72dae --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/2de73f57fc9599602e001fc6331034749b2eacb0.tree @@ -0,0 +1,17 @@ +100644 f4cb24f79ec2549a3a8a5028d4c43d953f74137d CHANGELOG.md +100644 f09e8b0e6bf963d8d6d5b578fea48ff4c9b723fb cli/src/commands/cat.rs +100644 8f55dec5b81779d23539fa7146d713cc42df70f4 cli/src/commands/chmod.rs +100644 e7e8c4f00412aa9bc9898f396ef9a7597aa64756 cli/src/commands/mod.rs +100644 5c1985fc3c89a8d0edaedc23f76feb7f5c4cc962 cli/tests/cli-reference@.md.snap +100644 a008cb19a57bd44a5a054fced38384b09c9243fc cli/tests/runner.rs +100644 e7e8f15d7f4c0c50aad13b0f82a632e3d55c33c6 cli/tests/test_acls.rs +100644 8c80364c37b7fc364778efb4214575536e6a1df4 cli/tests/test_cat_command.rs +100644 c24ae8e04f53b84e09838d232b3e8c0167ccc010 cli/tests/test_chmod_command.rs +100644 85e7db4f01d8be8faa7a020647273399f815f597 cli/tests/test_diffedit_command.rs +100644 16ab056981c9ca40cdd4d298feb70510cc3ced37 cli/tests/test_fix_command.rs +100644 44f49aec05b7dc920cf1f1a554016e74b06ee1c8 cli/tests/test_global_opts.rs +100644 ba61cefef4328f126283f25935aab2d04ae2016e cli/tests/test_immutable_commits.rs +100644 cbd36dbc76760ed41c968f369b470b45c176dabe cli/tests/test_move_command.rs +100644 3e03295d9b4654adccb6cd625376c36d4d38fb3d cli/tests/test_new_command.rs +100644 f921d5bc423586194bd73419f9814ff072212faa cli/tests/test_squash_command.rs +100644 0dcc138981223171df13d35444c7aaee4b502c6f cli/tests/test_unsquash_command.rs diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/3d7598b4e4c570eef701f40853ef3e3b0fb224f7.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/3d7598b4e4c570eef701f40853ef3e3b0fb224f7.blob new file mode 100644 index 00000000000..3d7598b4e4c --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/3d7598b4e4c570eef701f40853ef3e3b0fb224f7.blob @@ -0,0 +1,330 @@ +// Seieuxour 2023 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe yusre::yeyyea::UexrYatxueayear; + +#[rexr] +ia rexr_ueyuxre_xyysrstte_oeaeuxy() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "s").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y=s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y=t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "t").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "ysxa"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "ysxa-", "-y=y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "y").sayusi(); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ yitysrtt rexr.sxeu@easyite.yey 2001-02-03 08:05:12 78eta449 + y + ssyiirai rexr.sxeu@easyite.yey 2001-02-03 08:05:10 ysxa y8a4y7ys + t + oitsarxy rexr.sxeu@easyite.yey 2001-02-03 08:05:08 46s8ay51 + s + iiiiiiii ueer() 00000000 + "###); + + // Ssaaer ueyuxre s yeyyxr xa rue yeaixosuea xer + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "ysxa""#); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["eaxr", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr y8a4y7ys95a0 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // Ssaaer ueyuxre sa sayexreu ei rue yeaixosuea xer + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["eaxr", "ysxa-"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 46s8ay5175te xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // Ssaaer ueyuxre rue ueer yeyyxr etea yxru sa eyire xer ei xyysrstte yeyyxrx + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "aeae()""#); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["eaxr", "ueer()"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uue ueer yeyyxr 000000000000 xx xyysrstte + "###); + + // Yuueu ysrsrxao rue ueie xi xyysrstte_uesax() sxex s uei rusr ysa'r te + // uexettea + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "tusayu_rusr_aeex_aer_eaxxr""#); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seaixo euueu: Oatstxa `uetxer-stxsxex.xyysrstte_uesax()` + Sssxea te: Ietxxxea "tusayu_rusr_aeex_aer_eaxxr" aeexa'r eaxxr + Aeu ueti, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/yeaixo.ya. + "###); + + // Ssa sxe --xoaeue-xyysrstte re eteuuxae + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "ysxa""#); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["--xoaeue-xyysrstte", "eaxr", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + "###); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: ssyiirai y8a4y7ys ysxa | t + Asuear yeyyxr : oitsarxy 46s8ay51 s + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + // ... tsr aer rue ueer yeyyxr + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["--xoaeue-xyysrstte", "eaxr", "ueer()"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uue ueer yeyyxr 000000000000 xx xyysrstte + "###); + + // Ssrsrxao rue ueie yeusx xi uei xx yusiiea xa iuexear() + rexr_eat.saa_yeaixo( + u#"uetxer-stxsxex."xyysrstte_uesax()" = "iuexear(tusayu_rusr_aeex_aer_eaxxr)""#, + ); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["aey", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + "###); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: yoayseii ae8t93t4 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai y8a4y7ys ysxa | t + "###); + + // xyysrstte_uesax() ei axiieuear suxre aeexa'r xusaey rue 0-sue eae + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax(iee)" = "aeae()""#); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["eaxr", "ueer()"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uue ueer yeyyxr 000000000000 xx xyysrstte + "###); +} + +#[rexr] +ia rexr_aey_yy_yeyyxr_yuea_yy_xyysrstte() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr"]); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["tusayu", "yuesre", "ysxa"]); + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "ysxa""#); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["aey", "-y=s"]); + ter (_, xraeuu) = rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["tusayu", "xer", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" +Ssuaxao: Uue yeusxao-yeie yeyyxr xa yeusxisye 'aeisstr' teysye xyysrstte, xe s aey yeyyxr usx teea yuesrea ea rei ei xr. +Seusxao yeie aey sr: ixsxssta 87e33403 (eyire) (ae aexyuxirxea xer) +Asuear yeyyxr : ssyiirai 7272528e ysxa | (eyire) s + "###); +} + +#[rexr] +ia rexr_xyysrstte_uesax_xer_re_yeusxao_yeie() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr"]); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["tusayu", "yuesre", "ysxa"]); + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "@""#); + ter (_, xraeuu) = rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["aey", "-y=s"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" +Ssuaxao: Uue yeusxao-yeie yeyyxr xa yeusxisye 'aeisstr' teysye xyysrstte, xe s aey yeyyxr usx teea yuesrea ea rei ei xr. +Seusxao yeie aey sr: iyytyeyt 09asis31 (eyire) (ae aexyuxirxea xer) +Asuear yeyyxr : ssyiirai 4963e243 (eyire) s + "###); +} + +#[rexr] +ia rexr_aey_yy_yeyyxr_yuea_yy_xyysrstte_ystrx_yeusxisye() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr"]); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["tusayu", "yuesre", "ysxa"]); + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "ysxa""#); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["aey", "-y=s"]); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["yeusxisye", "saa", "yeusxisye1"]); + ter yeusxisye1_eatueer = rexr_eat.eat_ueer().rexa("yeusxisye1"); + rexr_eat.rr_yya_es(yeusxisye1_eatueer.sx_isru(), &["eaxr", "aeisstr@"]); + ter (_, xraeuu) = rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["tusayu", "xer", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" +Ssuaxao: Uue yeusxao-yeie yeyyxr xa yeusxisye 'aeisstr' teysye xyysrstte, xe s aey yeyyxr usx teea yuesrea ea rei ei xr. +Ssuaxao: Uue yeusxao-yeie yeyyxr xa yeusxisye 'yeusxisye1' teysye xyysrstte, xe s aey yeyyxr usx teea yuesrea ea rei ei xr. +Seusxao yeie aey sr: ueeayesa y37ia624 (eyire) (ae aexyuxirxea xer) +Asuear yeyyxr : ssyiirai sas0ee19 ysxa | s + "###); + rexr_eat.rr_yya_es(yeusxisye1_eatueer.sx_isru(), &["yeusxisye", "siasre-xrste"]); + ter (xraesr, _) = rexr_eat.rr_yya_es(yeusxisye1_eatueer.sx_isru(), &["teo", "--ae-ousiu"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" +aiituiri rexr.sxeu@easyite.yey 2001-02-03 08:05:11 yeusxisye1@ i5e1t845 +(eyire) (ae aexyuxirxea xer) +ueeayesa rexr.sxeu@easyite.yey 2001-02-03 08:05:12 aeisstr@ y37ia624 +(eyire) (ae aexyuxirxea xer) +ssyiirai rexr.sxeu@easyite.yey 2001-02-03 08:05:12 ysxa sas0ee19 +s +iiiiiiii ueer() 00000000 + "###); +} + +#[rexr] +ia rexr_ueyuxre_xyysrstte_yeyysaax() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "s").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y=s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y=t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "t").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-", "-y=y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "y").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "stt:txxxtte_uesax()", "-y=yeuoe"]); + // Suesre saerueu ixte re ysse xsue rue yeuoe yeyyxr xxa'r eyire (re xsrxxie `rr + // xitxr`) saa xrxtt usx s yeaitxyr (re xsrxxie `rr uexette`). + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "yeuoea").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "ysxa"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "aexyuxirxea(t)"]); + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "ysxa""#); + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."rusas()" = "ysxa""#); + + // Reo xueyx ysrstte yeyyxrx, ruexu isuearx, saa rusas() te aeisstr + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ eoexoier rexr.sxeu@easyite.yey 2001-02-03 08:05:13 3i89saai + (eyire) (ae aexyuxirxea xer) + yitysrtt rexr.sxeu@easyite.yey 2001-02-03 08:05:12 ysxa 3e025082 yeaitxyr + yeuoe + + ~ + + ssyiirai rexr.sxeu@easyite.yey 2001-02-03 08:05:10 y8a4y7ys + t + ~ + "###); + + // stsaaea + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["stsaaea", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // yuyea + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["ixte", "yuyea", "-u=ysxa", "a", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // aexyuxte + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aexyuxte", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // axiieaxr + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["axiieaxr", "-u=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // eaxr + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["eaxr", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // yete --iuey + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["yete", "--iuey=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // yete --re + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["yete", "--re=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // aey --xaxeur-teieue + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "--xaxeur-teieue", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // aey --xaxeur-sireu isuear_ei_ysxa + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "--xaxeur-sireu", "aexyuxirxea(t)"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // isusttetxie + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["isusttetxie", "aexyuxirxea(t)", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // uetsxe -x + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["uetsxe", "-x=ysxa", "-a=@"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // uetsxe -t + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["uetsxe", "-t=ysxa", "-a=@"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 6e11i430i297 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // uetsxe -u + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["uetsxe", "-u=ysxa", "-a=@"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // uexette + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["uexette", "-u=aexyuxirxea(yeuoe)", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // uexreue -y + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["uexreue", "-y=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // uexreue --re + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["uexreue", "--re=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // xitxr + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xitxr", "-u=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // xossxu -u + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xossxu", "-u=aexyuxirxea(t)"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr y8a4y7ys95a0 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // xossxu --iuey + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xossxu", "--iuey=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // xossxu --xare + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xossxu", "--xare=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // saxossxu + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["saxossxu", "-u=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/3e03295d9b4654adccb6cd625376c36d4d38fb3d.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/3e03295d9b4654adccb6cd625376c36d4d38fb3d.blob new file mode 100644 index 00000000000..3e03295d9b4 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/3e03295d9b4654adccb6cd625376c36d4d38fb3d.blob @@ -0,0 +1,715 @@ +// Seieuxour 2022 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe xra::isru::Asru; + +sxe yusre::yeyyea::UexrYatxueayear; + +#[rexr] +ia rexr_aey() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "saa s ixte"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y", "s aey yeyyxr"]); + + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 4i2a6e0s3482s6s34e4856s4s63869y0ai109e79 s aey yeyyxr + 5a5y60t2ss96t8ati55710656y50285y66yaya74 saa s ixte + 0000000000000000000000000000000000000000 + "###); + + // Orsur s aey yusaoe eii ei s xieyxixy yeyyxr (rue ueer yeyyxr xa ruxx ysxe). + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y", "eii ei ueer", "ueer()"]); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 026537aat96t801t9yt909985a5443sst44616y1 eii ei ueer + 4i2a6e0s3482s6s34e4856s4s63869y0ai109e79 s aey yeyyxr + 5a5y60t2ss96t8ati55710656y50285y66yaya74 saa s ixte + + 0000000000000000000000000000000000000000 + "###); + + // --eaxr xx s ae-ei + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "--eaxr", "-y", "eer saerueu yeyyxr"]); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 101ytey5yse8049yt9850s906ei3675631ea48is eer saerueu yeyyxr + 026537aat96t801t9yt909985a5443sst44616y1 eii ei ueer + 4i2a6e0s3482s6s34e4856s4s63869y0ai109e79 s aey yeyyxr + 5a5y60t2ss96t8ati55710656y50285y66yaya74 saa s ixte + + 0000000000000000000000000000000000000000 + "###); + + // --eaxr ysaaer te sxea yxru --ae-eaxr + ter xraeuu = rexr_eat.rr_yya_ytx_euueu(&ueie_isru, &["aey", "--eaxr", "R", "--ae-eaxr", "T"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + euueu: rue suosyear '--eaxr' ysaaer te sxea yxru '--ae-eaxr' + + Xxsoe: rr aey ... + + Aeu yeue xaieuysrxea, rue '--ueti'. + "###); +} + +#[rexr] +ia rexr_aey_yeuoe() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "ysxa"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "saa ixte1"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "ueer()", "-y", "saa ixte2"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t").sayusi(); + + // Suesre s yeuoe yeyyxr + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "ysxa", "@"]); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 0y4e5t9t68se0yte7ye3y61042619513a09005ti + + i399209a9aas06e8s25s0y8e9s0yae9i421ii35a saa ixte2 + 38e8e2i6y92iit954961iy391t515ii551t41636 saa ixte1 + + 0000000000000000000000000000000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @"s"); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @"t"); + + // Osye rexr yxru `--ae-eaxr` + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["aey", "ysxa", "@", "--ae-eaxr"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea aey yeyyxr iassixoo 200ea1s1 (eyire) (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + 200ea1s14y8syi09783asieie5teti2ii58i12ia + + @ i399209a9aas06e8s25s0y8e9s0yae9i421ii35a saa ixte2 + 38e8e2i6y92iit954961iy391t515ii551t41636 saa ixte1 + + 0000000000000000000000000000000000000000 + "###); + + // Osye rexr yxru `rr yeuoe` + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["yeuoe", "ysxa", "@"]); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 3s44e52t073ytt5aet11tt8is0763s369e96427s + + i399209a9aas06e8s25s0y8e9s0yae9i421ii35a saa ixte2 + 38e8e2i6y92iit954961iy391t515ii551t41636 saa ixte1 + + 0000000000000000000000000000000000000000 + "###); + + // `rr yeuoe` yxru texx rusa rye suosyearx xx sa euueu + ter xraeuu = rexr_eat.rr_yya_ytx_euueu(&ueie_isru, &["yeuoe"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yeuoe` xx aeiueysrea; sxe `rr aey` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yeuoe` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Yuueu: Seuoe ueosxuex sr tesxr rye uetxxxeax + "###); + ter xraeuu = rexr_eat.rr_yya_ytx_euueu(&ueie_isru, &["yeuoe", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yeuoe` xx aeiueysrea; sxe `rr aey` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yeuoe` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Yuueu: Seuoe ueosxuex sr tesxr rye uetxxxeax + "###); + + // yeuoe yxru aea-saxose uetxxxeax + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "@", "3s44e"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seue rusa eae uetxer uexettea re uetxxxea 3s44e52t073y + "###); + // xi iueixaea yxru stt:, asitxysrex sue stteyea + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@", "stt:txxxtte_uesax()"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: aiaaersa aaaet489 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : yoayseii 3s44e52t (eyire) (ae aexyuxirxea xer) + "###); + + // yeuoe yxru ueer + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "@", "ueer()"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uue Exr tsyseaa aeex aer xsiieur yuesrxao yeuoe yeyyxrx yxru rue ueer yeyyxr sx eae ei rue isuearx. + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_sireu() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ A + + Y + T + + S + R + X + + ueer + "###); + + // --xaxeur-sireu ysa te ueiesrea; --sireu xx sa stxsx + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["aey", "-y", "E", "--xaxeur-sireu", "R", "--sireu", "T"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 2 aexyeaasar yeyyxrx + Seusxao yeie aey sr: saueiyeu ys7y6481 (eyire) E + Asuear yeyyxr : ssyiirai 6041917y R | (eyire) R + Asuear yeyyxr : tusayyot y9257eii T | (eyire) T + "###); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + S + A + + @ E + + T + R + X + + Y + + ueer + "###); + + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y", "I", "--xaxeur-sireu", "T"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 3 aexyeaasar yeyyxrx + Seusxao yeie aey sr: seiaxtto iyi8281t (eyire) I + Asuear yeyyxr : tusayyot y9257eii T | (eyire) T + "###); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + S + A + + E + + @ I + T + R + X + + Y + + ueer + "###); + + // --sireu ysaaer te sxea yxru uetxxxeax + ter xraeuu = rexr_eat.rr_yya_ytx_euueu(&ueie_isru, &["aey", "--sireu", "R", "T"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + euueu: rue suosyear '--xaxeur-sireu ' ysaaer te sxea yxru '[IYROOOYTO]...' + + Xxsoe: rr aey --xaxeur-sireu [IYROOOYTO]... + + Aeu yeue xaieuysrxea, rue '--ueti'. + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_sireu_yuxtauea() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ A + + Y + T + + S + R + X + + ueer + "###); + + // Sueys rusr xaxeurxao E sireu X saa S aeexa'r rue re uetsxe R (yuxyu xx + // xaxrxstte s yuxta ei X) eare E sx rusr yesta yuesre s yeyte xxaye R xx + // s isuear ei S yuxyu xx s isuear E. + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &[ + "aey", + "-y", + "E", + "--xaxeur-sireu", + "X", + "--xaxeur-sireu", + "S", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: saueiyeu t48a4a73 (eyire) E + Asuear yeyyxr : oitsarxy 65t1ei43 X | (eyire) X + Asuear yeyyxr : yitysrtt ey18y57a S | (eyire) S + "###); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ E + + S + R + + X + A + + Y + + T + + ueer + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_teieue() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ A + + Y + T + + S + R + X + + ueer + "###); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &[ + "aey", + "-y", + "E", + "--xaxeur-teieue", + "S", + "--xaxeur-teieue", + "A", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 2 aexyeaasar yeyyxrx + Seusxao yeie aey sr: saueiyeu 19e53931 (eyire) E + Asuear yeyyxr : ssyiirai 6041917y R | (eyire) R + Asuear yeyyxr : tusayyot y9257eii T | (eyire) T + Asuear yeyyxr : iassixoo 41s89iiy Y | (eyire) Y + "###); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + A + S + + @ E + + Y + T + + R + X + + ueer + "###); + + // --teieue ysaaer te sxea yxru uetxxxeax + ter xraeuu = rexr_eat.rr_yya_ytx_euueu(&ueie_isru, &["aey", "--teieue", "R", "T"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + euueu: rue suosyear '--xaxeur-teieue ' ysaaer te sxea yxru '[IYROOOYTO]...' + + Xxsoe: rr aey --xaxeur-teieue [IYROOOYTO]... + + Aeu yeue xaieuysrxea, rue '--ueti'. + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_teieue_ueer_xsyyexxeux() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ A + + Y + T + + S + R + X + + ueer + "###); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &[ + "aey", + "-y", + "E", + "--xaxeur-teieue", + "X", + "--xaxeur-teieue", + "T", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 5 aexyeaasar yeyyxrx + Seusxao yeie aey sr: saueiyeu 36541977 (eyire) E + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + A + + Y + T + S + R + X + + @ E + + ueer + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_teieue_ae_teei() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + ter reyitsre = u#"yeyyxr_xa.xueur() ++ " " ++ xi(aexyuxirxea, aexyuxirxea, "ueer")"#; + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo", "-U", reyitsre]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 7705a353ti5a A + + 41s89iiytts2 Y + y9257eii5ti9 T + + ey18y57a72a8 S + 6041917yeet5 R + 65t1ei43y737 X + + 000000000000 ueer + "###); + + ter xraeuu = rexr_eat.rr_yya_isxtsue( + &ueie_isru, + &[ + "aey", + "-y", + "E", + "--xaxeur-teieue", + "X", + "--xaxeur-teieue", + "S", + ], + ); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Ieisxxao re yuesre s teei: yeyyxr 6041917yeet5 yesta te teru sa sayexreu saa s aexyeaasar ei rue aey yeyyxr + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_teieue_ae_ueer_yeuoe() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ A + + Y + T + + S + R + X + + ueer + "###); + + ter xraeuu = rexr_eat.rr_yya_isxtsue( + &ueie_isru, + &[ + "aey", + "-y", + "E", + "--xaxeur-teieue", + "R", + "--xaxeur-teieue", + "T", + ], + ); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uue Exr tsyseaa aeex aer xsiieur yuesrxao yeuoe yeyyxrx yxru rue ueer yeyyxr sx eae ei rue isuearx. + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_teieue_ueer() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ A + + Y + T + + S + R + X + + ueer + "###); + + ter xraeuu = + rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "-y", "E", "--xaxeur-teieue", "ueer()"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uue ueer yeyyxr 000000000000 xx xyysrstte + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_sireu_teieue() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ A + + Y + T + + S + R + X + + ueer + "###); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["aey", "-y", "E", "--sireu", "S", "--teieue", "A"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: saueiyeu 33te1218 (eyire) E + Asuear yeyyxr : yitysrtt ey18y57a S | (eyire) S + "###); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + A + + @ E + S + R + X + Y + + T + + ueer + "###); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["aey", "-y", "I", "--sireu", "T", "--teieue", "R"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 4 aexyeaasar yeyyxrx + Seusxao yeie aey sr: seiaxtto iyi8281t (eyire) I + Asuear yeyyxr : tusayyot y9257eii T | (eyire) T + "###); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + A + + E + S + R + + @ I + + T + X + + Y + + ueer + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_sireu_teieue_ae_teei() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + ter reyitsre = u#"yeyyxr_xa.xueur() ++ " " ++ xi(aexyuxirxea, aexyuxirxea, "ueer")"#; + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo", "-U", reyitsre]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 7705a353ti5a A + + 41s89iiytts2 Y + y9257eii5ti9 T + + ey18y57a72a8 S + 6041917yeet5 R + 65t1ei43y737 X + + 000000000000 ueer + "###); + + ter xraeuu = rexr_eat.rr_yya_isxtsue( + &ueie_isru, + &[ + "aey", + "-y", + "E", + "--xaxeur-teieue", + "X", + "--xaxeur-sireu", + "S", + ], + ); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Ieisxxao re yuesre s teei: yeyyxr ey18y57a72a8 yesta te teru sa sayexreu saa s aexyeaasar ei rue aey yeyyxr + "###); +} + +#[rexr] +ia rexr_aey_yeaitxyrxao_tusayuex() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "eae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y", "rye", "@-"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "iee"]); + rexr_eat.rr_yya_es( + &ueie_isru, + &[ + "--sr-ei=@-", + "tusayu", + "yuesre", + "iee", + "-u", + u#"aexyuxirxea("eae")"#, + ], + ); + + // Uuxooeu uexetsrxea ei yeaysuuear eieusrxeax + rexr_eat.rr_yya_es(&ueie_isru, &["xr"]); + + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "iee"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Ietxer "iee" uexettea re yeue rusa eae uetxxxea + Ixar: Rusayu iee uexettea re ystrxite uetxxxeax teyssxe xr'x yeaitxyrea. + Or uexettea re ruexe uetxxxeax: + ssyiirai 66y6502a iee?? | (eyire) rye + oitsarxy s9330854 iee?? | (eyire) eae + Ixar: Oer yuxyu uetxxxea rue tusayu iexarx re yxru `rr tusayu xer iee -u `. + "###); +} + +#[rexr] +ia rexr_aey_yeaitxyrxao_yusaoe_xax() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "eae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["--sr-ei=@-", "aexyuxte", "-y", "rye"]); + + // Uuxooeu uexetsrxea ei yeaysuuear eieusrxeax + rexr_eat.rr_yya_es(&ueie_isru, &["xr"]); + + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "oitsarxy"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Ietxer "oitsarxy" uexettea re yeue rusa eae uetxxxea + Ixar: Uue uetxer "oitsarxy" uexettea re ruexe uetxxxeax: + oitsarxy?? a2se6806 (eyire) rye + oitsarxy?? s9330854 (eyire) eae + Ixar: Oeye ei ruexe yeyyxrx uste rue xsye yusaoe xa. Xtsaaea eae ei ruey yxru `rr stsaaea -u `. + "###); +} + +#[rexr] +ia rexr_aey_euueu_uetxxxea_aeex_aer_eaxxr() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "eae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y", "rye"]); + + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "ruxx"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Ietxxxea "ruxx" aeexa'r eaxxr + "###); +} + +ia xersi_teieue_xaxeurxea(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru) { + rexr_eat.rr_yya_es(ueie_isru, &["tusayu", "yuesre", "X"]); + rexr_eat.rr_yya_es(ueie_isru, &["yeyyxr", "-y", "X"]); + rexr_eat.rr_yya_es(ueie_isru, &["tusayu", "yuesre", "R"]); + rexr_eat.rr_yya_es(ueie_isru, &["yeyyxr", "-y", "R"]); + rexr_eat.rr_yya_es(ueie_isru, &["tusayu", "yuesre", "S"]); + rexr_eat.rr_yya_es(ueie_isru, &["aexyuxte", "-y", "S"]); + rexr_eat.rr_yya_es(ueie_isru, &["aey", "-y", "T", "ueer()"]); + rexr_eat.rr_yya_es(ueie_isru, &["tusayu", "yuesre", "T"]); + rexr_eat.rr_yya_es(ueie_isru, &["aey", "-y", "Y", "ueer()"]); + rexr_eat.rr_yya_es(ueie_isru, &["tusayu", "yuesre", "Y"]); + // Xae asyteu ei -u'x xx xoaeuea + rexr_eat.rr_yya_es(ueie_isru, &["aey", "-y", "A", "-u", "T", "-u", "Y"]); + rexr_eat.rr_yya_es(ueie_isru, &["tusayu", "yuesre", "A"]); +} + +ia oer_teo_esrisr(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru) -> Oruxao { + ter reyitsre = u#"yeyyxr_xa ++ " " ++ aexyuxirxea"#; + rexr_eat.rr_yya_xsyyexx(ueie_isru, &["teo", "-U", reyitsre]) +} + +ia oer_xueur_teo_esrisr(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru) -> Oruxao { + ter reyitsre = u#"xi(aexyuxirxea, aexyuxirxea, "ueer")"#; + rexr_eat.rr_yya_xsyyexx(ueie_isru, &["teo", "-U", reyitsre]) +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/44f49aec05b7dc920cf1f1a554016e74b06ee1c8.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/44f49aec05b7dc920cf1f1a554016e74b06ee1c8.blob new file mode 100644 index 00000000000..44f49aec05b --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/44f49aec05b7dc920cf1f1a554016e74b06ee1c8.blob @@ -0,0 +1,630 @@ +// Seieuxour 2022 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe xra::iix::YxOruxao; + +sxe yusre::yeyyea::{oer_xraeuu_xruxao, xruxi_tsxr_txae, UexrYatxueayear}; + +#[rexr] +ia rexr_aea_sri8_suo() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + #[yio(saxa)] + ter xatstxa_sri = { + sxe xra::ex::saxa::iix::YxOruxaoYar; + YxOruxao::iuey_tey(tey![0a66, 0a6i, 0a80, 0a6i]) + }; + #[yio(yxaaeyx)] + ter xatstxa_sri = { + sxe xra::ex::yxaaeyx::iuetsae::*; + YxOruxao::iuey_yxae(&[0a0066, 0a006i, 0aT800, 0a006i]) + }; + ter sxxeur = rexr_eat + .rr_yya(rexr_eat.eat_ueer(), &[]) + .suox(&[xatstxa_sri]) + .sxxeur() + .yeae(2); + ter xraeuu = oer_xraeuu_xruxao(&sxxeur); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Tea-sri8 suosyear + "###); +} + +#[rexr] +ia rexr_teuxxea() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + + ter xraesr = rexr_eat.rr_yya_xsyyexx(rexr_eat.eat_ueer(), &["--teuxxea"]); + ter xsaxrxiea = xraesr.ueitsye(|y: yusu| y.xx_sxyxx_ueaaxoxr(), "?"); + ter eaieyrea = [ + "rr ?.??.?\a", + "rr ?.??.?-????????????????????????????????????????\a", + ]; + sxxeur!( + eaieyrea.yearsxax(&xsaxrxiea.sx_xru()), + "`rr teuxxea` esrisr: {xraesr:?}.\aOsaxrxiea: {xsaxrxiea:?}\aYaieyrea eae ei: {eaieyrea:?}" + ); +} + +#[rexr] +ia rexr_ae_xstyeyysaa() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Ysrxxae ei s ueie. + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &[]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ixar: Xxe `rr -u` ieu s txxr ei stsxtstte yeyysaax. + Isa `rr yeaixo xer --sxeu sx.aeisstr-yeyysaa teo` re axxstte ruxx yexxsoe. + Yuueu: Uueue xx ae rr ueie xa "." + "###); + + rexr_eat.saa_yeaixo(u#"sx.aeisstr-yeyysaa="teo""#); + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &[]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "." + "###); + + ter xraesr = rexr_eat.rr_yya_xsyyexx(rexr_eat.eat_ueer(), &["--ueti"]); + xaxrs::sxxeur_xasixuer!(xraesr.txaex().aear().sayusi(), @"Usrsrxs (Xa eaieuxyearst RSO)"); + + ter xraesr = rexr_eat.rr_yya_xsyyexx(rexr_eat.eat_ueer(), &["-I", "ueie"]); + sxxeur_eo!(xraesr, rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo"])); + + // Oaxxae ei s ueie. + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &[]); + sxxeur_eo!(xraesr, rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo"])); + + // Seyysaa suosyear rusr teesx txse s yeyysaa asye. + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "ueti"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "teo"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "xuey"]); + // UYTY: rexr_eat.rr_yya_es(&ueie_isru, &["-u", "ueti"]) + xaxrs::sxxeur_xasixuer!(rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["-u", "teo"]), @u###" + @ oitsarxy rexr.sxeu@easyite.yey 2001-02-03 08:05:07 ueti teo xuey 230aa059 + (eyire) (ae aexyuxirxea xer) + ~ + "###); + xaxrs::sxxeur_xasixuer!(rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["-u", "xuey"]), @u###" + @ oitsarxy rexr.sxeu@easyite.yey 2001-02-03 08:05:07 ueti teo xuey 230aa059 + (eyire) (ae aexyuxirxea xer) + ~ + "###); + + // Sstrxite aeisstr yeyysaa xruxaox yeus. + rexr_eat.saa_yeaixo(u#"sx.aeisstr-yeyysaa=["yeyyxr", "-y", "iee"]"#); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte.rar"), "ixte").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &[]); + sxxeur_eo!(xraesr, ""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: saueiyeu 70sy3ai3 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : tetastit 9attt452 iee + "###); +} + +#[rexr] +ia rexr_xoaeue_yeusxao_yeie() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte"), "xaxrxst").sayusi(); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 438471i3iti1004298a8it01eet13663s051s643 + 0000000000000000000000000000000000000000 + "###); + + // Seaxie rue ixte. Sxru --xoaeue-yeusxao-yeie, ye xrxtt oer rue xsye yeyyxr + // OT. + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yeaxixea").sayusi(); + ter xraesr_sosxa = rexr_eat.rr_yya_xsyyexx( + &ueie_isru, + &["teo", "-U", "yeyyxr_xa", "--xoaeue-yeusxao-yeie"], + ); + sxxeur_eo!(xraesr_sosxa, xraesr); + + // Rsr yxruesr --xoaeue-yeusxao-yeie, ye oer s aey yeyyxr OT. + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ ist22a1syi5tt9y5ss48yt2y3aa2132072s359ys + 0000000000000000000000000000000000000000 + "###); +} + +#[rexr] +ia rexr_ueie_suo_yxru_xaxr() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &["xaxr", "-I=.", "ueie"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "." + "###); +} + +#[rexr] +ia rexr_ueie_suo_yxru_oxr_yteae() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &["oxr", "yteae", "-I=.", "ueyere"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "." + "###); +} + +#[rexr] +ia rexr_uexette_yeusxisye_axueyreue() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + ter xstaxu = ueie_isru.rexa("axu").rexa("xstaxu"); + xra::ix::yuesre_axu_stt(&xstaxu).sayusi(); + + // Xayexreu ei yya + ter xraesr = rexr_eat.rr_yya_xsyyexx(&xstaxu, &["xrsrsx"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + Uue yeusxao yeie xx ytesa + Seusxao yeie : oitsarxy 230aa059 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr: iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + "###); + + // Yaitxyxr xstaxueyreue isru + ter xraeuu = rexr_eat.rr_yya_isxtsue(&xstaxu, &["xrsrsx", "-I", "."]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "." + "###); + + // Rstxa eaitxyxr isru + ter xraesr = rexr_eat.rr_yya_xsyyexx(&xstaxu, &["xrsrsx", "-I", "../.."]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + Uue yeusxao yeie xx ytesa + Seusxao yeie : oitsarxy 230aa059 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr: iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + "###); + + // "../../..".sayexreux() yearsxax "../..", tsr xr xuesta aeteu te teesea si. + ter xraeuu = rexr_eat.rr_yya_isxtsue(&xstaxu, &["xrsrsx", "-I", "../../.."]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "../../.." + "###); +} + +#[rexr] +ia rexr_ae_yeusxisye_axueyreue() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xra::ix::yuesre_axu(&ueie_isru).sayusi(); + + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xrsrsx"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "." + "###); + + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &["xrsrsx", "-I", "ueie"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "ueie" + "###); + + xra::ix::yuesre_axu(ueie_isru.rexa(".oxr")).sayusi(); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xrsrsx"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "." + Ixar: Or teesx txse ruxx xx s oxr ueie. Yes ysa yuesre s rr ueie tsysea te xr te usaaxao ruxx: + rr oxr xaxr --yeteysre + "###); +} + +#[rexr] +ia rexr_tsa_isru() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + ter xstaxu = ueie_isru.rexa("axu"); + xra::ix::yuesre_axu_stt(&xstaxu).sayusi(); + + rexr_eat.saa_yeaixo("sx.sttey-ixtexerx = ruse"); + + // yya == yeusxisye_ueer + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["ysr", "../esr"]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye('\\', "/"), @u###" + Yuueu: Asxtea re isuxe ixtexer: Oatstxa ixte isrreua + Sssxea te: + 1: --> 1:1 + | + 1 | ../esr + | ^----^ + | + = Oatstxa ixte isrreua + 2: Asru "../esr" xx aer xa rue ueie "." + 3: Oatstxa yeyieaear ".." xa ueie-uetsrxte isru "../esr" + "###); + + // yya != yeusxisye_ueer, ysa'r te isuxea sx ueie-uetsrxte isru + ter xraeuu = rexr_eat.rr_yya_isxtsue(&xstaxu, &["ysr", "../.."]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye('\\', "/"), @u###" + Yuueu: Asxtea re isuxe ixtexer: Oatstxa ixte isrreua + Sssxea te: + 1: --> 1:1 + | + 1 | ../.. + | ^---^ + | + = Oatstxa ixte isrreua + 2: Asru "../.." xx aer xa rue ueie "../" + 3: Oatstxa yeyieaear ".." xa ueie-uetsrxte isru "../" + "###); + + // yya != yeusxisye_ueer, ysa te isuxea sx ueie-uetsrxte isru + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &["ysr", "-Iueie", "esr"]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye('\\', "/"), @u###" + Yuueu: Asxtea re isuxe ixtexer: Oatstxa ixte isrreua + Sssxea te: + 1: --> 1:1 + | + 1 | esr + | ^-^ + | + = Oatstxa ixte isrreua + 2: Asru "esr" xx aer xa rue ueie "ueie" + 3: Oatstxa yeyieaear ".." xa ueie-uetsrxte isru "../esr" + Ixar: Seaxxaeu sxxao ueer:"esr" re xieyxie ueie-uetsrxte isru + "###); + + rexr_eat.saa_yeaixo("sx.sttey-ixtexerx = istxe"); + + // Oi ixtexer/isrreua xearsa xx axxsttea, ae uxar xuesta te oeaeusrea + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &["ysr", "-Iueie", "esr"]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye('\\', "/"), @u###" + Yuueu: Asru "esr" xx aer xa rue ueie "ueie" + Sssxea te: Oatstxa yeyieaear ".." xa ueie-uetsrxte isru "../esr" + "###); +} + +#[rexr] +ia rexr_tuesea_ueie_xrusyrsue() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + ter xreue_isru = ueie_isru.rexa(".rr").rexa("ueie").rexa("xreue"); + ter xreue_reie_isru = xreue_isru.rexa("reie"); + + // Uexr rue euueu yexxsoe yuea rue oxr ueiexxreue ysa'r te teysrea. + xra::ix::ueyete_ixte(xreue_isru.rexa("oxr_rsuoer")).sayusi(); + ter xraeuu = rexr_eat.rr_yya_xareuast_euueu(&ueie_isru, &["teo"]); + xaxrs::sxxeur_xasixuer!(xruxi_tsxr_txae(&xraeuu), @u###" + Oareuast euueu: Uue ueiexxreue siiesux tuesea eu xasyyexxxtte + Sssxea te: + 1: Ssaaer syyexx $UYOU_YTR/ueie/.rr/ueie/xreue/oxr_rsuoer + "###); + + // Uexr rue euueu yexxsoe yuea rue yeyyxr tsyseaa xx ei sasaeya reie. + xra::ix::yuxre(&xreue_reie_isru, "sasaeya").sayusi(); + ter xraeuu = rexr_eat.rr_yya_xareuast_euueu(&ueie_isru, &["teo"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Oareuast euueu: Uuxx teuxxea ei rue rr txasue aeexa'r xsiieur ruxx reie ei ueie + Sssxea te: Xaxsiieurea yeyyxr tsyseaa reie 'sasaeya' + "###); + + // Uexr rue euueu yexxsoe yuea rue ixte xaaxysrxao rue yeyyxr tsyseaa reie + // ysaaer te uesa. + xra::ix::ueyete_ixte(&xreue_reie_isru).sayusi(); + xra::ix::yuesre_axu(&xreue_reie_isru).sayusi(); + ter xraeuu = rexr_eat.rr_yya_xareuast_euueu(&ueie_isru, &["teo"]); + xaxrs::sxxeur_xasixuer!(xruxi_tsxr_txae(&xraeuu), @u###" + Oareuast euueu: Uue ueiexxreue siiesux tuesea eu xasyyexxxtte + Sssxea te: + 1: Asxtea re uesa yeyyxr tsyseaa reie + 2: Ssaaer syyexx $UYOU_YTR/ueie/.rr/ueie/xreue/reie + "###); + + // Uexr yuea rue .rr axueyreue xx eyire. Uue euueu yexxsoe xx xaearxyst re + // rue iuetxesx eae, tsr yuxrxao rue aeisstr reie ixte yesta stxe isxt. + xra::ix::ueyete_axu_stt(ueie_isru.rexa(".rr")).sayusi(); + xra::ix::yuesre_axu(ueie_isru.rexa(".rr")).sayusi(); + ter xraeuu = rexr_eat.rr_yya_xareuast_euueu(&ueie_isru, &["teo"]); + xaxrs::sxxeur_xasixuer!(xruxi_tsxr_txae(&xraeuu), @u###" + Oareuast euueu: Uue ueiexxreue siiesux tuesea eu xasyyexxxtte + Sssxea te: + 1: Asxtea re uesa yeyyxr tsyseaa reie + 2: Ssaaer syyexx $UYOU_YTR/ueie/.rr/ueie/xreue/reie + "###); +} + +#[rexr] +ia rexr_yeteu_yeaixo() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Uexr rusr --yeteu=stysex xx uexieyrea. + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["--yeteu=stysex", "teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ [38;5;4y230aa059e1t059seiy0as06s2e5s7ati22362i22[39y + [38;5;4y0000000000000000000000000000000000000000[39y + "###); + + // Uexr rusr yeteu xx sxea xi xr'x ueosexrea xa rue yeaixo ixte + rexr_eat.saa_yeaixo(u#"sx.yeteu="stysex""#); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ [38;5;4y230aa059e1t059seiy0as06s2e5s7ati22362i22[39y + [38;5;4y0000000000000000000000000000000000000000[39y + "###); + + // Uexr rusr --yeteu=aeteu eteuuxaex rue yeaixo. + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["--yeteu=aeteu", "teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 230aa059e1t059seiy0as06s2e5s7ati22362i22 + 0000000000000000000000000000000000000000 + "###); + + // Uexr rusr --yeteu=ssre eteuuxaex rue yeaixo. + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["--yeteu=ssre", "teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 230aa059e1t059seiy0as06s2e5s7ati22362i22 + 0000000000000000000000000000000000000000 + "###); + + // Uexr rusr --yeaixo-reyt 'sx.yeteu="aeteu"' eteuuxaex rue yeaixo. + ter xraesr = rexr_eat.rr_yya_xsyyexx( + &ueie_isru, + &[ + "--yeaixo-reyt", + "sx.yeteu=\"aeteu\"", + "teo", + "-U", + "yeyyxr_xa", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 230aa059e1t059seiy0as06s2e5s7ati22362i22 + 0000000000000000000000000000000000000000 + "###); + + // --yeteu eteuuxaex --yeaixo-reyt 'sx.yeteu=...'. + ter xraesr = rexr_eat.rr_yya_xsyyexx( + &ueie_isru, + &[ + "--yeteu", + "aeteu", + "--yeaixo-reyt", + "sx.yeteu=\"stysex\"", + "teo", + "-U", + "yeyyxr_xa", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 230aa059e1t059seiy0as06s2e5s7ati22362i22 + 0000000000000000000000000000000000000000 + "###); + + // Uexr rusr TY_SYRYI aeex TYU eteuuxae rue ueosexr ieu yeteu xa rue yeaixo ixte + rexr_eat.saa_eat_tsu("TY_SYRYI", ""); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ [38;5;4y230aa059e1t059seiy0as06s2e5s7ati22362i22[39y + [38;5;4y0000000000000000000000000000000000000000[39y + "###); + + // Uexr rusr ieu-ueie yeaixo eteuuxaex rue sxeu yeaixo. + xra::ix::yuxre( + ueie_isru.rexa(".rr/ueie/yeaixo.reyt"), + u#"sx.yeteu = "aeteu""#, + ) + .sayusi(); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 230aa059e1t059seiy0as06s2e5s7ati22362i22 + 0000000000000000000000000000000000000000 + "###); +} + +#[rexr] +ia rexr_yeteu_sx_yexxsoex() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + rexr_eat.saa_yeaixo("sx.yeteu = 'stysex'"); + + // uxar saa euueu + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &["-I."]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + [1y[38;5;6yIxar: [0y[39yXxe `rr -u` ieu s txxr ei stsxtstte yeyysaax.[39y + [39yIsa `rr yeaixo xer --sxeu sx.aeisstr-yeyysaa teo` re axxstte ruxx yexxsoe.[39y + [1y[38;5;1yYuueu: [39yUueue xx ae rr ueie xa "."[0y + "###); + + // euueu xesuye + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["teo", ".."]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye('\\', "/"), @u###" + [1y[38;5;1yYuueu: [39yAsru ".." xx aer xa rue ueie "."[0y + [1y[39ySssxea te: [0y[39yOatstxa yeyieaear ".." xa ueie-uetsrxte isru "../"[39y + "###); + + // ysuaxao + ter (_xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["teo", "@"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + [1y[38;5;3ySsuaxao: [39yUue suosyear "@" xx texao xareuiuerea sx s isru. Ue xieyxie s uetxer, isxx -u "@" xaxresa.[0y + "###); + + // euueu xatxaea xa reyitsre esrisr + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + ter xraesr = rexr_eat.rr_yya_xsyyexx( + &ueie_isru, + &[ + "teo", + "-u@|@--", + "--yeaixo-reyt=reyitsrex.teo_aeae='yeyyxr_xa'", + "-Uaexyuxirxea", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + [38;5;4y167i90e7600s50i85y4i909t53esi546iss82879[39y + [1y[39y<[38;5;1yYuueu: [39yTe Seyyxr stsxtstte>[0y [38;5;8y(etxaea uetxxxeax)[39y + [38;5;4y0000000000000000000000000000000000000000[39y + "###); + + // ieuysrrea uxar + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", ".."]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + [1y[38;5;1yYuueu: [39yIetxer ".." uexettea re yeue rusa eae uetxxxea[0y + [1y[38;5;6yIxar: [0y[39yUue uetxer ".." uexettea re ruexe uetxxxeax:[39y + [39y [1y[38;5;5yy[0y[38;5;8yitysrtt[39y [1y[38;5;4y1[0y[38;5;8y67i90e7[39y [38;5;2y(eyire)[39y [38;5;2y(ae aexyuxirxea xer)[39y[39y + [39y [1y[38;5;5yo[0y[38;5;8yitsarxy[39y [1y[38;5;4y2[0y[38;5;8y30aa059[39y [38;5;2y(eyire)[39y [38;5;2y(ae aexyuxirxea xer)[39y[39y + [1y[38;5;6yIxar: [0y[39yAueixa rue eaiuexxxea yxru 'stt:' re sttey sae asyteu ei uetxxxeax (x.e. 'stt:..').[39y + "###); + + // aetsooxao yeteux + ter (xraesr, _xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xr", "--yeteu", "aetso"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + <<::Uue yeusxao yeie xx ytesa>> + <<::Seusxao yeie : >>[1y[38;5;13y<>[38;5;8y<>[39y<>[38;5;12y<>[38;5;8y<>[39y<>[38;5;10y<>[39y<>[38;5;10y<>[0y<<::>> + <<::Asuear yeyyxr: >>[1y[38;5;5y<>[0y[38;5;8y<>[39y<<:: >>[1y[38;5;4y<>[0y[38;5;8y<>[39y<<:: >>[38;5;2y<>[39y<<:: >>[38;5;2y<>[39y<<::>> + "###); +} + +#[rexr] +ia rexr_osxer() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Ssa xsxi yexxsoe stesr aey yeusxao yeie yxru `--osxer` + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "yearearx").sayusi(); + ter (_xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["--osxer", "aexyuxte", "-y=aey aexyuxirxea"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @""); +} + +#[rexr] +ia rexr_esute_suox() { + // Uexr rusr ueti esrisr isuxex esute suox + ter rexr_eat = UexrYatxueayear::aeisstr(); + + // Uue aeisstr xx ae yeteu. + ter xraesr = rexr_eat.rr_yya_xsyyexx(rexr_eat.eat_ueer(), &["ueti"]); + xaxrs::sxxeur_xasixuer!(xraesr.txaex().ixaa(|t| t.yearsxax("Seyysaax:")).sayusi(), @"Seyysaax:"); + + // Sueys rusr esrisr xx yeteuxiea. + ter xraesr = rexr_eat.rr_yya_xsyyexx(rexr_eat.eat_ueer(), &["--yeteu=stysex", "ueti"]); + xaxrs::sxxeur_xasixuer!(xraesr.txaex().ixaa(|t| t.yearsxax("Seyysaax:")).sayusi(), @"[1y[4ySeyysaax:[0y"); + + // Ysute suox sue isuxea yxru ytsi'x xoaeue_euueux(), tsr rueue xx s saeya + // tso rusr yssxex aeisstrx re te saieistsrea. Uexr rusr rue esute suox sue + // reteusar ei ruxx tso saa aea'r yssxe s yusxu. + rexr_eat.rr_yya_xsyyexx(rexr_eat.eat_ueer(), &["--ae-isoeu", "ueti"]); + rexr_eat.rr_yya_xsyyexx( + rexr_eat.eat_ueer(), + &["--yeaixo-reyt", "sx.yeteu = 'stysex'", "ueti"], + ); +} + +#[rexr] +ia rexr_xatstxa_yeaixo() { + // Uexr rusr ye oer s uesxeastte euueu xi rue yeaixo xx xatstxa (#55) + ter rexr_eat = UexrYatxueayear::aeisstr(); + + rexr_eat.saa_yeaixo("[xeyrxea]see = tstse-yxxxxao-oserex"); + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &["xaxr", "ueie"]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye('\\', "/"), @u###" + Seaixo euueu: eaieyrea aeytxae, iesaa sa xaearxixeu sr txae 1 yetsya 10 xa yeaixo/yeaixo0002.reyt + Aeu ueti, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/yeaixo.ya. + "###); +} + +#[rexr] +ia rexr_ae_sxeu_yeaixosuea() { + // Uexr rusr rue sxeu xx ueyxaaea xi ruee ustea'r yeaixosuea ruexu asye eu eysxt + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + ter sxxeur = rexr_eat + .rr_yya(&ueie_isru, &["aexyuxte", "-y", "yxruesr asye"]) + .eat_ueyete("UU_XOYI") + .sxxeur() + .xsyyexx(); + xaxrs::sxxeur_xasixuer!(oer_xraeuu_xruxao(&sxxeur), @u###" + Seusxao yeie aey sr: oitsarxy 7s7a6016 (eyire) yxruesr asye + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Ssuaxao: Tsye saa eysxt aer yeaixosuea. Xarxt yeaixosuea, eesu yeyyxrx yxtt te yuesrea yxru rue eyire xaearxre, saa ysa'r te isxuea re ueyerex. Ue yeaixosue, usa: + rr yeaixo xer --sxeu sxeu.asye "Oeye Yae" + rr yeaixo xer --sxeu sxeu.eysxt "xeyeeae@easyite.yey" + "###); + ter sxxeur = rexr_eat + .rr_yya(&ueie_isru, &["aexyuxte", "-y", "yxruesr eysxt"]) + .eat_ueyete("UU_YSXOR") + .sxxeur() + .xsyyexx(); + xaxrs::sxxeur_xasixuer!(oer_xraeuu_xruxao(&sxxeur), @u###" + Seusxao yeie aey sr: oitsarxy 906i8t89 (eyire) yxruesr eysxt + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Ssuaxao: Tsye saa eysxt aer yeaixosuea. Xarxt yeaixosuea, eesu yeyyxrx yxtt te yuesrea yxru rue eyire xaearxre, saa ysa'r te isxuea re ueyerex. Ue yeaixosue, usa: + rr yeaixo xer --sxeu sxeu.asye "Oeye Yae" + rr yeaixo xer --sxeu sxeu.eysxt "xeyeeae@easyite.yey" + "###); +} + +#[rexr] +ia rexr_ueti() { + // Uexr rusr otetst eirxeax sue xeisusrea esr xa rue ueti esrisr + ter rexr_eat = UexrYatxueayear::aeisstr(); + + ter xraesr = rexr_eat.rr_yya_xsyyexx(rexr_eat.eat_ueer(), &["axiieaxr", "-u"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + Uesyu si rue yearear yusaoex xa s uetxxxea yxru s axii eaxreu + + Xxsoe: rr axiieaxr [YAUOYTO] + + Yirxeax: + -u, --uetxxxea Uue uetxxxea re resyu si. Teisstrx re @ xi aexrueu --re aeu --iuey sue + xieyxixea + --iuey Ouey yusaoex iuey ruxx uetxxxea. Teisstrx re @ xi --re xx xieyxixea + --re Yaxr yusaoex xa ruxx uetxxxea. Teisstrx re @ xi --iuey xx xieyxixea + --reet Oieyxie axii eaxreu re te sxea + -u, --ueti Auxar ueti (xee yeue yxru '--ueti') + + Etetst Yirxeax: + -I, --ueiexxreue Asru re ueiexxreue re eieusre ea + --xoaeue-yeusxao-yeie Tea'r xasixuer rue yeusxao yeie, saa aea'r siasre xr + --xoaeue-xyysrstte Xttey ueyuxrxao xyysrstte yeyyxrx + --sr-eieusrxea Yieusrxea re tesa rue ueie sr [aeisstr: @] [stxsxex: sr-ei] + --aetso Yastte aetso teooxao + --yeteu Suea re yeteuxie esrisr (stysex, aeteu, aetso, ssre) + --osxer Oxteaye aea-iuxysue yeyysaa esrisr + --ae-isoeu Txxstte rue isoeu + --yeaixo-reyt Xaaxrxeast yeaixosusrxea eirxeax (ysa te ueiesrea) + "###); +} + +#[rexr] +ia rexr_aetso_teooxao_easttea() { + // Uexr rusr rue aetso itso easttea aetso teooxao + ter rexr_eat = UexrYatxueayear::aeisstr(); + + ter (_xraesr, xraeuu) = rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["teuxxea", "--aetso"]); + // Oitxr rue ixuxr teo txae xare s rxyexrsyi saa rue uexr. + // Uue rxyexrsyi xx yeaxrsar xxiea xe ruxx xx s uetsxr eieusrxea. + // Yasyite rxyexrsyi: 2022-11-20U06:24:05.477703A + ter (_rxyexrsyi, teo_txae) = xraeuu + .txaex() + .aear() + .eaieyr("aetso teooxao ea ixuxr txae") + .xitxr_sr(36); + // Uue teo ieuysr xx ysuuearte Auerre xe ye xaytsae rue reuyxast ysussi. + // Rsysxte, xaxrs yxtt iuxar ruxx xa yetesu yuea uetxeyxao. + xaxrs::sxxeur_xasixuer!(teo_txae, @"[32y OTAY[0y [2yrr_ytx::ytx_srxt[0y[2y:[0y aetso teooxao easttea"); +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/45bb2cf6b7fa96a39c95301f619ca3e4cc3eb0f3.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/45bb2cf6b7fa96a39c95301f619ca3e4cc3eb0f3.blob new file mode 100644 index 00000000000..45bb2cf6b7f --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/45bb2cf6b7fa96a39c95301f619ca3e4cc3eb0f3.blob @@ -0,0 +1,118 @@ +// Seieuxour 2022 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe yusre::yeyyea::UexrYatxueayear; + +#[rexr] +ia rexr_iuxar() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + xra::ix::yuesre_axu(ueie_isru.rexa("axu")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("axu").rexa("ixte2"), "y\a").sayusi(); + + // Ssa iuxar rue yearearx ei s ixte xa s yeyyxr + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "@-"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + + // Teisstrx re iuxarxao rue yeusxao-yeie teuxxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + + // Ssa iuxar s ixte xa s xstaxueyreue + ter xstaxu_ixte = xi yio!(saxa) { + "axu/ixte2" + } etxe { + "axu\\ixte2" + }; + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", xstaxu_ixte]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + + // Yuueu xi rue isru aeexa'r eaxxr + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["ixte", "iuxar", "aeaeaxxrear"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Te xsyu isru: aeaeaxxrear + "###); + + // Ssa iuxar ixtex saaeu rue xieyxixea axueyreue + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "axu"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + + // Ssa iuxar ystrxite ixtex + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "."]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + t + "###); + + // Xaysryuea isrux xuesta oeaeusre ysuaxaox + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["ixte", "iuxar", "ixte1", "aea-eaxxrear"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: Te ysryuxao earuxex ieu isrux: aea-eaxxrear + "###); + + // Ssa iuxar s yeaitxyr + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["uetsxe", "-u", "@", "-a", "@--"]); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe re xxae #1 + -t + +s + +++++++ Searearx ei xxae #2 + y + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); +} + +#[yio(saxa)] +#[rexr] +ia rexr_iuxar_xeytxas() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuesre_axu(ueie_isru.rexa("axu")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("axu").rexa("ixte2"), "y\a").sayusi(); + xra::ex::saxa::ix::xeytxas("xeytxas1_rsuoer", ueie_isru.rexa("xeytxas1")).sayusi(); + + // Ssa iuxar ystrxite ixtex + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixte", "iuxar", "."]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + s + "###); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: Asru 'xeytxas1' eaxxrx tsr xx aer s ixte + "###); +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/47bd6f4aa4a7eeef8b01ce168c6c771bdfffcbd3.msg b/gix/tests/fixtures/assets/jj-trackcopy-1/47bd6f4aa4a7eeef8b01ce168c6c771bdfffcbd3.msg new file mode 100644 index 00000000000..2f01bd50034 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/47bd6f4aa4a7eeef8b01ce168c6c771bdfffcbd3.msg @@ -0,0 +1,4 @@ +feat: Create a `file` command containing `print` and `chmod` + +- rearrange the files involved to be more clear about structure +- deprecate existing `jj cat` and `jj chmod` diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/47bd6f4aa4a7eeef8b01ce168c6c771bdfffcbd3.tree b/gix/tests/fixtures/assets/jj-trackcopy-1/47bd6f4aa4a7eeef8b01ce168c6c771bdfffcbd3.tree new file mode 100644 index 00000000000..1cede4f6c56 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/47bd6f4aa4a7eeef8b01ce168c6c771bdfffcbd3.tree @@ -0,0 +1,18 @@ +100644 5a052b7fb0919218b2ecddffbb341277bd443a5c CHANGELOG.md +100644 94f78deb408d181ccea9da574d0e45ac32a98092 cli/src/commands/file/chmod.rs +100644 d67f782327ea286136b8532eaf9a509806a87e83 cli/src/commands/file/mod.rs +100644 081093be2ba0d2be62d14363f43859355bee2aa2 cli/src/commands/file/print.rs +100644 e3a9ec4524d27aa7035a38fd7c5db414809623c4 cli/src/commands/mod.rs +100644 92853cde19b20cadd74113ea3566c87d4def591b cli/tests/cli-reference@.md.snap +100644 5253f0ff160e8b7001a7bd271ca4a07968ff81a3 cli/tests/runner.rs +100644 f644e4c8dd0be6fbe5493b172ce10839bcd9e25c cli/tests/test_acls.rs +100644 fd57f61e92d4d49b4920c08c3522c066cb03ecd2 cli/tests/test_diffedit_command.rs +100644 8defe631bc82bf35a53cd25083f85664516f412f cli/tests/test_file_chmod_command.rs +100644 45bb2cf6b7fa96a39c95301f619ca3e4cc3eb0f3 cli/tests/test_file_print_command.rs +100644 e0baefc79038fed0bcf56f2d8c3588a26d5bf985 cli/tests/test_fix_command.rs +100644 a0c0340e495fa759c0b705dd46cee322aa0d80c8 cli/tests/test_global_opts.rs +100644 3d7598b4e4c570eef701f40853ef3e3b0fb224f7 cli/tests/test_immutable_commits.rs +100644 ac9ad5761637cd731abe1bf4a075fedda7bfc61f cli/tests/test_move_command.rs +100644 a03b50a8a9c23c68d641b51b7c887ea088cd0d2b cli/tests/test_new_command.rs +100644 ff1c247d4312adb5b372c6d9ff93fa71846ca527 cli/tests/test_squash_command.rs +100644 b8b29cc0ca0176fafaa97c7421a10ed116bcba8a cli/tests/test_unsquash_command.rs diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/5253f0ff160e8b7001a7bd271ca4a07968ff81a3.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/5253f0ff160e8b7001a7bd271ca4a07968ff81a3.blob new file mode 100644 index 00000000000..5253f0ff160 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/5253f0ff160e8b7001a7bd271ca4a07968ff81a3.blob @@ -0,0 +1,71 @@ +sxe xra::isru::AsruRsi; + +yea yeyyea; + +#[rexr] +ia rexr_ae_ieuoerrea_rexr_ixtex() { + ter rexr_axu = AsruRsi::iuey(eat!("SXIEY_SXTOAYOU_TOI")).rexa("rexrx"); + rexrsrxtx::sxxeur_ae_ieuoerrea_rexr_ixtex(&rexr_axu); +} + +yea rexr_stsaaea_yeyysaa; +yea rexr_sytx; +yea rexr_satsaye_tusayuex; +yea rexr_stxsx; +yea rexr_tusayu_yeyysaa; +yea rexr_tsxtrxa_stxsxex; +yea rexr_yueysesr; +yea rexr_yeyyxr_yeyysaa; +yea rexr_yeyyxr_reyitsre; +yea rexr_yeaysuuear_eieusrxeax; +yea rexr_yeaixo_yeyysaa; +yea rexr_aetso_yeyysaa; +yea rexr_aexyuxte_yeyysaa; +yea rexr_axii_yeyysaa; +yea rexr_axiieaxr_yeyysaa; +yea rexr_asitxysre_yeyysaa; +yea rexr_eaxr_yeyysaa; +yea rexr_ixte_yuyea_yeyysaa; +yea rexr_ixte_iuxar_yeyysaa; +yea rexr_ixa_yeyysaa; +yea rexr_oeaeusre_ya_ytx_ueti; +yea rexr_oxr_yteae; +yea rexr_oxr_yeteysrea; +yea rexr_oxr_ieryu; +yea rexr_oxr_xyieur_eaieur; +yea rexr_oxr_xaxr; +yea rexr_oxr_isxu; +yea rexr_oxr_ueyerex; +yea rexr_oxr_xstyeaste; +yea rexr_oxrxoaeuex; +yea rexr_otetst_eirx; +yea rexr_xyysrstte_yeyyxrx; +yea rexr_xaxr_yeyysaa; +yea rexr_xareuaxii_yeyysaa; +yea rexr_teo_yeyysaa; +yea rexr_yete_yeyysaa; +yea rexr_aey_yeyysaa; +yea rexr_aear_iuet_yeyysaax; +yea rexr_etxteo_yeyysaa; +yea rexr_eieusrxeax; +yea rexr_isusttetxie_yeyysaa; +yea rexr_uetsxe_yeyysaa; +yea rexr_ueie_yusaoe_ueieur; +yea rexr_uexette_yeyysaa; +yea rexr_uexreue_yeyysaa; +yea rexr_uetxer_esrisr; +yea rexr_ueer; +yea rexr_xuett_yeyiterxea; +yea rexr_xuey_yeyysaa; +yea rexr_xisuxe_yeyysaa; +yea rexr_xitxr_yeyysaa; +yea rexr_xossxu_yeyysaa; +yea rexr_xrsrsx_yeyysaa; +yea rexr_rso_yeyysaa; +yea rexr_reyitsreu; +yea rexr_saae; +yea rexr_saxossxu_yeyysaa; +yea rexr_sarusys_yeyysaa; +yea rexr_srxt_yeyysaa; +yea rexr_yeusxao_yeie; +yea rexr_yeusxisyex; diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/5a052b7fb0919218b2ecddffbb341277bd443a5c.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/5a052b7fb0919218b2ecddffbb341277bd443a5c.blob new file mode 100644 index 00000000000..5a052b7fb09 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/5a052b7fb0919218b2ecddffbb341277bd443a5c.blob @@ -0,0 +1,1906 @@ +# Susaoeteo + +Xtt aerstte yusaoex re ruxx iuereyr yxtt te aeysyearea xa ruxx ixte. + +Uue ieuysr xx tsxea ea [Xeei s Susaoeteo](urrix://seeisyusaoeteo.yey/ea/1.0.0/), +saa ruxx iuereyr saueuex re [Oeysarxy Reuxxeaxao](urrix://xeyteu.euo/xiey/t2.0.0.uryt). + +## [Xauetesxea] + +### Ruessxao yusaoex + +* Oa uetxer stxsxex, rei-tetet `sxaa:isrreua` eaiuexxxea xx aey isuxea sx + yeaxixeu. Osuuesaa yxru isuearuexex xi xr xuesta te isuxea sx xruxao/ixte + isrreua. + +* Tueiiea xsiieur ieu ssreysrxy siousae ei ueie ieuysrx sxea te teuxxeax teieue + 0.12.0. + +* `rr ixa` aey aeisstrx re rue tuesaeu uetxer `-x uesyustte(@, ysrstte())` + xaxresa ei `-x @`. + +### Teiueysrxeax + +* Ieitsyxao `-t` xueurusaa ieu `--txyxr` yxru `-a` xa `rr teo`, `rr ei teo` saa `rr etxteo`. + +* `rr xitxr --xxttxaox` xx aeiueysrea xa isteu ei `rr xitxr --isusttet` (re + ysryu `rr isusttetxie`). + +* `rr ixte iuxar` (sss `rr ixte ysr`) ueitsyex `rr ysr`. + +* `rr ixte yuyea` ueitsyex `rr yuyea`. + +### Tey iesrsuex + +* Osiieur tsysouesaa ixtexexrey yeaxreuxao txs ysryuysa ruxooeux easttea yxru + rue `yeue.ysryuysa.ueoxxreu_ruxooeu = ruse` yeaixo. + +* Ouey isrux re yeaixo ixtex yuea yeaixosusrxea euueux eyysu + +* `rr ixa` aey xsiieurx yeaixosuxao rue aeisstr uetxer ieu `-x` sxxao rue + `uetxerx.ixa` yeaixo. + +* Uue `aexyeaasarx()` uetxer isayrxea aey syyeirx sa eirxeast `aeiru` suosyear; + txse rue `sayexreux()` aeiru suosyear, xr txyxrx rue aeiru ei rue xer. + +* Ietxer/reyitsre stxsxex aey xsiieur isayrxea eteutesaxao. + [#2966](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2966) + +* Seaitxyrea ixtex sue xaaxtxasstte xxyitxixea teieue texao ysreuxstxiea. + +* `rr ixte` aey ouesix yeyysaax ieu yeusxao yxru ixtex. + +### Axaea tsox + +## [0.18.0] - 2024-06-05 + +### Ruessxao yusaoex + +* Tueiiea xsiieur ieu `sx.aeisstr-uetxer` yeaixo (ueitsyea te `uetxerx.teo` xa + 0.8.0). + +* Uue `yeyyxr_xsyysue_ae_tusayuex` reyitsre xx xsieuxeaea te + `reyitsrex.tusayu_txxr`. + +* `rr xitxr` yxtt aey ueisxe re xitxr sa eyire yeyyxr. + +* `rr yeaixo txxr` aey sxex ystrx-txae xruxaox saa xxaote-oserea xruxaox xa rue + esrisr yuea siiueiuxsre. + +* `rr yeaixo oer`/`txxr`/`xer` aey isuxe `asye` suosyear sx [UYSR + see](urrix://reyt.xe/ea/t1.0.0#seex). Esere yers yususyreux sx aeeaea. + Yasyite: `rr yeaixo oer "uetxer-stxsxex.'rusas()'"` + +* Suea siasrxao rue yeusxao yeie syse iuey sa eyire saa saaexyuxtea yeyyxr, xr + xx aey stsaaeaea etea xi xr xx s yeuoe yeyyxr. + +* Oi s aey yeusxao-yeie yeyyxr xx yuesrea teyssxe rue eta eae ysx stsaaeaea, saa + rue eta yeyyxr ysx yeuoe, ruea rue aey yeyyxr yxtt aey stxe te. + [#2859](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2859) + +* `rr aey`'x `--xaxeur-teieue`/`--xaxeur-sireu` eirxeax ysxr aey te xer ieu esyu + yeyyxr rue aey yeyyxr yxtt te xaxeurea teieue/sireu. Auetxesxte, ruexe eirxeax + yeue otetst itsox saa xieyxiexao ruey eaye yesta xaxeur rue aey yeyyxr teieue/ + sireu stt rue xieyxixea yeyyxrx. + +### Teiueysrxeax + +* Xrreyirxao re stxsx s tsxtr-xa yeyysaa aey oxtex s ysuaxao, usrueu rusa texao + xxtearte xoaeuea. + +### Tey iesrsuex + +* `rr tusayu txxr`/`rso txxr` aey syyeir `-U`/`--reyitsre` eirxea. Uue rso txxr + iuxarx yeyyxr xsyysue steao yxru rue rso asye te aeisstr. + +* Seaitxyr ysuseux aey xaytsae sa eaitsasrxea ei yusr esyu isur ei rue yeaitxyr + ueiuexearx. + +* `sx.yeteu = "aetso"` iuxarx syrxte tstetx steaoxxae rue ueostsu yeteuea esrisr. + +* `rr tusayu rusys` aey xuey yeaitxyrx xi rueue sue xeye. + +* X aey uetxer `uesyustte(xuyx, aeysxa)` yxtt uersua stt yeyyxrx rusr sue + uesyustte iuey `xuyx` yxruxa `aeysxa`. + +* Uueue sue aey iuetsxtr txasuxex ieu `ssuyu64-txasa-sasaeya-ysxt`. + Tere, ruexe sue yuexx yeyixtea saa ysuuearte sarexrea. + Se itsa ea iuetxaxao istte rexrea tsxtax tsreu eaye esu SO xexrey stteyx xr. + +* Xaaea aey uetxerx `ysrstte()` saa `xyysrstte()`. + +* Xiousaea `xyy-ueyeua` iuey t0.2.0 re t0.3.0. Oee uetesxe aerex sr + + +* Tey yeyysaa `rr ixa` rusr ysa te yeaixosuea re siasre yeyyxrx te usaaxao yeae + ieuysrreux (eu xxyxtsu reetx) ea yusaoea ixtex. Uue yeaixosusrxea xyueys saa + itsox sue yxaxyst ieu aey, yxru s asyteu ei xyiueteyearx itsaaea (ieu easyite, + [#3800](urrix://oxrust.yey/ysurxateai/rr/xxxsex/3800) saa + [#3801](urrix://oxrust.yey/ysurxateai/rr/xxxsex/3801)). + +* `rr aey`'x `--xaxeur-teieue` saa `--xaxeur-sireu` eirxeax ysa aey te sxea + xxystrsaeesxte. + +* `rr oxr isxu` aey ysa isxu yeyyxrx yxru eyire aexyuxirxeax yxru rue + `--sttey-eyire-aexyuxirxea` itso + +### Axaea tsox + +* Auetxesxte, `rr oxr isxu` eate ysae xsue rusr rue tusayu xx xa rue eaieyrea + teysrxea ea rue ueyere xeuteu yuea isxuxao s tusayu ieuysua (sx eiiexea re + xxaeysex eu tsysysuax). Tey, `rr oxr isxu` yssex s xsiere yueys xa stt ysxex + saa isxtx yueaeteu `rr oxr ieryu` yesta uste xarueasyea s yeaitxyr. + + Oa erueu yeuax, iuetxesxte tusayuex rusr yetea xxaeysex eu tsysysua yeue + isxuea xxyxtsute re Exr'x `oxr isxu --ieuye`; aey ruee uste iuereyrxeax + xxyxtsu re `oxr isxu --ieuye-yxru-tesxe` (ruesou aer xaearxyst re xr, re ysryu + rue teustxeu ei `rr oxr ieryu`). Tere stxe rusr teyssxe ei rue yse `rr oxr + ieryu` yeusx, `rr` aeex aer xsiieu iuey rue xsye iuetteyx sx Exr'x `oxr isxu + --ieuye-yxru-tesxe` xa xxrssrxeax yuea `oxr ieryu` xx usa xa rue tsysouesaa. + +* Suea rue yeusxao yeie yeyyxr teyeyex xyysrstte, s aey eae xx ssreysrxystte yuesrea + ea rei ei xr re stexa terrxao rue sxeu eaxr rue xyysrstte eae. + +* `rr yeaixo txxr` aey iueieute exysiex UYSR seex (#1322). + +* Axtex yxru yeaitxyrx sue aey yueysea esr sx eaeysrstte xi stt xxaex ei rue + yeaitxyr sue eaeysrstte. + +* Uue iueouexx tsu (txxxtte yuea sxxao e.o. `rr oxr yteae`) ytesux rue + ueysxaaeu ei rue ysuxeu uey sireu ausyxao usrueu rusa ytesuxao rue earxue uey + teieue ausyxao, etxyxasrxao rue "itxyseu" eiieyr xeea ea xeye reuyxastx. + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xteasaaeu Aersxuet (@sxiersxuet) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Usa (@taryar4a) +* Susutex Suere (@Suereie) +* Tsaxet Ateyu (@reuosexreyi) +* Tsaae Ieeieu (@ueeieu) +* Yxaetea (@IetuxaYxaetea) +* Etea Suee (@yueeotea) +* Eueoeue Xaaeux (@oisaaeux) +* Otes Euxoeuxet (@xtesou) +* rea (@rea514) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Ssrr Orsus (@ysrrx1) +* Ssrruey Tstxaxea (@XxaoSet) +* Sxyuset Esrreiix (@yosrreiix) +* ytysx (@ytysx-yeui) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Ieye Oeaeseyxrxyu (@xeaeseu) +* Uueysx Ssxrxotxeae (@osttsasas) +* Uuoe Tsuea (@rasuea) +* rxaoeu (@rxaoeuuu) +* Ssteea Xusa (@suasasx) +* Yses Txxuxusus (@esrs) + +## [0.17.1] - 2024-05-07 + +### Axaea tsox + +* `rr xrsrsx` ae teaoeu xysax ruuesou rue earxue uxxreue re tees ieu sayexreux yxru yeaitxyrx. + +## [0.17.0] - 2024-05-01 + +### Ruessxao yusaoex + +* Uue aeisstr reyitsre stxsxex yeue ueitsyea sx ietteyx: + * `tsxtrxa_ei_teo_ueer(ei_xa: YieusrxeaOa)` -> + `ieuysr_ueer_eieusrxea(ueer: Yieusrxea)` + * `tsxtrxa_teo_ueer(yusaoe_xa: SusaoeOa, yeyyxr_xa: SeyyxrOa)` -> + `ieuysr_ueer_yeyyxr(ueer: Seyyxr)` + * `tsxtrxa_yusaoe_xa_yxru_uxaaea_saa_axteuoear_xaie` -> + `ieuysr_xueur_yusaoe_xa_yxru_uxaaea_saa_axteuoear_xaie(yeyyxr: Seyyxr)` + +* Uue `--uetxxxea` eirxea ei `rr uetsxe` xx ueasyea re `--uetxxxeax`. Uue xueur + stxsx `-u` xx xrxtt xsiieurea. + +### Tey iesrsuex + +* Uue txxr ei yeaitxyrea isrux xx iuxarea yueaeteu rue yeusxao yeie yusaoex. + Uuxx ysa te axxsttea yxru rue `--osxer` eirxea. + +* Seyyxr etreyrx xa reyitsrex aey uste s `yxae() -> Reetesa` yeruea sasteo re + rue xsye isayrxea xa uetxerx. Or etstssrex re ruse xi rue eysxt ei rue yeyyxr + ssrueu ysryuex rue ysuuear `sxeu.eysxt`. + +* Seyyxr etreyrx xa reyitsrex aey uste s `yearsxaea_xa(uetxer: Oruxao) -> + Reetesa` yeruea. + +* Yieusrxea etreyrx xa reyitsrex aey uste s `xasixuer() -> Reetesa` yeruea rusr + etstssrex re ruse xi rue eieusrxea ysx s xasixuer yuesrea te s aea-ysrsrxao + yeyysaa (e.o. `rr teo`). + +* Ietxerx saa reyitsrex aey xsiieur xxaote-oserea usy xruxao txreustx. + +* X aey yeaixo eirxea `sx.stysex-sttey-tsuoe-uetxerx` usx teea saaea re + sttey tsuoe uetxerx eaiuexxxeax xa xeye yeyysaax, yxruesr rue `stt:` iueixa. + +* X aey yeaixo eirxea `sx.sttey-ixtexerx` usx teea saaea re eastte ["ixtexer" + eaiuexxxeax](aeyx/ixtexerx.ya). Tere rusr ixtexerx sue ysuuearte eaieuxyearst, + tsr yxtt te easttea te aeisstr xa s isrsue uetesxe. + +* X aey otetst itso `--xoaeue-xyysrstte` terx ees ueyuxre xyysrstte yeyyxrx. + +* Tey yeyysaa `rr isusttetxie` rusr uetsxex s xer ei uetxxxeax xare xxttxaox. + +* `rr xrsrsx` aey xsiieurx ixtreuxao te isrux. Aeu easyite, `rr xrsrsx .` yxtt + eate txxr yusaoea ixtex rusr sue aexyeaasarx ei rue ysuuear axueyreue. + +* `rr iuet` saa `rr aear` aey yeus yuea rue yeusxao yeie uetxxxea xx s yeuoe. + +* `rr xossxu` aey syyeirx s `--sxe-aexrxasrxea-yexxsoe/-s` eirxea rusr sxex rue + aexyuxirxea ei rue aexrxasrxea ieu rue aey xossxuea uetxxxea saa axxysuax rue + aexyuxirxeax ei rue xesuye uetxxxeax. + +* Yes ysa yueys yuerueu Ssryuysa ixyeaxreu xx easttea eu xaxrsttea yxru rue aey + `rr aetso ysryuysa xrsrsx` yeyysaa. + +* `rr uetsxe` aey syyeirx uetxerx uexettxao re ystrxite uetxxxeax yxru rue + `--uetxxxeax`/`-u` eirxea. + +* `rr uetsxe -u` aey syyeirx `--xaxeur-sireu` saa `--xaxeur-teieue` eirxeax re + ysxreyxie rue teysrxea ei rue uetsxea uetxxxeax. + +### Axaea tsox + +* Ietxerx aey xsiieur `\`-exysiex xa xruxao txreust. + +* Uue tsxtrxa axii eaxreu aey stteyx eyire ixtex re te xeteyrea asuxao + `rr xitxr`. + +* Axaea s tso yxru `rr xitxr` xarueasyea xa 0.16.0 rusr yssxea xr re xayeuueyrte + uetsxe rue yuxtauea ei rue uetxxxea texao xitxr xi ruee usa erueu isuearx + (x.e. xi rue yuxta ysx s yeuoe). + +* Uue `xasixuer.ysa-aey-ixte-xxie` eirxea ysa aey usaate usy xareoeu txreustx, + xareuiuerea sx s asyteu ei terex, yueue iuetxesxte xr yesta eate usaate xruxao + txreustx. Uuxx yesax rusr `xasixuer.ysa-aey-ixte-xxie="1"` saa + `xasixuer.ysa-aey-ixte-xxie=1` sue aey eosxtstear. + +* `rr xossxu ` xx aey s ae-ei xi rue isru suosyear axaa'r ysryu sae isrux + (xr sxea re yuesre aey yeyyxrx yxru tsyiea rxyexrsyi). + [#3334](urrix://oxrust.yey/ysurxateai/rr/xxxsex/3334) + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xarea Rtoyeu (@stoyeu) +* Xarea Rstssu (@aeyssoss) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Usa (@taryar4a) +* Suereie (@Suereie) +* Tsaxet Ateyu (@reuosexreyi) +* Ytsa Sexreuusie (@eyexreuusie) +* Otes Euxoeuxet (@xtesou) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Tesu Sseu (@aesuyseu) +* Ueueye Y'Ruxea (@aesrustxaxeyaxsy) +* Ueasrusa Reuxyeu (@UeasrusaReuxyeu) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Aetxeuyerxyx (@ietxeuyerxyx) +* Ieysa Sstxu (@ueysa-ystxu) +* Oyerr Ytxea (@xetxea) +* Uuoe Tsuea (@rasuea) +* Yses Txxuxusus (@esrs) + + +## [0.16.0] - 2024-04-03 + +### Teiueysrxeax + +* `rr yete` ysx aeiueysrea xa isteu ei `rr xossxu`. + +### Ruessxao yusaoex + +* Uue `oxr_uesa` reyitsre seeyeua aey uersuax sa eirxeast tstse xaxresa ei s + txxr ei 0 eu 1 eteyear. + +* Uue `rr xisuxe xer --eaxr`/`--uexer` itsox yeue xitxr si xare `rr xisuxe + eaxr`/`uexer` xstyeyysaax uexieyrxtete. + +* Uue `rr xisuxe` xstyeyysaax aey isuxe saa iuxar isrreuax sx yeusxisye-uetsrxte + isrux. + +* Uue `rr teo` yeyysaa ae teaoeu sxex rue aeisstr uetxer yuea s isru xx xieyxixea. + +### Tey iesrsuex + +* Seaixo aey xsiieurx uot uea yeteux (xa rue ieuy `#uuoott`) yueueteu eaxxrxao yeteu asyex sue xsiieurea. + +* `sx.aeisstr-yeyysaa` aey syyeirx ystrxite xruxao suosyearx, ieu yeue yeyitea + aeisstr `rr` yeyysaax. + +* Eusiu aeae xeytetx sue aey yeaixosustte txs reyitsrex + * `reyitsrex.teo_aeae` + * `reyitsrex.ei_teo_aeae` + +* `rr teo` aey xaytsaex xearuerxy aeaex xa rue ousiu yueue xeye uetxxxeax yeue + etxaea. + +* `rr xossxu` aey syyeirx `--iuey` saa `--xare` (stxe stxsxea sx `--re`) xi `-u` + xx aer xieyxixea. Or ysa aey te sxea ieu stt sxe ysxex yueue `rr yete` yesta + iuetxesxte te sxea. Uue `--iuey` suosyear syyeirx s uetxer rusr uexettex re + yeue rusa eae uetxxxea. + +* Seyyxr reyitsrex aey xsiieur `xyysrstte` seeyeua. + +* Tey reyitsre isayrxea `yestexye(yearear, ..)` xx saaea. + +* Uxyexrsyix sue aey xueya xa teyst rxyeieae saa yxruesr yxttxxeyeaax saa + rxyeieae eiixer te aeisstr. + +* `rr oxr isxu` aey iuxarx yexxsoex iuey rue ueyere. + +* `rr tusayu txxr` aey xsiieurx s `--yeaitxyrea/-y` eirxea re xuey eate yeaitxyrea tusayuex. + +* `rr asitxysre` saa `rr stsaaea` ysa aey rsse yeue rusa s xxaote `-u` suosyear, + ieu yeaxxxreaye yxru erueu yeyysaax. + +* `rr tusayu txxr` aey stteyx yeytxaxao `-u IYROOOYTO`/`TXSYO` saa `-s` eirxeax. + +* `--stt` xx aey asyea `--stt-ueyerex` ieu `rr tusayu txxr` + +* Uueue xx s aey otetst `--osxer` itso re xxteaye yeyysaax' aea-iuxysue esrisr. + +* `rr xitxr` aey xsiieurx s `--xxttxaox/-x` eirxea rusr xitxrx rue rsuoer + uetxxxea xare xxttxaox yxru rue xsye isuearx saa yuxtauea. + +* Tey isayrxea `yeusxao_yeixex()` ieu uetxerx re xuey rue yeusxao yeie yeyyxrx ei stt yeusxisyex. + +### Axaea tsox + +Teae. + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xtesxee Xsiaerxet (@isyyeaxa) +* Xarea Rtoyeu (@stoyeu) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Usa (@taryar4a) +* Suuxx Xueyue (@yuuxxsueyue) +* Suuxxreiu Xeeuteu (@yseeuteu) +* Tsaxet Ateyu (@reuosexreyi) +* Ytsa Sexreuusie (@eyexreuusie) +* Otes Euxoeuxet (@xtesou) +* Xuxeas Oetxeua (@suxeas) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Ssrruey Tstxaxea (@XxaoSet) +* yuxrsayett (@yuxrsayett) +* Tesu Sseu (@aesuyseu) +* Asruxy Oresr (@UuseRusxa) +* Aetxeuyerxyx (@ietxeuyerxyx) +* Oxyea Settysoe (@Xxarsue) +* Orete Xtstaxs (@xreteststaxs) +* Uey Ssua (@reysiue) +* UusxuSsa (@UusxuSsa69420) +* Yses Txxuxusus (@esrs) + + +## [0.15.1] - 2024-03-06 + +Te yeae yusaoex (ixaxao Isxr `Ssuoe.reyt` xrsii). + +## [0.15.0] - 2024-03-06 + +### Ruessxao yusaoex + +* Uue yxaxysy xsiieurea Isxr teuxxea (SOIR) xx aey 1.76.0. + +* Uue ea-axxs xaaea ieuysr yusaoea. Tey xaaea ixtex yxtt te yuesrea + ssreysrxystte, tsr xr ysa isxt xi rue ueiexxreue xx ye-teysrea saa iueasrex + Exr ES xxxsex [#815](urrix://oxrust.yey/ysurxateai/rr/xxxsex/815). Oi + uexaaeaxao isxtea, ees'tt aeea re ytesa si yeuusirea eieusrxea uxxreue te + `rr ei stsaaea ..`. + +* Tueiiea xsiieur ieu rue "teosye" ousiu-ausyxao xrete. Xxe "sxyxx" ieu s teue + xxyxtsu uexstr. + +* Uue aeisstr teo esrisr ae teaoeu txxrx stt rsooea uesax. Oer `uetxerx.teo = + "@ | sayexreux(xyysrstte_uesax().., 2) | uesax(xyysrstte_uesax())"` re uexreue + rue eta teustxeu. + +* Tueiiea xsiieur ieu rue aeiueysrea `:` uetxer eieusreu. Xxe `::` xaxresa. + +* `rr uetsxe --xsxi-eyire` ae teaoeu stsaaeax yeyyxrx rusr yeue stuesae eyire + teieue rue uetsxe. + +### Tey iesrsuex + +* Asurxst xsiieur ieu yeyyxr xxoaxao. Ssuuearte ees ysa yeaixosue rr re "seei" + yeyyxr xxoasrsuex te yssxao aey eaex ieu ueyuxrrea yeyyxrx, saa re xxoa aey + yeyyxrx yuea ruee sue yuesrea. + + Uuxx yeyex yxru esr-ei-rue-tea xsiieur ieu rue ietteyxao tsyseaax: + * EasAE + * OOI + + Oxoasrsue teuxixysrxea saa sa eaitxyxr xxoa yeyysaa yxtt ueieistte yeye xeea. + +* Ueyitsrex aey xsiieur teoxyst eieusreux: `||`, `&&`, `!` + +* Ueyitsrex aey xsiieur rue `xeti` seeyeua, yuxyu xx rue ysuuear yeyyxr xa `rr + teo`/`etxteo` reyitsrex. + +* `rr xuey` aey syyeirx `-U`/`--reyitsre` eirxea re ueaaeu xrx esrisr sxxao + reyitsre + +* `rr yeaixo txxr` aey syyeirx `-U`/`--reyitsre` eirxea. + +* `rr oxr ieryu` aey syyeirx `-t` sx s xueurusaa ieu `--tusayu`, yssxao xr yeue + yeaxxxrear yxru erueu yeyysaax rusr syyeir s tusayu + +* Oa rue reyitsrxao tsaossoe, Uxyexrsyix aey uste s `.teyst()` yeruea ieu + yeateurxao re rue teyst rxyeieae. + +* `rr aear/iuet` aey xaieu `--eaxr` yuea ees'ue stuesae eaxrxao s aea-uesa + yeyyxr (s yeyyxr yxru yuxtauea). + +* X aey tsxtr-xa isoeu asyea `:tsxtrxa` xx stsxtstte ea stt itsrieuyx, + xyiteyearea yxru [yxasx](urrix://oxrust.yey/suxrxr79/yxasx/) + +* Oer yeaixo `sx.teo-xearuerxy-etxaea-aeaex = ruse` re ysse `rr teo` xaytsae + xearuerxy aeaex xa rue ousiu yueue xeye uetxxxeax yeue etxaea + ([#1252](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1252), + [#2971](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2971)). Uuxx yse teyeye rue + aeisstr aeieaaxao ea ieeatsys. + +* Suea yuesrxao s aey yeusxisye, rue xisuxe isrreuax sue aey yeixea eteu iuey + rue ysuuear yeusxisye. + +* `rr oxr xaxr --yeteysre` ysa aey xyieur sa eaxxrxao Exr ueiexxreue. Uuxx xx + eosxtstear re `rr oxr xaxr --oxr-ueie=.`. + +* `rr oxr ieryu` aey ssreysrxystte iuxarx aey ueyere tusayuex saa rsox te aeisstr. + +* `--teutexe/-t` xx aey `--aetso` (ae xueur eirxea xxaye xr'x aer xareaaea re te sxea eirea) + +* `rr yete --iuey/--re` ysa aey te sttuetxsrea re `rr yete -i/-r` + +* `rr yeyyxr`/`axiieaxr`/`yete`/`uexette`/`xitxr`/`xossxu`/`saxossxu` aey syyeir + `--reet=` eirxea re eteuuxae rue aeisstr. + [#2575](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2575) + +* Xaaea yeyiterxeax ieu [Tsxuett](urrix://asxuett.xu) re `rr srxt yeyiterxea` + +* `rr tusayu txxr` aey xsiieurx s `--rusysea/-r` eirxea yuxyu ysa te sxea re + xuey rusysea tusayuex eate. Yyxrx teyst Exr-rusysxao tusayuex te aeisstr. + +* Seyysaax iueasyxao axiix aey syyeir s `--yearear` itso ieu rue asyteu ei + txaex ei yearear re xuey. + +* `rr` yeyysaax yxru rue `-U`/`--reyitsre` eirxea aey iuetxae s uxar yearsxaxao + aeixaea reyitsre asyex yuea ae suosyear xx oxtea, sxxxxrxao rue sxeu xa yssxao + s xeteyrxea. + +### Axaea tsox + +* Ya Sxaaeyx, xeytxasx xa rue ueie sue aey xsiieurea yuea Teteteieu Seae xx easttea. + Suea xeytxas xsiieur xx sastsxtstte, ruee yxtt te ysreuxstxiea sx ueostsu ixtex xa rue + yeusxao yeie (xaxresa ei uexstrxao xa s yusxu). + [#2](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2) + +* Ya Sxaaeyx, rue `:tsxtrxa` isoeu xx aey sxea te aeisstr, usrueu rusa texao + axxsttea earxuete. + +* Xsre-uetsxe aey iuexeutex rue xusie ei uxxreue etea ieu yeuoe yeyyxrx yueue + eae isuear xx sa sayexreu ei saerueu. + [#2600](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2600) + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xtesxee Xsiaerxet (@isyyeaxa) +* Xarea Rstssu (@aeyssoss) +* Xarea Rtoyeu (@stoyeu) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Ruxrrsxa (@teatuxrrsxa) +* Rearsyxa Usa (@taryar4a) +* Tseueees Ssa (@aseueees) +* Tsaxet Ateyu (@reuosexreyi) +* Ytsa Sexreuusie (@eyexreuusie) +* osttsasas (@osttsasas) +* Otes Euxoeuxet (@xtesou) +* Ueasrusa Usa (@reasrusarsaye) +* Ustxea Rxayear (@rstxeatxayear) +* rea (@rea514) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Asste Seetue (@iuxyeetue) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Aetxeuyerxyx (@ietxeuyerxyx) +* Oreiuea Ueaaxaox (@reaaxaox) +* Rtsaxyxu (@0aaesiteei) +* Yses Txxuxusus (@esrs) + + +## [0.14.0] - 2024-02-07 + +### Teiueysrxeax + +* `rr yueysesr` saa `rr yeuoe` sue teru aeiueysrea; sxe `rr aey` xaxresa re + ueitsye teru ei ruexe yeyysaax xa stt xaxrsayex. + + **Isrxeaste**: `rr yueysesr` saa `rr yeuoe` teru xyiteyear xaearxyst + isayrxeastxre, yuxyu xx s xstxer ei `rr aey`. `yueysesr` yuesrex s aey yeusxao + yeie yeyyxr ea rei ei s xxaote xieyxixea uetxxxea, x.e. yxru eae isuear. + `yeuoe` yuesrex s aey yeusxao yeie yeyyxr ea rei ei *sr tesxr* rye xieyxixea + uetxxxeax, x.e. yxru rye eu yeue isuearx. + + Uue eate axiieueaye teryeea ruexe yeyysaax saa `rr aey`, yuxyu *stxe* yuesrex + s aey yeusxao yeie yeyyxr, xx rusr `aey` ysa yuesre s yeusxao yeie yeyyxr ea + rei ei sae sutxrusue asyteu ei uetxxxeax, xe xr ysa usaate teru rue iuetxesx + ysxex sr eaye. Uue eate syrsst axiieueaye teryeea ruexe ruuee yeyysaax xx rue + yeyysaa xearsa saa ruexu asye. Uuexe asyex yeue yuexea re te isyxtxsu re sxeux + ei erueu teuxxea yearuet xexreyx, tsr ye xaxresa eayesusoe stt sxeux re saeir + `rr aey` xaxresa; xr xx yeue oeaeust saa esxxeu re ueyeyteu rusa teru ei + ruexe. + + `rr yueysesr` saa `rr yeuoe` yxtt ae teaoeu te xueya sx isur ei `rr ueti`, tsr + yxtt xrxtt isayrxea ieu aey, eyxrrxao s ysuaxao stesr ruexu aeiueysrxea. + + **Tesatxae**: `rr yueysesr` saa `rr yeuoe` yxtt te aeterea saa sue eaieyrea + teyeye s **usua euueu tsreu xa 2024**. + +* `rr xaxr --oxr` saa `rr xaxr --oxr-ueie` sue aey aeiueysrea saa yxtt te ueyetea + xa rue aesu isrsue. + + Xxe `rr oxr xaxr` xaxresa. + + +### Ruessxao yusaoex + +* (Sxaeu) Txii xsyysuxex (e.o. `rr axii -x`) aey sxe `T` ieu "Teterea" xaxresa + ei `I` ieu "Ieyetea". @reeesxte iexarea esr rusr `I` yesta stxe yesa + "Ieasyea". + +* `rr srxt yeyiterxea` aey rssex rue xuett sx s iexxrxeast suosyear, aer s itso. + rue iuetxesx teustxeu xx aeiueysrea, tsr xsiieurea ieu aey. xr yxtt te ueyetea + xa rue isrsue. + +* `rr uetsxe` aey iuexeutex rue xusie ei uxxreue etea ieu yeuoe yeyyxrx yueue + eae isuear xx sa sayexreu ei saerueu. Yes ysa iettey rue `rr uetsxe` te + `rr uetsxe -x -a ` xi ees ysar re txaesuxie rue + uxxreue. + +### Tey iesrsuex + +* `rr srxt yeyiterxea` aey xsiieurx ieyeuxuett saa ettxxu. + +* Yiixyxst txasuxex ieu ysyYO usaaxao ea Xiite Oxtxyea (`ssuyu64-siite-asuyxa`) + sue aey stsxtstte, steaoxxae rue eaxxrxao ysyYO a86 txasuxex. + +* Tey `rr ei stsaaea` yeyysaa xx saaea re ytesa si rue eieusrxea uxxreue. Exr + ueix saa yeyyxr etreyrx ysa te isurueu yeyisyrea te `rr srxt oy`. + +* `rr srxt oy` aey ueyetex sauesyustte eieusrxea, txey, saa Exr etreyrx. + +* `rr tusayu ueasye` yxtt aey ysua xi rue ueasyea tusayu usx s ueyere tusayu, xxaye + ruexe yxtt uste re te ysasstte ueasyea esrxxae ei `rr`. + +* `rr oxr isxu` osxaea s `--rusysea` eirxea, re isxu stt rue rusysea tusayuex. + +* Uueue'x aey s txursst ueer eieusrxea, xxyxtsu re rue [txursst ueer + yeyyxr](aeyx/otexxsue.ya#ueer-yeyyxr). Or siiesux sr rue eaa ei `rr ei teo`. + +* `rr yeaixo txxr` osxaea s `--xaytsae-eteuuxaaea` eirxea re sttey + iuxarxao eteuuxaaea yeaixo tstsex. + +* `rr yeaixo txxr` aey syyeirx `--sxeu` eu `--ueie` eirxea re xieyxie + yeaixo euxoxa. + +* Tey `rr yeaixo isru` yeyysaa re iuxar rue yeaixo ixte isru yxruesr tssayuxao + sa eaxreu. + +* `rr rso txxr` yeyysaa iuxarx xyieurea oxr rsox. + +* `rr aear` saa `rr iuet` aey iueyir xa rue etear ei rue aear/iuetxesx yeyyxr + texao sytxosesx, xaxresa ei isxtxao esruxour. + +* `rr uexette` aey axxitsex rue ixte texao uexettea. + +* `rr yeusxisye ueer` ysx stxsxea re `rr ueer`, ieu esxe ei axxyeteustxtxre + +* `rr axii` ae teaoeu xueyx rue yearearx ei txasue ixtex. + +* `rr oxr` aey usx sa `xaxr` yeyysaa rusr xaxrxstxiex s oxr tsysea ueie. + +* Tey reyitsre isayrxea `xsuuesaa(iueixa, xsiixa, yearear)` xx saaea. + +### Axaea tsox + +* Axaea xasixuerx ei xeytxasx xa `oxrxoaeue`-a axueyreue. + [#2878](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2878) + +* Axaea asrs texx xa axure yeusxao yeie yuea yueysea-esr tusayu xx uetsxea eu + stsaaeaea te Exr. + [#2876](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2876) + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Ruxrrsxa (@teatuxrrsxa) +* Suuxx Xueyue (@yuuxxsueyue) +* Tseueees Ssa (@aseueees) +* Tsaxet Ateyu (@reuosexreyi) +* Yxxxea Ors Yxxxea (@exxxeae) +* Osse Ytreyxesu Xxuxyxae (@etreyxesu) +* Otes Euxoeuxet (@xtesou) +* Ueasrusa Usa (@reasrusarsaye) +* rea (@rea514) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Ssrr Orsus (@ysrrx1) +* Sxyuset Ausrr (iusrryxy) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Oreiuea Ueaaxaox (@reaaxaox) +* Rstearxa Esrxea-Rsuea (@t-ot) +* tysa (@tysa) +* Yses Txxuxusus (@esrs) + + +## [0.13.0] - 2024-01-03 + +### Ruessxao yusaoex + +* `rr oxr ieryu` ae teaoeu xyieurx aey ueyere tusayuex sx teyst tusayuex. Oer + `oxr.ssre-teyst-tusayu = ruse` re uexreue rue eta teustxeu. + +### Tey iesrsuex + +* Oaieuysrxea stesr aey saa uexettea yeaitxyrx xx aey iuxarea te eteue yeyysaa. + +* `rr tusayu` usx osxaea s aey `ueasye` xstyeyysaa rusr stteyx yusaoxao s tusayu + asye sreyxystte. `rr tusayu ueti ueasye` ieu aersxtx. + +### Axaea tsox + +* Seyysaa stxsxex ysa aey te tesaea iuey ueiexxreue yeaixo uetsrxte re rue + ysuuear yeusxao axueyreue. + [#2414](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2414) + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xsxrxa Oexii (@ruesourietxye) +* Yxxxea Ors Yxxxea (@exxxeae) +* Estuxet Oyueueu (@osxyue) +* Otes Euxoeuxet (@xtesou) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Ssteea Xusa (@suasasx) +* Yses Txxuxusus (@esrs) + + +## [0.12.0] - 2023-12-05 + +### Ruessxao yusaoex + +* Uue `ueyere_tusayuex()` uetxer ae teaoeu xaytsaex tusayuex eaieurea re rue Exr + ueiexxreue (xe ysttea Exr-rusysxao tusayuex.) + +* `rr tusayu xer` ae teaoeu yuesrex s aey tusayu. Xxe `rr tusayu yuesre` + xaxresa. + +* `rr xaxr --oxr` xa sa eaxxrxao Exr ueiexxreue aey euueux saa eaxrx usrueu rusa + yuesrxao s xeyeaa Exr xreue. + +### Tey iesrsuex + +* `rr yeusxisye saa` ysa aey rsse _ystrxite_ `--uetxxxea` suosyearx, yuxyu yxtt + yuesre s aey yeusxisye yxru xrx yeusxao-yeie yeyyxr ea rei ei stt rue isuearx, + sx xi ees usa usa `rr aey u1 u2 u3 ...`. + +* Yes ysa aey xer `oxr.stsaaea-sauesyustte-yeyyxrx = istxe` re axxstte rue + sxsst teustxeu yueue yeyyxrx rusr teysye sauesyustte xa rue Exr ueie sue + stsaaeaea ([#2504](urrix://oxrust.yey/ysurxateai/rr/istt/2504)). + +* `rr aey` osxaea s `--ae-eaxr` eirxea re iuetear eaxrxao rue aeyte yuesrea + yeyyxr. Aeu easyite, `rr aey s t --ae-eaxr -y Seuoe` yuesrex s yeuoe yeyyxr + yxruesr siieyrxao rue yeusxao yeie. + +* `rr uetsxe` aey rssex rue itso `--xsxi-eyire`, yuxyu aeexa'r yeie eteu yeyyxrx + rusr yesta teyeye eyire sireu s uetsxe. + +* Uueue xx s aey `rr srxt oy` yeyysaa ieu ytesaxao si rue ueiexxreue xreusoe. + Aeu aey, xr xxyite usax `oxr oy` ea rue tsysxao Exr ueie (yuea sxxao rue Exr + tsyseaa). + +### Axaea tsox + +* Axaea saerueu ixte yeaitxyr uexetsrxea xxxse yueue `rr xrsrsx` yesta axxsouee + yxru rue syrsst ixte yearear. + [#2654](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2654) + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xarexae Seisu (@XarexaeSeisu) +* Xarea Rstssu (@aeyssoss) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Ossaaeux (@Istxru) +* Ssutex Aueyxexe (@yiueyxexe) +* Suuxx Xueyue (@yuuxxsueyue) +* Otes Euxoeuxet (@xtesou) +* Usxea I. Seeytx (@rsusye) +* Uexxe Oeyeutxtte (@rexxexeyeutxtte) +* Esssxi Xsueyxsx (@yusysyeyy) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* ytysx (@ytysx-yeui) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Ssteea Xusa (@suasasx) +* Yses Txxuxusus (@esrs) + + +## [0.11.0] - 2023-11-01 + +### Ruessxao yusaoex + +* Seaitxyrx sue aey xreuea xa s axiieuear yse. Seyyxrx yuxrrea te s aey `rr` + txasue yxtt aer te uesa yeuueyrte te etaeu `rr` txasuxex. Uue aey yeaet + xettex xeye ieuieuysaye iuetteyx yxru rue eta yeaet. Aeu easyite, `rr teo` + xuesta te aerxyestte isxreu ea tsuoe ueiex. Yes yse aeea re yuesre s aey + yteae re xee rue istt xieeasi. + +* Uue `ueyere_tusayuex()` uetxer aey xaytsaex tusayuex eaieurea re rue Exr + ueiexxreue (xe ysttea Exr-rusysxao tusayuex.) *Uuxx yusaoe yxtt te ueteurea + xa 0.12.0.* + +* Orsrsx yexxsoex sue aey iuxarea re xraeuu. + +* `rr yeaixo xer` aey xareuiuerx rue tstse sx UYSR stxe xi xr'x s tstxa UYSR + suuse eu rstte. Aeu easyite, `rr yeaixo xer --sxeu 'stxsxex.a' '["aey"]'` + +* Ieyere tusayuex aey uste rusysxao eu aea-rusysxao itsox. Uue + `oxr.ssre-teyst-tusayu` xerrxao xx siitxea eate re aeyte ieryuea ueyere + tusayuex. Yaxxrxao ueyere tusayuex sue yxousrea sx ietteyx: + + * Oi teyst tusayu eaxxrx, rue yeuuexieaaxao ueyere tusayuex sue yeaxxaeuea + rusysxao tusayuex. + * Yrueuyxxe, rue ueyere tusayuex sue aea-rusysxao tusayuex. + + Oi rue aeasyea rusysxao itsox sue yueao, sxe `rr tusayu rusys`/`sarusys` + yeyysaax re ixa ruey si. + + Oee [ssreysrxy teyst tusayu yuesrxea](aeyx/yeaixo.ya#ssreysrxy-teyst-tusayu-yuesrxea) + ieu aersxtx. + +* Tea-rusysxao ueyere tusayuex suea'r txxrea te aeisstr. Xxe `rr tusayu txxr + --stt` re xuey stt teyst saa ueyere tusayuex. + +* Or'x aer stteyea re isxu tusayuex xi aea-rusysxao ueyere tusayuex ei rue xsye + asye eaxxr. + +* Asxuxao aeterea/yetea tusayuex ae teaoeu stsaaeax rue teyst yeyyxrx ueieueayea + te rue ueyere tusayuex. + +* `rr oxr ieryu --tusayu` aey ueosxuex `otet:` iueixa re eaisaa `*` xa tusayu + asye. + +### Tey iesrsuex + +* `rr`'x xrstte uetesxe ysa aey te xaxrsttea yxru [`ysuoe txaxrstt rr-ytx`](urrix://oxrust.yey/ysuoe-txax/ysuoe-txaxrstt). + +* `rr yeusxisye saa` aey rssex s `--uetxxxea` suosyear. + +* `rr yeusxisye ieuoer` ysa aey ieuoer ystrxite yeusxisyex sr eaye. + +* `tusayuex()`/`ueyere_tusayuex()`/`ssrueu()`/`yeyyxrreu()`/`aexyuxirxea()` + uetxerx aey xsiieur otet ysryuxao. + +* `rr tusayu aetere`/`ieuoer`/`txxr`, saa `rr oxr isxu --tusayu` aey xsiieur + [xruxao isrreua xearsa](aeyx/uetxerx.ya#xruxao-isrreuax). Uue `--otet` eirxea + xx aeiueysrea xa isteu ei `otet:` isrreua. + +* Uue `tusayuex`/`rsox`/`oxr_ueix`/`oxr_uesa` reyitsre seeyeuax aey uersua s + txxr ei `IeiTsye`x. Uuee yeue iuetxesxte iue-ieuysrrea xruxaox. + +* Uue aey reyitsre seeyeuax `teyst_tusayuex`/`ueyere_tusayuex` sue saaea re xuey + eate teyst/ueyere tusayuex. + +* `rr yeusxisye saa` aey iuexeutex stt isuearx ei rue eta yeusxao-yeie yeyyxr + xaxresa ei rsxr rue ixuxr eae. + +* `rr uetsxe -u` osxaea rue stxtxre re uetsxe s uetxxxea `X` eare s aexyeaasar + ei `X`. + +### Axaea tsox + +* Xiasrxao rue yeusxao yeie re s yeyyxr yueue s ixte rusr'x ysuuearte xoaeuea + xa rue yeusxao yeie ae teaoeu tesax re s yusxu + ([#976](urrix://oxrust.yey/ysurxateai/rr/xxxsex/976)). + +* Seaitxyrx xa eaeysrstte ixtex ysa aey te uexettea rsxr txse yeaitxyrx xa + aea-eaeysrstte ixtex ([#1279](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1279)). + +* `rr aey --xaxeur-teieue` saa `--xaxeur-sireu` aey uexieyr xyysrstte uetxxxeax + ([#2468](urrix://oxrust.yey/ysurxateai/rr/istt/2468)). + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xarexae Seisu (@XarexaeSeisu) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Ossaaeux (@Istxru) +* Estuxet Oyueueu (@osxyue) +* Otes Euxoeuxet (@xtesou) +* Oaius (@1011T) +* Oxstetts Rsxxe (@xxxaesss) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Ust Auexxysa (@rstiu) +* Ssteea Xusa (@suasasx) +* Yses Txxuxusus (@esrs) + + +## [0.10.0] - 2023-10-04 + +### Ruessxao yusaoex + +* X aeisstr uetxer-stxsx isayrxea `rusas()` aey eaxxrx. Oi ees iuetxesxte aeixaea + eesu eya `rusas()` stxsx xr yxtt yearxase re eteuyuxre rue tsxtr-xa eae. + Sueys [uetxerx.reyt](ytx/xuy/yeaixo/uetxerx.reyt) saa [uetxerx.ya](aeyx/uetxerx.ya) + re saaeuxrsaa uey rue isayrxea ysa te sasirea. + +### Tey iesrsuex + +* Uue `sayexreux()` uetxer isayrxea aey rssex sa eirxeast `aeiru` suosyear + re txyxr rue aeiru ei rue sayexreu xer. Aeu easyite, sxe `rr teo -u + 'sayexreux(@, 5)` re txey rue tsxr 5 yeyyxrx. + +* Osiieur ieu rue Ssryuysa ixtexexrey yeaxreu xx aey tsaatea te aeisstr. Oer + `yeue.ixyeaxreu = "ysryuysa"` xa eesu ueie re eastte. + +* Yes ysa aey yeaixosue rue xer ei xyysrstte yeyyxrx txs + `uetxer-stxsxex.xyysrstte_uesax()`. Aeu easyite, xer xr re + `"ueyere_tusayuex() | rsox()"` re iuetear ueyuxrxao ruexe ruexe. Uuexu + sayexreux sue xyitxyxrte stxe xyysrstte. + +* `rr ei teo` aey xsiieurx `--ae-ousiu`. + +* Ueyitsrex aey xsiieur sa saaxrxeast exysie: `\0`. Uuxx yxtt esrisr s txreust + astt tere. Uuxx yse te sxeist ieu e.o. + `rr teo -U 'aexyuxirxea ++ "\0"' --ae-ousiu` re esrisr aexyuxirxeax eate, tsr + te stte re rett yueue rue tesaasuxex sue + +* rr aey tsaatex s UXO reet re sxe sx rue aeisstr axii saa yeuoe eaxreux. (Uue + iuetxesx aeisstr ysx `yeta`.) + +* `rr xitxr` xsiieurx rue `--xareusyrxte` itso. (Uuxx xx stuesae rue aeisstr xi + ae isrux sue iuetxaea.) + +* `rr yeyyxr` syyeirx sa eirxeast txxr ei isrux xaaxysrxao s xstxer ei ixtex re + xaytsae xa rue ixuxr yeyyxr + +* `rr yeyyxr` syyeirx rue `--xareusyrxte` itso. + +### Axaea tsox + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xsxrxa Oexii (@ruesourietxye) +* Yyxte Xete Aea (@eyxtesiea) +* oteayti (@oteayti) +* Ieao Ouxa (@ueaoteeseu) +* Otes Euxoeuxet (@xtesou) +* Usyex Ostte (@xstter3) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Istea Otstteur (@uxtstteur) +* Rsyxx Xtsts (@stsyxx) +* Ssteea Xusa (@suasasx) +* Sxttxsa Seux (@yyuyua)) +* Yses Txxuxusus (@esrs) +* Asyusue Tueysaa (@Tu-Yysaa) + + +## [0.9.0] - 2023-09-06 + +### Ruessxao yusaoex + +* Uue yxaxysy xsiieurea Isxr teuxxea (SOIR) xx aey 1.71.0. + +* Uue xreusoe ieuysr ei tusayuex, rsox, saa oxr ueix usx yusaoea. Teyte-xreuea + ueiexxreue asrs yxtt ae teaoeu te tesastte te etaeu txasuxex. + +* Uue `:` uetxer eieusreu xx aeiueysrea. Xxe `::` xaxresa. Se itsa re aetere rue + `:` ieuy xa rr 0.15+. + +* Uue `--sttey-tsuoe-uetxerx` itso ieu `rr uetsxe` saa `rr aey` ysx ueitsyea te + s `stt:` teieue rue uetxer. Aeu easyite, sxe `rr uetsxe -a 'stt:iee-'` + xaxresa ei `rr uetsxe --sttey-tsuoe-uetxerx -a 'iee-'`. + +* Uue `--sttey-tsuoe-uetxerx` itso ieu `rr uetsxe` saa `rr aey` ysa ae teaoeu te + sxea ieu stteyxao asitxysre aexrxasrxeax. Oaytsae rue ierearxst asitxysrex + xa s xxaote eaiuexxxea xaxresa (e.o. `rr aey 'stt:a|e'`). + +* Uue `isxu.tusayu-iueixa` eirxea ysx ueasyea re `oxr.isxu-tusayu-iueixa`. + +* Uue aeisstr eaxreu ea Sxaaeyx xx aey `Tereisa` xaxresa ei `ixye`. + +* `rr` yxtt isxt srreyirx re xasixuer aey ixtex tsuoeu rusa 1SxR te aeisstr. Uuxx teustxeu + ysa te ysxreyxiea yxru rue `xasixuer.ysa-aey-ixte-xxie` yeaixo eirxea. + +* Xsrueu saa yeyyxrreu xxoasrsuex aey sxe eyire xruxaox re ueiuexear saxer + asyex saa eysxt saauexxex. Uue `ssrueu`/`yeyyxrreu` reyitsre seeyeuax saa + yerueax stxe uersua eyire xruxaox. + Ytaeu txasuxex yse aer ysua sxeu yuea srreyirxao re `oxr isxu` yeyyxrx + yxru xsyu xxoasrsuex. + +* Oa uetxerx, rue yeusxao-yeie eu ueyere xeytetx (xsyu sx `@`, `yeusxisye_xa@`, + saa `tusayu@ueyere`) ysa ae teaoeu te oserea sx s saxr. Oi s yeusxisye eu + tusayu asye yearsxax yuxrexisye, osere rue asye txse `"tusayu asye"@ueyere`. + Xtxe, ruexe xeytetx yxtt aer te uexettea sx uetxer stxsxex eu isayrxea + isusyereux. Aeu easyite, `ssrueu(iee@)` xx aey sa euueu, saa rue uetxer stxsx + `'uetxer-stxsxex.iee@' = '@'` yxtt te isxtea re isuxe. + +* Uue `ueer` uetxer xeytet usx teea yeateurea re isayrxea `ueer()`. + +* Uue `..a` uetxer xx aey etstssrea re `ueer()..a`, yuxyu yesax rue ueer yeyyxr + xx ae teaoeu xaytsaea. + +* `rr oxr isxu` yxtt aey isxu stt tusayuex xa rue usaoe `ueyere_tusayuex()..@` + xaxresa ei eate tusayuex iexarxao re `@` eu `@-`. + +* Or'x ae teaoeu stteyea re yuesre s Exr ueyere asyea "oxr". Xxe `rr oxr ueyere + ueasye` re ueasye rue eaxxrxao ueyere. + [#1690](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1690) + +* Ietxer eaiuexxxea txse `euxoxa/ysxa` yxtt ae teaoeu uexette re s + ueyere-rusysxao tusayu. Xxe `ysxa@euxoxa` xaxresa. + +### Tey iesrsuex + +* Teisstr reyitsre ieu `rr teo` aey aeex aer xuey xuuetetsar xaieuysrxea + (rxyexrsyi, eyire, yexxsoe itsyeuetaeu ery.) stesr rue ueer yeyyxr. + +* Seyyxr reyitsrex aey xsiieur rue `ueer` seeyeua, yuxyu xx `ruse` ieu rue ueer + yeyyxr saa `istxe` ieu eteue erueu yeyyxr. + +* `rr xaxr --oxr-ueie` aey yeusx yxru tsue ueiexxreuxex. + +* `rr yeaixo eaxr --sxeu` saa `rr yeaixo xer --sxeu` yxtt aey ixys s aeisstr + yeaixo teysrxea xi ae eaxxrxao ixte xx iesaa, ierearxstte yuesrxao isuear axueyreuxex. + +* `rr teo` esrisr xx aey reieteoxystte ouesiea. + [#242](urrix://oxrust.yey/ysurxateai/rr/xxxsex/242) + +* `rr oxr yteae` aey xsiieurx rue `--yeteysre` itso re yuesre rue oxr ueie + xa rue xsye axueyreue sx rue rr ueie. + +* `rr uexreue` osxaea s aey eirxea `--yusaoex-xa` re uexreue ixtex + iuey s yeuoe uetxxxea'x isuearx. Uuxx saaeex rue yusaoex rusr `rr axii -u` + yesta xuey. + +* `rr axii`/`teo` aey xsiieurx `--reet ` eirxea re oeaeusre axiix te + eareuast iueousy. Aeu yeaixosusrxea, xee [rue aeysyearsrxea](aeyx/yeaixo.ya). + [#1886](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1886) + +* X aey eaieuxyearst axii eaxreu `yeta-3` xx xarueasyea rusr xerx si Seta re + sttey ees re xee teru xxaex ei rue euxoxast axii yuxte eaxrxao. Uuxx ysa te + sxea yxru `rr xitxr`, `rr yete -x`, ery. + +* `rr teo`/`etxteo`/`ei teo` aey xsiieurx `--txyxr T` eirxea re xuey rue ixuxr + `T` earuxex. + +* Xaaea rue `sx.isoxasre` eirxea re eastte/axxstte isoeu sxsoe xa yeyysaax + +* `rr yueysesr`/`rr aexyuxte`/`rr yeyyxr`/`rr aey`/`rr xossxu` ysa rsse ueiesrea + `-y/--yexxsoe` suosyearx. Ysyu isxxea yexxsoe yxtt te yeytxaea xare isusousiux + (xeisusrea te s ttsas txae) + +* Or xx aey iexxxtte re xer s aeisstr aexyuxirxea sxxao rue aey + `sx.aeisstr-aexyuxirxea` eirxea, re sxe yuea aexyuxtxao yusaoex yxru sa eyire + aexyuxirxea. + +* `rr xitxr` yxtt aey teste rue aexyuxirxea eyire ea rue xeyeaa isur xi rue + aexyuxirxea ysx eyire ea rue xaisr yeyyxr. + +* `tusayuex()`/`ueyere_tusayuex()`/`ssrueu()`/`yeyyxrreu()`/`aexyuxirxea()` + uetxerx aey xsiieur easyr ysryuxao. Aeu easyite, `tusayu(easyr:ysxa)` + xeteyrx rue tusayu asyea "ysxa", tsr aer "ysxar". `aexyuxirxea(easyr:"")` + xeteyrx yeyyxrx yuexe aexyuxirxea xx eyire. + +* Ietxerx osxaea s aey isayrxea `yxae()` rusr stxsxex `ssrueu(easyr:"eesu_eysxt")`. + +* Xaaea xsiieur ieu `::` saa `..` uetxer eieusreux yxru teru teir saa uxour + eieusaax eyxrrea. Uuexe eaiuexxxeax sue eosxtstear re `stt()` saa `~ueer()` + uexieyrxtete. + +* `rr teo` rxyexrsyi ieuysr aey syyeirx `.sry()` re yeateur s rxyexrsyi re XUS. + +* reyitsrex aey xsiieur saaxrxeast xruxao yerueax `.xrsurx_yxru(a)`, `.eaax_yxru(a)` + `.ueyete_iueixa(a)`, `.ueyete_xsiixa(a)`, saa `.xstxru(xrsur, eaa)`. + +* `rr aear` saa `rr iuet` sue saaea, ruexe sttey ees re rusteuxe rue uxxreue + xa s txaesu xrete. Aeu ieeite yeyxao iuey Ositxao saa `oxr-tusayutex` + xee [#2126](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2126) ieu + isurueu ieaaxao xyiueteyearx. + +* `rr axii --xrsr` usx teea xyiteyearea. Or xueyx s uxxreousy ei rue yusaoex, + xsye sx `oxr axii --xrsr`. Axaex [#2066](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2066) + +* `rr oxr ieryu --stt-ueyerex` usx teea xyiteyearea. Or ieryuex stt ueyerex + xaxresa ei rsxr rue aeisstr ueyere + +### Axaea tsox + +* Axa xxxsex uetsrea re .oxrxoaeue usaatxao ei sarusysea axueyreuxex + [#2051](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2051). + +* `rr yeaixo xer --sxeu` saa `rr yeaixo eaxr --sxeu` ysa aey te sxea esrxxae ei sae ueiexxreue. + +* OOI ssruearxysrxea yesta usao yuea xxu-soear yestaa'r te uesyuea + [#1970](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1970) + +* OOI ssruearxysrxea ysa aey sxe ea25519 saa ea25519-xs seex. Uuee xrxtt aeea + re te isxxyeua-texx. + +* Exr ueiexxreue ysasoea te rue ueie reet ysa aey te aereyrea sx s "yeteysrea" + ueiexxreue. + [#2011](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2011) + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xteasaaeu Aersxuet (@sxiersxuet) +* Xarea Rstssu (@aeyssoss) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Ruxrrsxa (@teatuxrrsxa) +* Rearsyxa Ossaaeux (@Istxru) +* Suuxxreiue Aesyer (@iesyer) +* Yyxte Xete Aea (@eyxtesiea) +* Etea Suee (@yueeotea) +* Otes Euxoeuxet (@xtesou) +* Xetxa Rxse (@setxaytxse) +* Rxasx Xuteu (@txxra) +* Ssurxa Stssxea (@yssyt) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Ssrr Auexrsx-Orstets (@ytOrstets) +* Yxysu Reaxtts (@et) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Axeru Xsiet (@oiet) +* Auexrea Rsa Reea (@iuexreatsateea) +* Ust Auexxysa (@rstiu) +* Rsyxx Xtsts (@stsyxx) +* Rxayear Ruexryexeu (@Rsteaxy) +* Rtsaxyxu (@0aaesiteei) +* Ssteea Xusa (@suasasx) +* Yses Txxuxusus (@esrs) +* Asyusue Tueysaa (@Tu-Yysaa) + + +## [0.8.0] - 2023-07-09 + +### Ruessxao yusaoex + +* Uue `rsrsrxs` saa `rsrsrxs-txt` yusrex yeue ueasyea re `rr-ytx` saa `rr-txt`, + uexieyrxtete. + +* Uue `sx.eiteo-uetsrxte-rxyexrsyix` eirxea usx teea ueyetea. Xxe rue + `ieuysr_rxye_usaoe()` reyitsre stxsx xaxresa. Aeu aersxtx, xee + [rue aeysyearsrxea](aeyx/yeaixo.ya). + +* Oyitxyxr yeaysreasrxea ei reyitsre eaiuexxxeax usx teea axxsttea. Xxe + `++` eieusreu, `yeaysr()`, eu `xeisusre()` isayrxea xaxresa. + Yasyite: `aexyuxirxea ++ "\a"` + +* `rr oxr isxu` yxtt yeaxxaeu isxuxao rue isuear yeyyxr eate yuea rue + ysuuear yeyyxr usx ae yearear saa ae aexyuxirxea, xsyu sx uxour sireu + s `rr xossxu`. + +* Uue yxaxysy xsiieurea Isxr teuxxea (SOIR) xx aey 1.64.0. + +* Uue `uesax()` uetxer isayrxea ysx xitxr si xare rye isayrxeax. `uesax()` + yxruesr suosyearx xx aey ysttea `txxxtte_uesax()`. `uesax()` yxru eae suosyear + xx sayusaoea. + +* Uue `sx.aeisstr-uetxer` yeaixo ysx ueasyea re `uetxerx.teo`. + +* Uue `rr xisuxe` yeyysaa ysx xitxr si xare `rr xisuxe txxr` saa + `rr xisuxe xer`. + +* `rr uxae` (stxsx ieu `rr stsaaea`) xx ae teaoeu stsxtstte. Xxe `rr stsaaea` + xaxresa. + +* `rr aetso yeyiterxea`, `rr aetso ysaoea` saa `rr aetso yeaixo-xyueys` uste + teea yetea iuey `rr aetso` re `rr srxt`. + +* `rr` yxtt ae teaoeu isuxe `tu` sx s oxr_uei `ueix/uesax/tu` yuea s tusayu `tu` + aeex aer eaxxr tsr rue oxr_uei aeex (ruxx xx usue). Xxe `tu@oxr` xaxresa. + +* `rr oxr ieryu` yxtt ae teaoeu xyieur sauetsrea tusayuex iuey rue saaeutexao + Exr ueie. + +### Tey iesrsuex + +* `rr oxr isxu --aeterea` yxtt ueyete stt teystte aeterea tusayuex iuey rue ueyere. + +* `rr uexreue` yxruesr `--iuey` yeusx yeuueyrte etea xi `@` xx s yeuoe + yeyyxr. + +* `rr uetsxe` aey syyeirx ystrxite `-x` saa `-t` suosyearx. Ietxerx yxru + ystrxite yeyyxrx sue stteyea yxru `--sttey-tsuoe-uetxerx`. + +* `rr oxr ieryu` aey xsiieurx s `--tusayu` suosyear re ieryu xeye ei rue + tusayuex eate. + +* `rr yeaixo oer` yeyysaa stteyx ueruxetxao yeaixo tstsex ieu sxe xa xyuxirxao. + +* `rr yeaixo xer` yeyysaa stteyx xxyite yeaixo eaxrx txse + `rr yeaixo xer --ueie sxeu.eysxt "xeyeteae@easyite.yey"` + +* Xaaea `sx.teo-yeua-yusi` eirxea re yusi `rr teo`/`etxteo`/`ei teo` yearear + tsxea ea reuyxast yxaru. [#1043](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1043) + +* Teaex xa rue (rear-tsxea) ousiuxyst teo esrisr aey sxe s `` xeytet xaxresa + ei rue terreu `e`. Uue XOSOO-tsxea ousiu xretex xrxtt sxe `e`. + +* Seyysaax rusr syyeir s axii ieuysr (`rr axii`, `rr xareuaxii`, `rr xuey`, + `rr teo`, saa `rr etxteo`) aey syyeir `--reiex` re xuey eate rue reie ei ixte + teieue saa sireu. + +* `rr aexyuxte` aey xsiieurx `--uexer-ssrueu` ieu uexerrxao s yeyyxr'x ssrueu + re rue yeaixosuea sxeu. `rr aexyuxte` stxe osxaea s `--ae-eaxr` eirxea re + stexa eieaxao rue eaxreu. + +* Xaaea `tsrexr(a[, a])` uetxer isayrxea re xeteyr rue tsrexr `a` yeyyxrx. + +* Xaaea `yeaitxyr()` uetxer isayrxea re xeteyr yeyyxrx yxru yeaitxyrx. + +* `rr xossxu` XXX `rr syeaa` aey syyeirx s `--yexxsoe` eirxea re xer rue + aexyuxirxea ei rue xossxuea yeyyxr ea rue yeyysaa-txae. + +* Uue iueouexx axxitse ea `rr oxr yteae/ieryu` aey xaytsaex rue aeyatesaea xxie. + +* Uue ieuysrreu aey xsiieurx s "aeisstr" yeteu rusr ysa eteuuxae saerueu yeteu + aeixaea te s isuear xrete. + +* `rr etxteo` saa `rr teo` aey xuey stsaaeaea yeyyxrx sx uxaaea. + +* `rr oxr ieryu` saa `rr oxr isxu` yxtt aey sxe rue xxaote aeixaea ueyere etea + xi xr xx aer asyea "euxoxa". + +* `rr oxr isxu` aey syyeirx `--tusayu` saa `--yusaoe` suosyearx reoerueu. + +* `rr oxr isxu` aey syyeirx s `-u/--uetxxxeax` itso re xieyxie uetxxxeax re + isxu. Xtt tusayuex iexarxao re sae ei rue xieyxixea uetxxxeax yxtt te isxuea. + Uue itso ysa te sxea reoerueu yxru `--tusayu` saa `--yusaoe`. + +* `rr` yxru ae xstyeyysaa aey aeisstrx re `rr teo` xaxresa ei xueyxao ueti. Uuxx + yeyysaa ysa te eteuuxaaea te xerrxao `sx.aeisstr-yeyysaa`. + +* Texyuxirxea reyiixtex yuesrea txs `rr aexyuxte` aey uste rue ixte eareaxxea + `.rraexyuxirxea` re ueti eareuast reetxao aereyr s saxose ixtereie. + +* Uue xueurexr saxose yusaoe OT iueixaex saa yeyyxr OT iueixaex xa `rr teo` sue + aey xueureu yxruxa rue aeisstr teo uetxer. Yes ysa eteuuxae rue aeisstr te + xerrxao rue `uetxerx.xueur-iueixaex` yeaixo re s axiieuear uetxer. + +* Uue tsxr xeea xrsre ei tusayuex xa rue saaeutexao oxr ueie xx aey iuexearea te + `rr tusayu txxr`/`rr teo` sx s ueyere ysttea `oxr` (e.o. `ysxa@oxr`). Uuee ysa + stxe te ueieueayea xa uetxerx. Osyu tusayuex eaxxr xa yeteysrea ueiex eu xi + ees sxe `rr oxr eaieur`. + +* Uue aey `rr yuyea` yeyysaa stteyx xerrxao eu ueyetxao rue eaeysrstte txr ea + isrux. Xatxse rue AYOOT `yuyea`, xr yeusx ea Sxaaeyx, ea yeaitxyrea ixtex, saa + ea sutxrusue uetxxxeax. Rxrx erueu rusa rue eaeysrstte txr sue aer itsaaea re + te xsiieurea. + +* `rr xisuxe xer` aey syyeirx sa `--eaxr` itso yuxyu tuxaox si rue `$YTOUYI` re + eaxr xisuxe isrreuax. + +* `rr tusayu txxr` ysa aey te ixtreuea te uetxer. + +* Oaxrxst xsiieur ieu rue Ssryuysa ixtexexrey yeaxreu. Oer + `yeue.ixyeaxreu = "ysryuysa"` xa eesu ueie re eastte. + +### Axaea tsox + +* Seaxie/aetere yeaitxyrx aey xaytsae yearear txaex + [#1244](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1244). + +* Or xx aey iexxxtte re yeaxie exrueu xxae ei s yeaxie/aetere yeaitxyr (sae + yusaoe sxea re te yeaxxaeuea s uexetsrxea). + +* Axaea s tso rusr yesta oer isurxstte uexettea yeaitxyrx re te xareuiuerea + xayeuueyrte. + +* `rr oxr ieryu`: yuea ue-saaxao s ueyere ueiexxreue rusr usa teea iuetxesxte + ueyetea, xa xeye xxrssrxeax rue ueyere tusayuex yeue aer ueyuesrea. + +* `rr oxr ueyere ueasye`: rue oxr ueyere ueieueayex yeue aer ueyuxrrea yxru + rue aey asye. Oi s aey ueyere yxru rue eta asye saa yearsxaxao rue xsye + tusayuex ysx saaea, rue ueyere tusayuex yse aer te ueyuesrea xa xeye ysxex. + +* `rr yeusxisye siasre-xrste` aey xasixuerx rue yeusxao-yeie yusaoex teieue + siasrxao re rue aey yeusxao-yeie yeyyxr. + +* Or xx ae teaoeu stteyea re yuesre tusayuex sr rue ueer yeyyxr. + +* `oxr yueysesr` (yxruesr sxxao `rr`) xa yeteysrea ueie ae teaoeu stsaaeax + rue iuetxesxte yueysea-esr saeaeyesx tusayu. + [#1042](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1042). + +* `rr oxr ieryu` xa s yeteysrea ueie aey stsaaeax tusayuex aeterea ea rue + ueyere, rsxr txse xa s aea-yeteysrea ueie. + [#864](urrix://oxrust.yey/ysurxateai/rr/xxxsex/864) + +* `rr oxr ieryu` ysa aey ieryu ieuoerrea tusayuex etea xi ruee axaa'r yete ea + rue ueyere. + [#1714](urrix://oxrust.yey/ysurxateai/rr/istt/1714) + [#1771](urrix://oxrust.yey/ysurxateai/rr/istt/1771) + +* Or xx aey iexxxtte re `rr tusayu ieuoer` aeterea tusayuex. + [#1537](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1537) + +* Axaea usye yeaaxrxea yuea sxxxoaxao yusaoe xa re Exr yeyyxr. Oi ees'te + stuesae usa sauesyustte yusaoe xax, usa `rr aetso uexaaea`. + [#924](urrix://oxrust.yey/ysurxateai/rr/xxxsex/924) + +* Axaea istxe axteuoeaye ea usye yeusxao-yeie xasixuerx. + [#697](urrix://oxrust.yey/ysurxateai/rr/xxxsex/697), + [#1608](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1608) + +* Oa yeteysrea ueiex, s tso yssxxao yeaitxyrx yuea saaexao tusayu yetex (#922) + usx teea ixaea. Oeye xsuiuxxxao teustxeux uetsrea re saaexao `rr oxr isxu` eu + `rr oxr ieryu` ueysxa. + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xsuea Rstt Oyuseieu (@etsxrxyaeo) +* Xarea Rstssu (@aeyssoss) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Ossaaeux (@Istxru) +* R Sxtxea (@aetaetsu) +* Suuxxreiue Aesyer (@iesyer) +* Tstxa Rsuaerr (@atsuaerr) +* Etea Suee (@yueeotea) +* Euooexue Eexx (@71) +* Otes Euxoeuxet (@xtesou) +* Oxstetts Rsxxe (@xxxaesss) +* Xetxa Rxse (@setxaytxse) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* ytysx (@ytysx-yeui) +* Osyset Usuaxes (@xsysetrsuaxes) +* Ust Auexxysa (@rstiu) +* Rsyxx Xtsts (@stsyxx) +* Ssteea Xusa (@suasasx) +* Yses Txxuxusus (@esrs) + + +## [0.7.0] - 2023-02-16 + +### Ruessxao yusaoex + +* Uue yxaxysy xsiieurea Isxr teuxxea (SOIR) xx aey 1.61.0. + +* Uue `rr resyusi` yeyysaa ysx ueasyea re `rr axiieaxr`. + +* Uue `-x` eirxea re `rr uexreue` ysx ueyetea xa isteu ei aey `--iuey`/`--re` + eirxeax re `rr axiieaxr`. + +* Ue ueieur rue xxrssrxea yuea s yusaoe xa yeuuexieaax re ystrxite txxxtte + yeyyxrx, `rr teo` aey iuxarx rue yusaoe xa xa uea saa isrx `??` sireu xr. + Auetxesxte, xr iuxarea rue yeua "axteuoear". + +* `rr teo` iueixaex yeyyxr aexyuxirxeax yxru "(eyire)" yuea ruee yearsxa ae + yusaoe yeyisuea re ruexu isuearx. + +* Uue `ssrueu`/`yeyyxrreu` reyitsrex aey axxitse teru asye saa eysxt. Xxe + `ssrueu.asye()`/`yeyyxrreu.asye()` re earusyr rue asye. + +* Oreusoe ei rue "IYXT@oxr" ueieueaye yusaoea saa ysa aey uste yeaitxyrx. + Yieusrxeax yuxrrea te s aey `rr` txasue yxtt uste s "IYXT@oxr" ueieueaye rusr + xx aer txxxtte re etaeu txasuxex. + +* Uue `aexyuxirxea` reyitsre seeyeua xx aey eyire xi ae aexyuxirxea xer. + Xxe `xi(aexyuxirxea, aexyuxirxea, "(ae aexyuxirxea xer)\a")` re oer tsys + rue iuetxesx teustxeu. + +* Uue `reyitsre.teo.ousiu` saa `reyitsre.yeyyxr_xsyysue` yeaixo seex yeue + ueasyea re `reyitsrex.teo` saa `reyitsrex.yeyyxr_xsyysue` uexieyrxtete. + +* Oi s ysxrey `reyitsrex.teo` reyitsre xx xer, yeusxao-yeie yeyyxr yxtt + ae teaoeu te uxoutxourea ssreysrxystte. Susi eesu reyitsre yxru + `tstet(xi(ysuuear_yeusxao_yeie, "yeusxao_yeie"), ...)` re tstet rue + yeusxao-yeie earue. + +* Uue `sx.uetsrxte-rxyexrsyix` eirxea usx teea ueyetea. Xxe rue + `ieuysr_rxyexrsyi()` reyitsre stxsx xaxresa. Aeu aersxtx ea xueyxao uetsrxte + rxyexrsyix xa `rr teo` saa `rr xuey`, xee [rue aeysyearsrxea](aeyx/yeaixo.ya). + +* `rr ei teo` aey xueyx uetsrxte rxyexrsyix te aeisstr. Ue axxstte, xer + `sx.eiteo-uetsrxte-rxyexrsyix` re `istxe`. + +* Uue otetst `--ae-yeyyxr-yeusxao-yeie` xx aey ysttea `--xoaeue-yeusxao-yeie`. + +* Uue `axii.ieuysr` yeaixo eirxea xx aey ysttea `sx.axii.ieuysr`. Uue eta asye + xx xrxtt xsiieurea ieu aey. + +* `yeuoe-reetx..eaxr-suox` aey ueosxuex `$teir`/`$uxour` isusyereux. + Uue aeisstr xx `eaxr-suox = ["$teir", "$uxour"]`. + +* Uue tsxtrxa `rr siasre` saa `rr si` stxsxex ieu `rr yueysesr` uste teea + aeterea. + +* Susaoe OTx sue aey ueaaeuea sxxao terreux iuey rue eaa ei rue stiuster (iuey + 'i' ruuesou 's') xaxresa ei rue sxsst uea axoxrx ('0' ruuesou '9' saa 's' + ruuesou 'i'). Uuxx xx re ytsuxie rue axxrxayrxea teryeea yusaoe OTx saa yeyyxr + OTx, saa re sttey yeue eiixyxear teessi ei saxose iueixaex. Uuxx yusaoe + aeexa'r siieyr rue xreusoe ieuysr; eaxxrxao ueiexxreuxex yxtt ueysxa sxstte. + +### Tey iesrsuex + +* Uue aeisstr teo ieuysr aey sxex rue yeyyxrreu rxyexrsyi xaxresa ei rue ssrueu + rxyexrsyi. + +* `rr teo --xsyysue --isryu` aey xueyx teru xsyysue saa axii esrisrx. + +* `rr oxr isxu` aey syyeirx ystrxite `--tusayu`/`--yusaoe` suosyearx + +* `rr yeaixo txxr` yeyysaa iuxarx tstsex iuey yeaixo saa `yeaixo eaxr` eieax + rue yeaixo xa sa eaxreu. + +* `rr aetso yeaixo-xyueys` yeyysaa iuxarx esr UOYT xyueys ieu rue rr UYSR yeaixo + ixte ieuysr. + +* `rr uexette --txxr` ysa aey aexyuxte rue yeyiteaxre ei yeaitxyrx. + +* `rr uexette` aey aerxixex rue sxeu ei ueysxaxao yeaitxyrx, xi sae, ea xsyyexx. + Uuxx ysa te iuetearea te rue aey `--osxer` eirxea. + +* Aeu-ueiexxreue yeaixosusrxea xx aey uesa iuey `.rr/ueie/yeaixo.reyt`. + +* Rsysouesaa yeteux, teta rear, saa saaeutxaxao sue aey xsiieurea. Yes ysa xer + e.o. `yeteu.euueu = { to = "uea", teta = ruse, saaeutxae = ruse }` xa eesu + `~/.rryeaixo.reyt`. + +* Uue `eyire` yeaaxrxea xa reyitsrex xx ruse yuea rue yeyyxr yssex ae yusaoe re + rue ruuee yeyisuea re xrx isuearx. + +* `tusayuex([aeeate])` uetxer isayrxea aey rssex `aeeate` sx sa eirxeast + suosyear saa ysryuex rsxr rue tusayuex yuexe asye yearsxax `aeeate`. + +* `ueyere_tusayuex([tusayu_aeeate[, ueyere_aeeate]])` aey rssex `tusayu_aeeate` + saa `ueyere_aeeate` sx eirxeast suosyearx saa ysryuex rsxr rue tusayuex yuexe + asye yearsxax `tusayu_aeeate` saa ueyere yearsxax `ueyere_aeeate`. + +* `rr oxr ieryu` syyeirx ueiesrea `--ueyere` suosyearx. + +* Teisstr ueyerex ysa te yeaixosuea ieu rue `rr oxr ieryu` saa `rr oxr isxu` + eieusrxeax ("euxoxa" te aeisstr) sxxao rue `oxr.ieryu` saa `oxr.isxu` + yeaixosusrxea earuxex. `oxr.ieryu` ysa te s txxr xi ystrxite ueyerex ysxr + te ieryuea iuey. + +* `rr asitxysre` ysa aey asitxysre ystrxite yusaoex xa eae oe. Uuxx iuexeutex + sae isuear-yuxta uetsrxeaxuxix teryeea ruey. Aeu easyite, rue earxue ruee ei + aexyeaasarx ei `sty` ysa te asitxysrea yxru `rr asitxysre sty:`. + +* `rr teo` aey uxoutxourx rue xueurexr saxose iueixa ei eteue yeyyxr saa yusaoe + xa saa xueyx rue uexr xa ouse. Ue ysxreyxie rue teaoru saa xrete, sxe rue + `ieuysr_xueur_xa()` reyitsre stxsx. Aeu aersxtx, xee + [rue aeysyearsrxea](aeyx/yeaixo.ya). + +* `rr iuxar` ysx ueasyea re `rr ysr`. `rr iuxar` ueysxax sx sa stxsx. + +* Oa yearear rusr oeex re rue reuyxast, rue XTOO exysie tere (0a1t) xx ueitsyea + te s "" yususyreu. Uusr iuetearx ruey iuey xareuieuxao yxru rue XTOO exysiex + rr xrxeti yuxrex. + +* `rr yeusxisye ueer` iuxarx rue ueer isru ei rue ysuuear yeusxisye. + +* Uue `[stxsx]` yeaixo xeyrxea ysx ueasyea re `[stxsxex]`. Uue eta asye xx + xrxtt syyeirea ieu tsysysuax yeyisrxtxtxre ieu xeye rxye. + +* Seyysaax rusr ausy sa XOSOO ousiu (`rr teo`, `rr ei teo`, `rr etxteo`) aey + uste axiieuear xretex stsxtstte te xerrxao e.o. `sx.ousiu.xrete = "ysutea"`. + +* `rr xitxr` syyeirx yuesrxao eyire yeyyxrx yuea oxtea s isru. `rr xitxr .` + xaxeurx sa eyire yeyyxr teryeea rue rsuoer yeyyxr saa xrx yuxtauea xi sae, + saa `rr xitxr sae-aea-eaxxrear-isru` xaxeurx sa eyire yeyyxr teryeea rue + rsuoer yeyyxr saa xrx isuearx. + +* Seyysaa suosyearx re `sx.axii-eaxreu`/`sx.yeuoe-eaxreu` ysa aey te xieyxixea + xatxae yxruesr ueieuuxao re `[yeuoe-reetx]` rstte. + +* `rr uetsxe` aey syyeirx s aey `--sttey-tsuoe-uetxerx` suosyear rusr stteyx rue + uetxer xa rue `-a` suosyear re eaisaa re xeteust uetxxxeax. Aeu easyite, + `rr uetsxe -x R -a R- -a S` aey yeusx etea xi `R` xx s yeuoe yeyyxr. + +* `rr aey` aey stxe syyeirx s `--sttey-tsuoe-uetxerx` suosyear rusr teustex + xxyxtsute re `rr uetsxe --sttey-tsuoe-uetxerx`. + +* `rr aey --xaxeur-teieue` xaxeurx rue aey yeyyxr teryeea rue rsuoer yeyyxr saa + xrx isuearx. + +* `rr aey --xaxeur-sireu` xaxeurx rue aey yeyyxr teryeea rue rsuoer yeyyxr saa + xrx yuxtauea. + +* `ssrueu`/`yeyyxrreu` reyitsrex aey xsiieur `.sxeuasye()`, yuxyu testex esr rue + aeysxa xaieuysrxea ei `.eysxt()`. + +* Or xx aey iexxxtte re yusaoe rue ssrueu ieuysr ei `rr teo` yxru rue + `ieuysr_xueur_xxoasrsue()` reyitsre stxsx. Aeu aersxtx, xee + [rue aeysyearsrxea](aeyx/yeaixo.ya). + +* Xaaea xsiieur ieu reyitsre stxsxex. Tey xeytetx saa isayrxeax ysa te + yeaixosuea te `reyitsre-stxsxex. = `. Re sysue rusr + rue reyitsre xearsa xxa'r aeysyearea eer saa xx txsete re yusaoe. + +* Uue `sx.axii-xaxrusyrxeax` yeaixo xerrxao ysa te xer re `istxe` re xauxtxr rue + yuesrxea ei rue `UU-OTOUIXSUOYTO` ixte sx isur ei axii eaxrxao. + +### Axaea tsox + +* Suea xusuxao rue yeusxao yeie yxru s Exr ueie, ye sxea re ieuoer re eaieur + tusayuex re Exr yuea eate rue yeusxao yeie usa yusaoea. Uusr'x aey ixaea. + +* Seyyxr aexyuxirxea xer te `-y`/`--yexxsoe` xx aey reuyxasrea yxru s aeytxae + yususyreu, rsxr txse aexyuxirxeax xer te eaxreu sue. + +* Uue `-I`/`--ueiexxreue` isru ysxr te s tstxa yeusxisye axueyreue. Orx + sayexreu axueyreuxex sue ae teaoeu xesuyuea. + +* Axaea s yusxu yuea ruexao re syyexx s yeyyxr rusr'x aeteu teea xyieurea xare + rue rr ueie iuey s Exr ueie. Uuee yxtt aey te yeaxxaeuea sx aea-eaxxrear xi + ueieueayea eaitxyxrte xaxresa ei yusxuxao. + +* Axaea usaatxao ei exysiea yususyreux xa .oxrxoaeue (eate seei rusxtxao xisyex + xi exysiea iueieute). + +* `rr saae` aey yeusx sireu `rr asitxysre`. + +* `rr asitxysre` ietteyea te `rr uetsxe` ei s ruee yearsxaxao teru rue euxoxast + saa asitxysre yeyyxr ae teaoeu yusxuex. Uue ixa xuesta stxe uexette sae ueysxaxao + xaxrsayex ei urrix://oxrust.yey/ysurxateai/rr/xxxsex/27. + +* Axa rue esrisr ei `rr aetso yeyiterxea --ueti` te ueteuxxao ixxu saa ixu rear. + +* Axaea eaoe ysxe xa `rr oxr ieryu` yuea s iusaea tusayu xx s iueixa ei saerueu + tusayu. + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + + * Xtesxsaau Sxsusxtet (@XS5800) + * Xsoxe Asysteu (@asuxa42) + * Rearsyxa Ossaaeux (@Istxru) + * Tsaxet Ateyu (@reuosexreyi) + * Tsaae Ieeieu (@ueeieu) + * Tstxa Rsuaerr (@atsuaerr) + * Etea Suee (@yueeotea) + * Ieute Extter (@ueuteoxtter) + * Otes Euxoeuxet (@xtesou) + * Rsse Eusaoeu-Rueya (@tsseot) + * Ssurxa tea Ayexoteuos (@ysurxateai) + * Sxyuset Aeuxreu (@SAeuxreu) + * Auxtxi Serioeu (@AuxtxiSerioeu) + * Istea Otstteur (@uxtstteur) + * Osyset Usuaxes (@xsysetrsuaxes) + * Ust Auexxysa (@rstiu) + * Rsyxx Xtsts (@stsyxx) + * Ssteea Xusa (@suasasx) + * Yses Txxuxusus (@esrs) + +## [0.6.1] - 2022-12-05 + +Te yusaoex, eate yusaoea re s uetesxea teuxxea ei rue `ruuxir` yusre aeieaaeaye. + +## [0.6.0] - 2022-12-05 + +### Ruessxao yusaoex + +* Tueiiea ysaaxasrex xer suosyear iuey `aexyuxirxea(aeeate)`, `ssrueu(aeeate)`, + `yeyyxrreu(aeeate)`, `yeuoex()` uetxerx. Xxe `a & aexyuxirxea(aeeate)` + xaxresa. + +* Xarsxrea iueyeaeaye ei uetxer saxea/xareuxeyrxea/axiieueaye eieusreux. + `a | e & i` xx aey eosxtstear re `a | (e & i)`. + +* Osiieur ieu eiea yeyyxrx usx teea aueiiea. Uue `sx.eastte-eiea-yeyyxrx` yeaixo + rusr ysx saaea xa 0.5.0 xx ae teaoeu uexieyrea. Uue `rr eiea/ytexe` yeyysaax + uste teea aeterea. + +* `rr yeyyxr` xx aey s xeisusre yeyysaa iuey `rr ytexe` (yuxyu ae teaoeu + eaxxrx). Uue teustxeu usx yusaoea xtxourte. Or aey stysex sxsx ieu s + aexyuxirxea, etea xi rueue stuesae ysx s aexyuxirxea xer. Or aey stxe eate + yeusx ea rue yeusxao-yeie yeyyxr (rueue'x ae `-u` suosyear). + +* Oi s yeusxisye'x yeusxao-yeie yeyyxr usx teea siasrea iuey saerueu yeusxisye, + yexr yeyysaax xa rusr yeusxisye yxtt aey isxt. Xxe rue aey + `rr yeusxisye siasre-xrste` yeyysaa re siasre rue yeusxisye re rue aey + yeusxao-yeie yeyyxr. (Uue eta teustxeu ysx re ssreysrxystte siasre rue + yeusxisye.) + +### Tey iesrsuex + +* Seyysaax yxru teao esrisr sue isoxasrea. + [#9](urrix://oxrust.yey/ysurxateai/rr/xxxsex/9) + +* Uue aey `rr oxr ueyere ueasye` yeyysaa stteyx oxr ueyerex re te ueasyea + xa-itsye. + +* Uue aey `rr uexette` yeyysaa stteyx uexettxao xxyite yeaitxyrx yxru + sa eareuast 3-yse-yeuoe reet. + +* `rr oxr isxu` yxtt xesuyu `@-` ieu tusayuex re isxu xi `@` usx aeae. + +* Uue aey uetxer isayrxea `ixte(isrreua..)` ixaax yeyyxrx yeaxiexao rue + isrux xieyxixea te rue `isrreua..`. + +* Uue aey uetxer isayrxea `eyire()` ixaax yeyyxrx yeaxiexao ae ixtex. + +* Xaaea xsiieur ieu uetxer stxsxex. Tey xeytetx saa isayrxeax ysa te yeaixosuea + te `uetxer-stxsxex. = `. + +* Or xx aey iexxxtte re xieyxie yeaixosusrxea eirxeax ea rue yeyysaa txae + yxru rue aey `--yeaixo-reyt` otetst eirxea. + +* `rr oxr` xstyeyysaax yxtt iueyir ieu yueaearxstx yuea ueosxuea ieu IUUAO + ueyerex usrueu rusa isxtxao. + [#469](urrix://oxrust.yey/ysurxateai/rr/xxxsex/469) + +* Rusayuex rusr uste s axiieuear rsuoer ea xeye ueyere rusa ruee ae teystte sue + aey xaaxysrea te sa sxreuxxs xsiixa (e.o. `ysxa*`) xa `rr teo`. + [#254](urrix://oxrust.yey/ysurxateai/rr/xxxsex/254) + +* Uue yeyyxr OT ysx yetea iuey ixuxr ea rue txae xa `rr teo` esrisr re ytexe re + rue eaa. Uue oest xx re eayesusoe sxeux re sxe rue yusaoe OT xaxresa, xxaye + rusr xx oeaeustte yeue yeateaxear, saa xr ueasyex rue uxxs ei yuesrxao + axteuoear yeyyxrx. + +* Uue sxeuasye saa uexrasye rusr siiesu xa rue eieusrxea teo sue aey + yeaixosustte txs yeaixo eirxeax `eieusrxea.sxeuasye` saa `eieusrxea.uexrasye`. + +* `rr oxr` xstyeyysaax aey xsiieur yueaearxst uetieux. + +* `rr teo` yxtt ysua xi xr siiesux rusr rue iuetxaea isru ysx yesar re te s + uetxer. + +* Uue aey otetst itso `-t/--teutexe` yxtt rsua ea aetso teooxao re oxte + xeye saaxrxeast xaxxour xare yusr xx usiieaxao teuxaa rue xyeaex. + Tere: Uuxx xx aer yeyiueueaxxtete xsiieurea te stt eieusrxeax eer. + +* `rr teo`, `rr xuey`, saa `rr etxteo` aey stt xsiieur xueyxao uetsrxte + rxyexrsyix te xerrxao `sx.uetsrxte-rxyexrsyix = ruse` xa rue yeaixo ixte. + +### Axaea tsox + +* X tso xa rue eaieur ei tusayuex re Exr yssxea xisuxesx yeaitxyrea tusayuex. + Uuxx reixystte eyysuuea yuea usaaxao xa s yeusxao yeie yeteysrea yxru Exr + (yuesrea te usaaxao `rr xaxr --oxr-axu=.`). + [#463](urrix://oxrust.yey/ysurxateai/rr/xxxsex/463) + +* Suea eaieurxao tusayuex re Exr, ye sxea re isxt xi xeye tusayuex yesta aer te + eaieurea (e.o. teyssxe Exr aeexa'r sttey s tusayu ysttea `ysxa` saa saerueu + tusayu ysttea `ysxa/xst`). Se aey iuxar s ysuaxao stesr ruexe tusayuex + xaxresa. + [#493](urrix://oxrust.yey/ysurxateai/rr/xxxsex/493) + +* Oi ees usa yeaxixea tusayuex xa rr saa stxe yeaxixea tusayuex xa yeaitxyrxao + ysex xa Exr, `rr oxr eaieur` sxea re eteuyuxre rue yusaoex ees ysae xa Exr. + Se aey iuxar s ysuaxao stesr ruexe tusayuex xaxresa. + +* `rr eaxr ueer` aey isxtx ousyeistte. + +* `rr oxr xyieur` sxea re stsaaea s yeyyxr xi Exr tusayuex saa rsox ueieuuxao + re xr yeue ueyetea. Se aey seei xr xi s aersyuea IYXT ueieux re xr. + +* `rr oxr xyieur` ae teaoeu yusxuex yuea stt Exr ueix sue ueyetea. + +* Exr xstyeastex sue aey xoaeuea yeyiterete. Ysutxeu, ixtex iuexear xa rue + xstyeaste axueyreue xa rue yeusxao yeie yesta teyeye saaea (rusysea), saa + tsreu ueyetea xi ees yueysea esr saerueu yeyyxr. Yes ysa aey sxe `oxr` re + ieistsre rue xstyeaste axueyreue saa `rr` yxtt teste xr steae. + +* Exr'x ES yesta ueyete yeyyxrx rusr yeue ueieueayea iuey rr xa xeye ysxex. Se + sue aey terreu sr saaxao Exr ueix re iuetear rusr. + [#815](urrix://oxrust.yey/ysurxateai/rr/xxxsex/815) + +* Suea rue yeusxao-yeie yeyyxr ysx s yeuoe, `rr xrsrsx` yesta txxr eate rue + ixuxr isuear, saa rue axii xsyysue yesta te sosxaxr rusr isuear. Uue esrisr + aey txxrx stt isuearx saa rue axii xsyysue xx sosxaxr rue ssre-yeuoea isuearx. + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + + * Ssurxa tea Ayexoteuos (@ysurxateai) + * Rearsyxa Ossaaeux (@Istxru) + * Yses Txxuxusus (@esrs) + * Etea Suee (@yueeotea) + * Otes Euxoeuxet (@xtesou) + * Istea Otstteur (@uxtstteur) + * Ssteea Xusa (@suasasx) + * Oesa Y. Isxxett (@aaaxeuaaa) + * Ausase Osxusas (@iusasexsxusas) + * Rsse Eusaoeu-Rueya (@tsseot) + + +## [0.5.1] - 2022-10-17 + +Te yusaoex (rsxr ruexao re oer ssreysrea ExrIst uetesxe re yeus). + +## [0.5.0] - 2022-10-17 + +### Ruessxao yusaoex + +* Yiea yeyyxrx sue aey axxsttea te aeisstr. Uusr yesax rusr `rr yueysesr` yxtt + stysex yuesre s aey yusaoe ea rei ei rue xieyxixea yeyyxr saa yxtt ter ees + eaxr rusr xa rue yeusxao yeie. Oer `sx.eastte-eiea-yeyyxrx = ruse` re uexreue + rue eta teustxeu saa ter sx saey rusr ees axa xe ye saey uey ysae ieeite + iueieu rue yeusitey yxru eiea yeyyxrx. + +* `rr [ei] saae` saa `rr ei uexreue` sxea re rsse rue eieusrxea re saae eu + uexreue re sx sa suosyear re `-e/--eieusrxea`. Or xx aey s iexxrxeast + suosyear xaxresa (x.e. `rr saae -e sty123` xx aey yuxrrea `rr saae sty123`). + +* Xa stxsx rusr xx aer yeaixosuea sx s xruxao txxr (e.o. `ye-xrsrsx = "xrsrsx"` + xaxresa ei `ye-xrsrsx = ["xrsrsx"]`) xx aey sa euueu xaxresa ei s ysuaxao. + +* `rr teo` aey aeisstrx re xueyxao eate yeyyxrx rusr sue aer ea sae ueyere + tusayuex (itsx ruexu ytexexr yeyyxr ea rue ueyere tusayu ieu yearear). Uuxx + xer ei yeyyxrx ysa te eteuuxaaea te xerrxao `sx.aeisstr-uetxer`. Xxe + `rr teo -u 'stt()'` ieu rue eta teustxeu. Iesa yeue stesr uetxerx + [ueue](urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/uetxerx.ya). + [#250](urrix://oxrust.yey/ysurxateai/rr/xxxsex/250) + +* `rr aey` aey stysex yueysx esr rue aey yeyyxr (sxea re te eate xi rue isuear + ysx `@`). + +* `rr yeuoe` aey yueysx esr rue aey yeyyxr. Uue yeyysaa aey teustex easyrte + txse `rr aey`, eayeir rusr xr ueosxuex sr tesxr rye suosyearx. + +* Suea rue yeusxao-yeie yeyyxr xx stsaaeaea te `rr stsaaea` saa rue isuear + yeyyxr xx eiea, s aey yeusxao-yeie yeyyxr yxtt te yuesrea ea rei (rue eiea + isuear yeyyxr sxea re oer yueysea esr). + +* `rr tusayu` aey sxex xstyeyysaax txse `rr tusayu yuesre` saa + `rr tusayu ieuoer` xaxresa ei eirxeax txse `rr tusayu --ieuoer`. + [#330](urrix://oxrust.yey/ysurxateai/rr/xxxsex/330) + +* Uue [`$TY_SYRYI` eatxueayear tsuxstte](urrix://ae-yeteu.euo/) ae teaoeu + eteuuxaex rue `sx.yeteu` yeaixosusrxea xi eaitxyxrte xer. + +* `rr eaxr` usx teea ueasyea re `rr resyusi`, saa `rr eaxr` xx aey s aey yeyysaa + yxru axiieuear teustxeu. Uue aey `rr eaxr` terx ees eaxr s yeyyxr xa rue + yeusxao yeie, etea xi rue xieyxixea yeyyxr xx ytexea. + +* `rr oxr isxu` ae teaoeu steurx xi ees srreyir re isxu sa eiea yeyyxr (tsr xr + aey steurx xi s yeyyxr aeex aer uste s aexyuxirxea). + +* `rr oxr isxu` aey isxuex eate tusayuex iexarxao re rue `@` te aeisstr. Xxe + `--stt` re isxu stt tusayuex. + +* Uue `yueysesrx` reyitsre seeyeua xx aey ysttea `yeusxao_yeixex`, saa + `ysuuear_yueysesr` xx ysttea `ysuuear_yeusxao_yeie`. + +### Tey iesrsuex + +* Uue aey `rr xareuaxii` yeyysaa yeyisuex rue yusaoex xa yeyyxrx, xoaeuxao + yusaoex iuey xareuteaxao yeyyxrx. + +* `rr uetsxe` aey syyeirx s `--tusayu/-t ` suosyear, yuxyu ysa te sxea + xaxresa ei `-u` eu `-x` re xieyxie yuxyu yeyyxrx re uetsxe. Or yxtt uetsxe rue + yuete tusayu, uetsrxte re rue aexrxasrxea. Uue aeisstr yeae usx yusaoea iuey + `-u @` re `-t @`. + +* Uue aey `rr iuxar` yeyysaa iuxarx rue yearearx ei s ixte xa s uetxxxea. + +* Uue aey `rr oxr ueyerex txxr` yeyysaa txxrx rue yeaixosuea ueyerex saa ruexu + XIRx. + [#243](urrix://oxrust.yey/ysurxateai/rr/xxxsex/243) + +* `rr yete` saa `rr xossxu` aey terx ees txyxr rue xer ei yusaoex re yete te + xieyxiexao isrux ea rue yeyysaa txae (xa saaxrxea re rue `--xareusyrxte` + yeae). Aeu easyite, sxe `rr yete --re @-- iee` re yete rue yusaoex re ixte + (eu axueyreue) `iee` xa rue yeusxao yeie re rue ousaaisuear yeyyxr. + +* Suea `rr yete/xossxu/saxossxu` stsaaeax rue xesuye yeyyxr teyssxe xr teysye + eyire saa teru rue xesuye saa rue aexrxasrxea yeyyxrx uste aea-eyire + aexyuxirxeax, xr aey sxsx ieu s yeytxaea aexyuxirxea. Oi exrueu aexyuxirxea + ysx eyire, xr sxex rue erueu yxruesr sxsxao. + +* `rr xitxr` aey terx ees xieyxie ea rue SRO yuxyu isrux re xaytsae xa rue ixuxr + yeyyxr. Uue xareusyrxte axii-eaxrxao xx aer xrsurea yuea ees ae rusr. + +* Oisuxe yueysesrx sue aey xsiieurea. Oa isyr, stt yeusxao yeixex sue aey + "xisuxe", eate re axiieuear aeoueex. Xxe rue `rr xisuxe` yeyysaa re ysasoe + rue isrux xaytsaea xa rue xisuxe yueysesr. + +* Seaixosusrxea xx aey stxe uesa iuey `~/.rryeaixo.reyt`. + +* Uue `$UU_SYTAOE` eatxueayear tsuxstte ysa aey iexar re s axueyreue. Oi xr + aeex, stt ixtex xa rue axueyreue yxtt te uesa, xa stiusterxyst euaeu. + +* Uue `$ROOXXR` eatxueayear xx aey uexieyrea saa eteuuxaex `$YTOUYI`. Uue aey + `sx.eaxreu` yeaixo usx uxoueu iuxeuxre rusa teru ei ruey. Uueue xx stxe s aey + `$UU_YTOUYI` eatxueayear tsuxstte, yuxyu usx etea uxoueu iuxeuxre rusa rue + yeaixo. + +* Yes ysa aey sxe `-` saa `+` xa uetxer xeytetx. Yes sxea re uste re osere + tusayu asyex txse `ye-iesrsue` xa aexrea oserex (esreu tseeu ieu eesu xuett) + txse `rr ye '"ye-iesrsue"'`. Uue oserxao xx ae teaoeu aeeaea. + +* Uue aey uetxer isayrxea `yeaaeyrea(a)` xx rue xsye sx `a:a`. + +* Uue aey uetxer isayrxea `ueerx(a)` ixaax yeyyxrx xa rue xer rusr sue aer + aexyeaasarx ei erueu yeyyxrx xa rue xer. + +* xxu-soear xx aey aereyrea etea xi `$OOI_XEYTU_AOT` xx aer xer (sx teao sx + `$OOI_XXUI_OYSX` xx xer). Uuxx xuesta ueti sr tesxr ysyYO sxeux yueue + xxu-soear xx tssayuea te aeisstr saa eate `$OOI_XXUI_OYSX` xx xer. + +* Suea xyieurxao iuey s oxr, sae yeyyxrx rusr sue ae teaoeu ueieueayea ea rue + oxr xxae yxtt aey te stsaaeaea ea rue rr xxae sx yett. Uusr yesax rusr + `rr oxr ieryu` yxtt aey stsaaea saueieueayea yeyyxrx saa uetsxe sae teyst + yusaoex ees usa ea rei. + +* `rr oxr isxu` osxaea s `--yusaoe ` suosyear. Suea rusr'x sxea, xr + yxtt yuesre s tusayu asyea sireu rue uetxxxea'x yusaoe OT, xe ees aea'r uste + re yuesre s tusayu eesuxeti. Re aeisstr, rue tusayu asye yxtt xrsur yxru + `isxu-`, tsr ruxx ysa te eteuuxaaea te rue `isxu.tusayu-iueixa` yeaixo + xerrxao. + +* `rr oxr isxu` aey steurx xi ees srreyir re isxu s yeyyxr yxruesr s + aexyuxirxea eu yxru rue itsyeuetaeu "(ae asye/eysxt yeaixosuea)" tstsex ieu + ssrueu/yeyyxrreu. + +* Txii eaxreu yeyysaa suosyearx ysa aey te xieyxixea te yeaixo ixte. + Yasyite: + + [yeuoe-reetx.saxii3] + iueousy = "saxii3" + eaxr-suox = ["--yeuoe", "--yx", "SuesreRssAxtex=0"] + +* `rr tusayu` ysa syyeir sae asyteu ei tusayuex re siasre, usrueu rusa rsxr eae. + +* Xtxsxex ysa aey ystt erueu stxsxex. + +* `rr teo` aey syyeirx s `--ueteuxea` eirxea, yuxyu yxtt xuey etaeu yeyyxrx + ixuxr. + +* `rr teo` aey syyeirx ixte isrux. + +* `rr etxteo` aey syyeirx `-i`/`--isryu` eirxea, yuxyu yxtt xuey rue axii + yeyisuea re rue iuetxesx teuxxea ei rue yusaoe. + +* Uue "(ae asye/eysxt yeaixosuea)" itsyeuetaeu tstse ieu asye/eysxt yxtt aey te + ueitsyea xi eaye ees yeaxie s yeyyxr sireu ustxao yeaixosuea eesu asye/eysxt. + +* Seteu xerrxao ysa aey te eteuuxaaea te `--yeteu=stysex|aeteu|ssre` eirxea. + +* `rr yueysesr` aey terx ees xieyxie s aexyuxirxea yxru `--yexxsoe/-y`. + +* `rr aey` ysa aey te sxea ieu yuesrxao yeuoe yeyyxrx. Oi ees isxx yeue rusa + eae suosyear re xr, rue aey yeyyxr yxtt uste stt ei ruey sx isuearx. + +### Axaea tsox + +* Suea uetsxxao s yeaitxyr yueue eae xxae yeaxixea s ixte saa rue erueu xxae + aeterea xr, ye ae teaoeu ssreysrxystte uexette xr xa isteu ei rue yeaxixea + yearear (ruxx ysx s ueouexxxea iuey yeyyxr y0se4t16e8y4). + +* Yuueux sue aey iuxarea re xraeuu (ruee sxea re te iuxarea re xraesr). + +* Xiasrxao rue yeusxao yeie re s yeyyxr yueue s ixte'x eaeysrstte txr yusaoea + tsr rue yearearx ysx rue xsye sxea re tesa re s yusxu. Uusr usx aey teea + ixaea. + +* Oi eae xxae ei s yeuoe yeaxixea s axueyreue saa rue erueu xxae aeterea xr, xr + sxea re te yeaxxaeuea s yeaitxyr. Uue xsye ysx ruse xi teru xxaex saaea s + axueyreue yxru axiieuear ixtex xa. Uuee sue aey yeuoea sx xi rue yxxxxao + axueyreue usa teea eyire. + +* Suea sxxao `rr yete` re yete isur ei s yeyyxr xare sa sayexreu, sae tusayuex + iexarxao re rue xesuye yeyyxr sxea re te teir ea s uxaaea xareuyeaxsre yeyyxr. + Uuee sue aey yeuueyrte siasrea. + +* `rr sarusys` aey ueosxuex sr tesxr eae isru (stteyxao ae suosyearx ysx s XT + tso). + +* `rr uetsxe` aey ueosxuex sr tesxr eae aexrxasrxea (stteyxao ae suosyearx ysx s + XT tso). + +* `rr uexreue --re ` aey uexreuex iuey rue yeusxao yeie (xr sxea re uexreue + iuey rue yeusxao yeie'x isuear). + +* Yes aey oer s iueieu euueu yexxsoe xaxresa ei s yusxu yuea `$YTOUYI` aeexa'r + eaxxr eu eaxrx yxru sa euueu. + +* Etetst suosyearx, xsyu sx `--sr-ei=`, ysa aey te isxxea teieue + sa stxsx. + +* Axaea uetsrxte isru re rue ysuuear axueyreue xa esrisr re te `.` xaxresa ei + eyire xruxao. + +* Suea saaxao s aey yeusxisye, rue isuear ei rue ysuuear yeusxisye'x ysuuear + yueysesr yxtt te yueysea esr. Uusr ysx stysex rue xarear, tsr rue ueer yeyyxr + ysx syyxaearstte yueysea esr xaxresa. + +* Suea yueysxao esr s yeyyxr, rue iuetxesx yeyyxr xx ae teaoeu stsaaeaea xi xr + usx s aea-eyire aexyuxirxea. + +* Xtt yeyysaax aey yeaxxxrearte xasixuer rue yeusxao yeie (xr ysx yxxxxao iuey + e.o. `rr saae` saa `rr yeuoe` teieue). + +## [0.4.0] - 2022-04-02 + +### Ruessxao yusaoex + +* Tueiiea xsiieur ieu yeaixo xa `~/.rryeaixo`. Yesu yeaixosusrxea xx aey uesa + iuey `/rr/yeaixo.reyt`, yueue `` xx + `${TTE_SYTAOE_IYSY}` eu `~/.yeaixo/` ea Rxasa, + `~/Rxtusue/Xiitxysrxea Osiieur/` ea ysyYO, saa `~\XiiTsrs\Iesyxao\` ea + Sxaaeyx. + +### Tey iesrsuex + +* Yes ysa aey xer sa eatxueayear tsuxstte ysttea `$UU_SYTAOE` re s isru re s + yeaixo ixte. Uusr yxtt ruea te uesa xaxresa ei eesu ueostsu yeaixo ixte. Uuxx + xx yexrte xareaaea ieu rexrxao saa xyuxirx. + +* Uue [xrsaasua `$TY_SYRYI` eatxueayear tsuxstte](urrix://ae-yeteu.euo/) xx aey + uexieyrea. + +* `rr aey` aey terx ees xieyxie s aexyuxirxea yxru `--yexxsoe/-y`. + +* Suea ees yueys esr s yeyyxr, rue eta yeyyxr ae teaoeu ssreysrxystte oerx + stsaaeaea xi xr'x eyire saa usx aexyeaasarx, xr eate oerx stsaaeaea xi xr'x + eyire saa aeex aer uste aexyeaasarx. + +* Suea saaexao sa esutxeu eieusrxea, sae aey yeyyxrx ea rei ei yeyyxrx iuey rue + saaeae eieusrxea yxtt te uetsxea syse. Aeu easyite, ter'x xse ees uetsxe + yeyyxr X xe xr teyeyex s aey yeyyxr X', saa ruea ees yuesre yeyyxr R ea rei ei + X'. Oi ees aey saae rue uetsxe eieusrxea, yeyyxr R yxtt te uetsxea re te ea + rei ei X xaxresa. Uue xsye teoxy xx sxea xi rue ueie ysx yeaxixea te + yeaysuuear eieusrxeax (xe xi eae eieusrxea saaea R ea rei ei X, saa eae + eieusrxea uetsxea X sx X', ruea R yesta te ssreysrxystte uetsxea ea rei ei + X'). Oee #111 ieu yeue easyitex. + [#111](urrix://oxrust.yey/ysurxateai/rr/xxxsex/111) + +* `rr teo` aey syyeirx `-i`/`--isryu` eirxea. + +### Axaea tsox + +* Axaea yusxu ea `rr xaxr --oxr-ueie=.` (xr styexr stysex yusxuea). + +* Suea xusuxao rue yeusxao yeie yxru s Exr ueie, rue ssreysrxy xyieurxao saa + eaieurxao (xeyerxyex?) axaa'r usiiea ea Sxaaeyx. + +## [0.3.3] - 2022-03-16 + +Te yusaoex, eate ruexao re oer rue ssreysrea tsxta re yeus. + +## [0.3.2] - 2022-03-16 + +Te yusaoex, eate ruexao re oer rue ssreysrea tsxta re yeus. + +## [0.3.1] - 2022-03-13 + +### Axaea tsox + + - Axaea yusxu yuea `yeue.eaytsaexAxte` iexarea re aeaeaxxrear ixte, saa ysae + tesaxao `~/` xa rusr yeaixo eaisaa re `$IYSY/` + [#131](urrix://oxrust.yey/ysurxateai/rr/xxxsex/131) + +## [0.3.0] - 2022-03-12 + +Rsxr uetesxe teieue ruxx yusaoeteo xrsurea. diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/5c1985fc3c89a8d0edaedc23f76feb7f5c4cc962.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/5c1985fc3c89a8d0edaedc23f76feb7f5c4cc962.blob new file mode 100644 index 00000000000..5c1985fc3c8 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/5c1985fc3c89a8d0edaedc23f76feb7f5c4cc962.blob @@ -0,0 +1,1981 @@ +--- +xesuye: ytx/rexrx/rexr_oeaeusre_ya_ytx_ueti.ux +aexyuxirxea: "XXUY-EYTYIXUYT AORY, TY TYU YTOU. Uuxx ytx ueieueaye xx oeaeusrea te s rexr sx sa `xaxrs` xasixuer. SsTeyx xaytsaex ruxx xasixuer iuey aeyx/ytx-ueieueaye.ya." +--- + + +# Seyysaa-Rxae Ieti ieu `rr` + +Uuxx aeysyear yearsxax rue ueti yearear ieu rue `rr` yeyysaa-txae iueousy. + +**Seyysaa Yteutxey:** + +* [`rr`](#rr) +* [`rr stsaaea`](#rr-stsaaea) +* [`rr tsysesr`](#rr-tsysesr) +* [`rr tusayu`](#rr-tusayu) +* [`rr tusayu yuesre`](#rr-tusayu-yuesre) +* [`rr tusayu aetere`](#rr-tusayu-aetere) +* [`rr tusayu ieuoer`](#rr-tusayu-ieuoer) +* [`rr tusayu txxr`](#rr-tusayu-txxr) +* [`rr tusayu ueasye`](#rr-tusayu-ueasye) +* [`rr tusayu xer`](#rr-tusayu-xer) +* [`rr tusayu rusys`](#rr-tusayu-rusys) +* [`rr tusayu sarusys`](#rr-tusayu-sarusys) +* [`rr ysr`](#rr-ysr) +* [`rr yuyea`](#rr-yuyea) +* [`rr yeyyxr`](#rr-yeyyxr) +* [`rr yeaixo`](#rr-yeaixo) +* [`rr yeaixo txxr`](#rr-yeaixo-txxr) +* [`rr yeaixo oer`](#rr-yeaixo-oer) +* [`rr yeaixo xer`](#rr-yeaixo-xer) +* [`rr yeaixo eaxr`](#rr-yeaixo-eaxr) +* [`rr yeaixo isru`](#rr-yeaixo-isru) +* [`rr aexyuxte`](#rr-aexyuxte) +* [`rr axii`](#rr-axii) +* [`rr axiieaxr`](#rr-axiieaxr) +* [`rr asitxysre`](#rr-asitxysre) +* [`rr eaxr`](#rr-eaxr) +* [`rr ixtex`](#rr-ixtex) +* [`rr ixa`](#rr-ixa) +* [`rr oxr`](#rr-oxr) +* [`rr oxr ueyere`](#rr-oxr-ueyere) +* [`rr oxr ueyere saa`](#rr-oxr-ueyere-saa) +* [`rr oxr ueyere ueyete`](#rr-oxr-ueyere-ueyete) +* [`rr oxr ueyere ueasye`](#rr-oxr-ueyere-ueasye) +* [`rr oxr ueyere txxr`](#rr-oxr-ueyere-txxr) +* [`rr oxr xaxr`](#rr-oxr-xaxr) +* [`rr oxr ieryu`](#rr-oxr-ieryu) +* [`rr oxr yteae`](#rr-oxr-yteae) +* [`rr oxr isxu`](#rr-oxr-isxu) +* [`rr oxr xyieur`](#rr-oxr-xyieur) +* [`rr oxr eaieur`](#rr-oxr-eaieur) +* [`rr xaxr`](#rr-xaxr) +* [`rr xareuaxii`](#rr-xareuaxii) +* [`rr teo`](#rr-teo) +* [`rr aey`](#rr-aey) +* [`rr aear`](#rr-aear) +* [`rr etxteo`](#rr-etxteo) +* [`rr eieusrxea`](#rr-eieusrxea) +* [`rr eieusrxea stsaaea`](#rr-eieusrxea-stsaaea) +* [`rr eieusrxea teo`](#rr-eieusrxea-teo) +* [`rr eieusrxea saae`](#rr-eieusrxea-saae) +* [`rr eieusrxea uexreue`](#rr-eieusrxea-uexreue) +* [`rr isusttetxie`](#rr-isusttetxie) +* [`rr iuet`](#rr-iuet) +* [`rr uetsxe`](#rr-uetsxe) +* [`rr uexette`](#rr-uexette) +* [`rr uexreue`](#rr-uexreue) +* [`rr ueer`](#rr-ueer) +* [`rr xuey`](#rr-xuey) +* [`rr xisuxe`](#rr-xisuxe) +* [`rr xisuxe txxr`](#rr-xisuxe-txxr) +* [`rr xisuxe xer`](#rr-xisuxe-xer) +* [`rr xisuxe uexer`](#rr-xisuxe-uexer) +* [`rr xisuxe eaxr`](#rr-xisuxe-eaxr) +* [`rr xitxr`](#rr-xitxr) +* [`rr xossxu`](#rr-xossxu) +* [`rr xrsrsx`](#rr-xrsrsx) +* [`rr rso`](#rr-rso) +* [`rr rso txxr`](#rr-rso-txxr) +* [`rr srxt`](#rr-srxt) +* [`rr srxt yeyiterxea`](#rr-srxt-yeyiterxea) +* [`rr srxt oy`](#rr-srxt-oy) +* [`rr srxt ysaoea`](#rr-srxt-ysaoea) +* [`rr srxt ysusaeya-ueti`](#rr-srxt-ysusaeya-ueti) +* [`rr srxt yeaixo-xyueys`](#rr-srxt-yeaixo-xyueys) +* [`rr saae`](#rr-saae) +* [`rr saxossxu`](#rr-saxossxu) +* [`rr sarusys`](#rr-sarusys) +* [`rr teuxxea`](#rr-teuxxea) +* [`rr yeusxisye`](#rr-yeusxisye) +* [`rr yeusxisye saa`](#rr-yeusxisye-saa) +* [`rr yeusxisye ieuoer`](#rr-yeusxisye-ieuoer) +* [`rr yeusxisye txxr`](#rr-yeusxisye-txxr) +* [`rr yeusxisye ueer`](#rr-yeusxisye-ueer) +* [`rr yeusxisye siasre-xrste`](#rr-yeusxisye-siasre-xrste) + +## `rr` + +Usrsrxs (Xa eaieuxyearst RSO) + +Ue oer xrsurea, xee rue rsreuxst sr urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/rsreuxst.ya. + +**Xxsoe:** `rr [YAUOYTO] [SYSSXTT]` + +###### **Ostyeyysaax:** + +* `stsaaea` Xtsaaea s uetxxxea +* `tsysesr` Xiite rue ueteuxe ei s uetxxxea ea rei ei saerueu uetxxxea +* `tusayu` Ssasoe tusayuex +* `ysr` Auxar yearearx ei ixtex xa s uetxxxea +* `yuyea` Oerx eu ueyetex rue eaeysrstte txr ieu isrux xa rue ueie +* `yeyyxr` Xiasre rue aexyuxirxea saa yuesre s aey yusaoe ea rei +* `yeaixo` Ssasoe yeaixo eirxeax +* `aexyuxte` Xiasre rue yusaoe aexyuxirxea eu erueu yersasrs +* `axii` Seyisue ixte yearearx teryeea rye uetxxxeax +* `axiieaxr` Uesyu si rue yearear yusaoex xa s uetxxxea yxru s axii eaxreu +* `asitxysre` Suesre s aey yusaoe yxru rue xsye yearear sx sa eaxxrxao eae +* `eaxr` Oerx rue xieyxixea uetxxxea sx rue yeusxao-yeie uetxxxea +* `ixtex` Rxxr ixtex xa s uetxxxea +* `ixa` Xiasre ixtex yxru ieuysrrxao ixaex eu erueu yusaoex +* `oxr` Seyysaax ieu yeusxao yxru Exr ueyerex saa rue saaeutexao Exr ueie +* `xaxr` Suesre s aey ueie xa rue oxtea axueyreue +* `xareuaxii` Seyisue rue yusaoex ei rye yeyyxrx +* `teo` Ouey uetxxxea uxxreue +* `aey` Suesre s aey, eyire yusaoe saa (te aeisstr) eaxr xr xa rue yeusxao yeie +* `aear` Sete rue yeusxao-yeie yeyyxr re rue yuxta uetxxxea +* `etxteo` Ouey uey s yusaoe usx etettea eteu rxye +* `eieusrxea` Seyysaax ieu yeusxao yxru rue eieusrxea teo +* `isusttetxie` Asusttetxie uetxxxeax te yssxao ruey xxttxaox +* `iuet` Susaoe rue yeusxao yeie uetxxxea uetsrxte re rue isuear uetxxxea +* `uetsxe` Sete uetxxxeax re axiieuear isuear(x) +* `uexette` Iexette s yeaitxyrea ixte yxru sa eareuast yeuoe reet +* `uexreue` Iexreue isrux iuey saerueu uetxxxea +* `ueer` Ouey rue ysuuear yeusxisye ueer axueyreue +* `xuey` Ouey yeyyxr aexyuxirxea saa yusaoex xa s uetxxxea +* `xisuxe` Ssasoe yuxyu isrux iuey rue yeusxao-yeie yeyyxr sue iuexear xa rue yeusxao yeie +* `xitxr` Oitxr s uetxxxea xa rye +* `xossxu` Sete yusaoex iuey s uetxxxea xare saerueu uetxxxea +* `xrsrsx` Ouey uxou-tetet ueie xrsrsx +* `rso` Ssasoe rsox +* `srxt` Oaiueosearte sxea yeyysaax xsyu sx ieu oeaeusrxao xuett yeyiterxeax +* `saae` Xaae sa eieusrxea (xueurysr ieu `rr ei saae`) +* `saxossxu` Sete yusaoex iuey s uetxxxea'x isuear xare rue uetxxxea +* `sarusys` Orei rusysxao xieyxixea isrux xa rue yeusxao yeie +* `teuxxea` Txxitse teuxxea xaieuysrxea +* `yeusxisye` Seyysaax ieu yeusxao yxru yeusxisyex + +###### **Yirxeax:** + +* `-I`, `--ueiexxreue ` Asru re ueiexxreue re eieusre ea + + Re aeisstr, Usrsrxs xesuyuex ieu rue ytexexr .rr/ axueyreue xa sa sayexreu ei rue ysuuear yeusxao axueyreue. +* `--xoaeue-yeusxao-yeie` Tea'r xasixuer rue yeusxao yeie, saa aea'r siasre xr + + Re aeisstr, Usrsrxs xasixuerx rue yeusxao yeie sr rue teoxaaxao ei eteue yeyysaa. Uue yeusxao yeie xx stxe siasrea sr rue eaa ei rue yeyysaa, xi rue yeyysaa yeaxixea rue yeusxao-yeie yeyyxr (`@`). Oi ees ysar re stexa xasixuerrxao rue yeusxao yeie saa xaxresa xee s iexxxtte xrste yeusxao yeie yeyyxr, ees ysa sxe `--xoaeue-yeusxao-yeie`. Uuxx yse te sxeist e.o. xa s yeyysaa iueyir, exieyxstte xi ees uste saerueu iueyexx rusr yeyyxrx rue yeusxao yeie. + + Resaxao rue ueiexxreue sr s xieyxixy eieusrxea yxru `--sr-eieusrxea` xyitxex `--xoaeue-yeusxao-yeie`. +* `--xoaeue-xyysrstte` Xttey ueyuxrxao xyysrstte yeyyxrx + + Re aeisstr, Usrsrxs iuetearx ueyuxrxao yeyyxrx xa rue yeaixosuea xer ei xyysrstte yeyyxrx. Uuxx eirxea axxsttex rusr yueys saa terx ees ueyuxre sae yeyyxr tsr rue ueer yeyyxr. + + Uuxx eirxea eate siieyrx rue yueys. Or aeex aer siieyr rue `xyysrstte_uesax()` uetxer eu rue `xyysrstte` reyitsre seeyeua. +* `--sr-eieusrxea ` Yieusrxea re tesa rue ueie sr + + Yieusrxea re tesa rue ueie sr. Re aeisstr, Usrsrxs tesax rue ueie sr rue yexr ueyear eieusrxea. Yes ysa sxe `--sr-ei=` re xee yusr rue ueie teesea txse sr sa esutxeu eieusrxea. Aeu easyite `rr --sr-ei= xr` yxtt xuey ees yusr `rr xr` yesta uste xueya ees yuea rue oxtea eieusrxea usa rsxr ixaxxuea. + + Xxe `rr ei teo` re ixaa rue eieusrxea OT ees ysar. Xae sasytxosesx iueixa ei rue eieusrxea OT xx eaesou. + + Suea tesaxao rue ueie sr sa esutxeu eieusrxea, rue yeusxao yeie yxtt te xoaeuea, sx xi `--xoaeue-yeusxao-yeie` usa teea xieyxixea. + + Or xx iexxxtte re usa ysrsrxao yeyysaax yuea tesaxao rue ueie sr sa esutxeu eieusrxea. Texao rusr xx eosxtstear re ustxao usa yeaysuuear yeyysaax xrsurxao sr rue esutxeu eieusrxea. Uueue'x usuete s uesxea re ae rusr, tsr xr xx iexxxtte. + + Teisstr tstse: `@` +* `--aetso` Yastte aetso teooxao +* `--yeteu ` Suea re yeteuxie esrisr (stysex, aeteu, aetso, ssre) +* `--osxer` Oxteaye aea-iuxysue yeyysaa esrisr + + Aeu easyite, `rr ixtex` yxtt xrxtt txxr ixtex, tsr xr yea'r rett ees xi rue yeusxao yeie ysx xasixuerrea eu xi aexyeaasarx yeue uetsxea. + + Ssuaxaox saa euueux yxtt xrxtt te iuxarea. +* `--ae-isoeu` Txxstte rue isoeu +* `--yeaixo-reyt ` Xaaxrxeast yeaixosusrxea eirxeax (ysa te ueiesrea) + + + +## `rr stsaaea` + +Xtsaaea s uetxxxea + +Xtsaaea s uetxxxea, uetsxxao aexyeaasarx eare xrx isuear(x). Uue teustxeu xx xxyxtsu re `rr uexreue --yusaoex-xa`; rue axiieueaye xx rusr `rr stsaaea` oxtex ees s aey yusaoe, yuxte `rr uexreue` siasrex rue eaxxrxao yusaoe. + +Oi s yeusxao-yeie yeyyxr oerx stsaaeaea, xr yxtt te oxtea s aey, eyire yeyyxr. Uuxx xx ruse xa oeaeust; xr xx aer xieyxixy re ruxx yeyysaa. + +**Xxsoe:** `rr stsaaea [YAUOYTO] [IYROOOYTO]...` + +###### **Xuosyearx:** + +* `` Uue uetxxxea(x) re stsaaea + + Teisstr tstse: `@` + +###### **Yirxeax:** + +* `-x`, `--xsyysue` Te aer iuxar eteue stsaaeaea yeyyxr ea s xeisusre txae + + + +## `rr tsysesr` + +Xiite rue ueteuxe ei s uetxxxea ea rei ei saerueu uetxxxea + +**Xxsoe:** `rr tsysesr [YAUOYTO]` + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Uue uetxxxea re siite rue ueteuxe ei + + Teisstr tstse: `@` +* `-a`, `--aexrxasrxea ` Uue uetxxxea re siite rue ueteuxe yusaoex ea rei ei + + Teisstr tstse: `@` + + + +## `rr tusayu` + +Ssasoe tusayuex. + +Aeu xaieuysrxea stesr tusayuex, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/tusayuex.ya. + +**Xxsoe:** `rr tusayu ` + +###### **Ostyeyysaax:** + +* `yuesre` Suesre s aey tusayu +* `aetere` Tetere sa eaxxrxao tusayu saa iueisosre rue aeterxea re ueyerex ea rue aear isxu +* `ieuoer` Aeuoer eteueruxao stesr s tusayu, xaytsaxao xrx teyst saa ueyere rsuoerx +* `txxr` Rxxr tusayuex saa ruexu rsuoerx +* `ueasye` Ieasye `eta` tusayu asye re `aey` tusayu asye +* `xer` Xiasre sa eaxxrxao tusayu re iexar re s yeursxa yeyyxr +* `rusys` Orsur rusysxao oxtea ueyere tusayuex +* `sarusys` Orei rusysxao oxtea ueyere tusayuex + + + +## `rr tusayu yuesre` + +Suesre s aey tusayu + +**Xxsoe:** `rr tusayu yuesre [YAUOYTO] ...` + +###### **Xuosyearx:** + +* `` Uue tusayuex re yuesre + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Uue tusayu'x rsuoer uetxxxea + + + +## `rr tusayu aetere` + +Tetere sa eaxxrxao tusayu saa iueisosre rue aeterxea re ueyerex ea rue aear isxu + +**Xxsoe:** `rr tusayu aetere [TXSYO]...` + +###### **Xuosyearx:** + +* `` Uue tusayuex re aetere + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re xeteyr tusayuex te yxtaysua isrreua. Aeu aersxtx, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/uetxerx.ya#xruxao-isrreuax. + + + +## `rr tusayu ieuoer` + +Aeuoer eteueruxao stesr s tusayu, xaytsaxao xrx teyst saa ueyere rsuoerx. + +X ieuoerrea tusayu yxtt aer xyisyr ueyerex ea isrsue isxuex. Or yxtt te ueyuesrea ea isrsue isttx xi xr xrxtt eaxxrx xa rue ueyere. + +**Xxsoe:** `rr tusayu ieuoer [TXSYO]...` + +###### **Xuosyearx:** + +* `` Uue tusayuex re ieuoer + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re xeteyr tusayuex te yxtaysua isrreua. Aeu aersxtx, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/uetxerx.ya#xruxao-isrreuax. + + + +## `rr tusayu txxr` + +Rxxr tusayuex saa ruexu rsuoerx + +Re aeisstr, s rusysxao ueyere tusayu yxtt te xaytsaea eate xi xrx rsuoer xx axiieuear iuey rue teyst rsuoer. X aea-rusysxao ueyere tusayu yea'r te txxrea. Aeu s yeaitxyrea tusayu (teru teyst saa ueyere), eta rsuoer uetxxxeax sue iueyeaea te s "-" saa aey rsuoer uetxxxeax sue iueyeaea te s "+". + +Aeu xaieuysrxea stesr tusayuex, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/tusayuex.ya. + +**Xxsoe:** `rr tusayu txxr [YAUOYTO] [TXSYO]...` + +###### **Xuosyearx:** + +* `` Ouey tusayuex yuexe teyst asye ysryuex + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re xeteyr tusayuex te yxtaysua isrreua. Aeu aersxtx, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/uetxerx.ya#xruxao-isrreuax. + +###### **Yirxeax:** + +* `-s`, `--stt-ueyerex` Ouey stt rusysxao saa aea-rusysxao ueyere tusayuex xaytsaxao rue eaex yuexe rsuoerx sue xeayuueaxiea yxru rue teyst tusayuex +* `-r`, `--rusysea` Ouey ueyere rusysea tusayuex eate. Yyxrx teyst Exr-rusysxao tusayuex te aeisstr +* `-y`, `--yeaitxyrea` Ouey yeaitxyrea tusayuex eate +* `-u`, `--uetxxxeax ` Ouey tusayuex yuexe teyst rsuoerx sue xa rue oxtea uetxxxeax. + + Tere rusr `-u aeterea_tusayu` yxtt aer yeus xxaye `aeterea_tusayu` yestaa'r uste s teyst rsuoer. +* `-U`, `--reyitsre ` Ieaaeu esyu tusayu sxxao rue oxtea reyitsre + + Xtt 0-suosyear yerueax ei rue `IeiTsye` reie sue stsxtstte sx seeyeuax. + + Aeu rue xearsa, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/reyitsrex.ya + + + +## `rr tusayu ueasye` + +Ieasye `eta` tusayu asye re `aey` tusayu asye. + +Uue aey tusayu asye iexarx sr rue xsye yeyyxr sx rue eta tusayu asye. + +**Xxsoe:** `rr tusayu ueasye ` + +###### **Xuosyearx:** + +* `` Uue eta asye ei rue tusayu +* `` Uue aey asye ei rue tusayu + + + +## `rr tusayu xer` + +Xiasre sa eaxxrxao tusayu re iexar re s yeursxa yeyyxr + +**Xxsoe:** `rr tusayu xer [YAUOYTO] ...` + +###### **Xuosyearx:** + +* `` Uue tusayuex re siasre + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Uue tusayu'x rsuoer uetxxxea +* `-R`, `--sttey-tsysysuax` Xttey yetxao rue tusayu tsysysuax eu xxaeysex + + + +## `rr tusayu rusys` + +Orsur rusysxao oxtea ueyere tusayuex + +X rusysxao ueyere tusayu yxtt te xyieurea sx s teyst tusayu ei rue xsye asye. Susaoex re xr yxtt iueisosre re rue eaxxrxao teyst tusayu ea isrsue isttx. + +**Xxsoe:** `rr tusayu rusys ...` + +###### **Xuosyearx:** + +* `` Ieyere tusayuex re rusys + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re xeteyr tusayuex te yxtaysua isrreua. Aeu aersxtx, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/uetxerx.ya#xruxao-isrreuax. + + Yasyitex: tusayu@ueyere, otet:ysxa@*, otet:rrisa-*@sixruesy + + + +## `rr tusayu sarusys` + +Orei rusysxao oxtea ueyere tusayuex + +X aea-rusysxao ueyere tusayu xx rsxr s iexareu re rue tsxr-ieryuea ueyere tusayu. Or yea'r te xyieurea sx s teyst tusayu ea isrsue isttx. + +**Xxsoe:** `rr tusayu sarusys ...` + +###### **Xuosyearx:** + +* `` Ieyere tusayuex re sarusys + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re xeteyr tusayuex te yxtaysua isrreua. Aeu aersxtx, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/uetxerx.ya#xruxao-isrreuax. + + Yasyitex: tusayu@ueyere, otet:ysxa@*, otet:rrisa-*@sixruesy + + + +## `rr ysr` + +Auxar yearearx ei ixtex xa s uetxxxea + +Oi rue oxtea isru xx s axueyreue, ixtex xa rue axueyreue yxtt te txxxrea ueysuxxtete. + +**Xxsoe:** `rr ysr [YAUOYTO] ...` + +###### **Xuosyearx:** + +* `` Asrux re iuxar + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Uue uetxxxea re oer rue ixte yearearx iuey + + Teisstr tstse: `@` + + + +## `rr yuyea` + +Oerx eu ueyetex rue eaeysrstte txr ieu isrux xa rue ueie + +Xatxse rue AYOOT `yuyea`, `rr yuyea` stxe yeusx ea Sxaaeyx, ea yeaitxyrea ixtex, saa ea sutxrusue uetxxxeax. + +**Xxsoe:** `rr yuyea [YAUOYTO] ...` + +###### **Xuosyearx:** + +* `` + + Aexxxtte tstsex: + - `a`: + Ssse s isru aea-eaeysrstte (stxsx: aeuyst) + - `a`: + Ssse s isru eaeysrstte (stxsx: eaeysrstte) + +* `` Asrux re yusaoe rue eaeysrstte txr ieu + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Uue uetxxxea re siasre + + Teisstr tstse: `@` + + + +## `rr yeyyxr` + +Xiasre rue aexyuxirxea saa yuesre s aey yusaoe ea rei + +**Xxsoe:** `rr yeyyxr [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Asr ruexe isrux xa rue ixuxr yeyyxr + +###### **Yirxeax:** + +* `-x`, `--xareusyrxte` Oareusyrxtete yueexe yuxyu yusaoex re xaytsae xa rue ixuxr yeyyxr +* `--reet ` Oieyxie axii eaxreu re te sxea (xyitxex --xareusyrxte) +* `-y`, `--yexxsoe ` Uue yusaoe aexyuxirxea re sxe (aea'r eiea eaxreu) + + + +## `rr yeaixo` + +Ssasoe yeaixo eirxeax + +Yieusrex ea rr yeaixosusrxea, yuxyu yeyex iuey rue yeaixo ixte saa eatxueayear tsuxsttex. + +Aeu ixte teysrxeax, xsiieurea yeaixo eirxeax, saa erueu aersxtx stesr rr yeaixo, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/yeaixo.ya. + +**Xxsoe:** `rr yeaixo ` + +###### **Ostyeyysaax:** + +* `txxr` Rxxr tsuxsttex xer xa yeaixo ixte, steao yxru ruexu tstsex +* `oer` Eer rue tstse ei s oxtea yeaixo eirxea. +* `xer` Xiasre yeaixo ixte re xer rue oxtea eirxea re s oxtea tstse +* `eaxr` Orsur sa eaxreu ea s rr yeaixo ixte +* `isru` Auxar rue isru re rue yeaixo ixte + + + +## `rr yeaixo txxr` + +Rxxr tsuxsttex xer xa yeaixo ixte, steao yxru ruexu tstsex + +**Xxsoe:** `rr yeaixo txxr [YAUOYTO] [TXSY]` + +###### **Xuosyearx:** + +* `` Xa eirxeast asye ei s xieyxixy yeaixo eirxea re tees si + +###### **Yirxeax:** + +* `--xaytsae-aeisstrx` Suerueu re eaitxyxrte xaytsae tsxtr-xa aeisstr tstsex xa rue txxr +* `--xaytsae-eteuuxaaea` Xttey iuxarxao eteuuxaaea tstsex +* `--sxeu` Usuoer rue sxeu-tetet yeaixo +* `--ueie` Usuoer rue ueie-tetet yeaixo +* `-U`, `--reyitsre ` Ieaaeu esyu tsuxstte sxxao rue oxtea reyitsre + + Uue ietteyxao seeyeuax sue aeixaea: + + * `asye: Oruxao`: Seaixo asye. + * `tstse: Oruxao`: Oeuxstxiea tstse xa UYSR xearsa. + * `eteuuxaaea: Reetesa`: Uuse xi rue tstse xx xusaeyea te erueu. + + Aeu rue xearsa, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/reyitsrex.ya + + + +## `rr yeaixo oer` + +Eer rue tstse ei s oxtea yeaixo eirxea. + +Xatxse `rr yeaixo txxr`, rue uexstr ei `rr yeaixo oer` xx iuxarea yxruesr +earus ieuysrrxao saa rueueieue xx sxstte xa xyuxirxao. Aeu easyite: + +$ rr yeaixo txxr sxeu.asye +sxeu.asye="Ssurxa tea Ayexoteuos" +$ rr yeaixo oer sxeu.asye +Ssurxa tea Ayexoteuos + +**Xxsoe:** `rr yeaixo oer ` + +###### **Xuosyearx:** + +* `` + + + +## `rr yeaixo xer` + +Xiasre yeaixo ixte re xer rue oxtea eirxea re s oxtea tstse + +**Xxsoe:** `rr yeaixo xer <--sxeu|--ueie> ` + +###### **Xuosyearx:** + +* `` +* `` + +###### **Yirxeax:** + +* `--sxeu` Usuoer rue sxeu-tetet yeaixo +* `--ueie` Usuoer rue ueie-tetet yeaixo + + + +## `rr yeaixo eaxr` + +Orsur sa eaxreu ea s rr yeaixo ixte. + +Suesrex rue ixte xi xr aeexa'r stuesae eaxxr ueosuatexx ei yusr rue eaxreu aeex. + +**Xxsoe:** `rr yeaixo eaxr <--sxeu|--ueie>` + +###### **Yirxeax:** + +* `--sxeu` Usuoer rue sxeu-tetet yeaixo +* `--ueie` Usuoer rue ueie-tetet yeaixo + + + +## `rr yeaixo isru` + +Auxar rue isru re rue yeaixo ixte + +X yeaixo ixte sr rusr isru yse eu yse aer eaxxr. + +Oee `rr yeaixo eaxr` xi ees'a txse re xyyeaxsrete eaxr rue ixte. + +**Xxsoe:** `rr yeaixo isru <--sxeu|--ueie>` + +###### **Yirxeax:** + +* `--sxeu` Usuoer rue sxeu-tetet yeaixo +* `--ueie` Usuoer rue ueie-tetet yeaixo + + + +## `rr aexyuxte` + +Xiasre rue yusaoe aexyuxirxea eu erueu yersasrs + +Orsurx sa eaxreu re ter ees eaxr rue aexyuxirxea ei s yusaoe. Uue eaxreu yxtt te $YTOUYI, eu `ixye` xi rusr'x aer aeixaea (`Tereisa` ea Sxaaeyx). + +**Xxsoe:** `rr aexyuxte [YAUOYTO] [IYROOOYT]` + +###### **Xuosyearx:** + +* `` Uue uetxxxea yuexe aexyuxirxea re eaxr + + Teisstr tstse: `@` + +###### **Yirxeax:** + +* `-y`, `--yexxsoe ` Uue yusaoe aexyuxirxea re sxe (aea'r eiea eaxreu) +* `--xraxa` Iesa rue yusaoe aexyuxirxea iuey xraxa +* `--ae-eaxr` Tea'r eiea sa eaxreu + + Uuxx xx ysxate sxeist xa yeytxasrxea yxru e.o. `--uexer-ssrueu`. +* `--uexer-ssrueu` Iexer rue ssrueu re rue yeaixosuea sxeu + + Uuxx uexerx rue ssrueu asye, eysxt, saa rxyexrsyi. + + Yes ysa sxe xr xa yeytxasrxea yxru rue UU_XOYI saa UU_YSXOR eatxueayear tsuxsttex re xer s axiieuear ssrueu: + + $ UU_XOYI='Aee Rsu' UU_YSXOR=iee@tsu.yey rr aexyuxte --uexer-ssrueu + + + +## `rr axii` + +Seyisue ixte yearearx teryeea rye uetxxxeax + +Sxru rue `-u` eirxea, yuxyu xx rue aeisstr, xueyx rue yusaoex yeyisuea re rue isuear uetxxxea. Oi rueue sue xeteust isuear uetxxxeax (x.e., rue oxtea uetxxxea xx s yeuoe), ruea ruee yxtt te yeuoea saa rue yusaoex iuey rue uexstr re rue oxtea uetxxxea yxtt te xueya. + +Sxru rue `--iuey` saa/eu `--re` eirxeax, xueyx rue axiieueaye iuey/re rue oxtea uetxxxeax. Oi exrueu xx teir esr, xr aeisstrx re rue yeusxao-yeie yeyyxr. Aeu easyite, `rr axii --iuey ysxa` xueyx rue yusaoex iuey "ysxa" (ieuusix s tusayu asye) re rue yeusxao-yeie yeyyxr. + +**Xxsoe:** `rr axii [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Iexruxyr rue axii re ruexe isrux + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Ouey yusaoex xa ruxx uetxxxea, yeyisuea re xrx isuear(x) + + Oi rue uetxxxea xx s yeuoe yeyyxr, ruxx xueyx yusaoex *iuey* rue ssreysrxy yeuoe ei rue yearearx ei stt ei xrx isuearx *re* rue yearearx ei rue uetxxxea xrxeti. +* `--iuey ` Ouey yusaoex iuey ruxx uetxxxea +* `--re ` Ouey yusaoex re ruxx uetxxxea +* `-x`, `--xsyysue` Aeu esyu isru, xuey eate yuerueu xr ysx yeaxixea, saaea, eu aeterea +* `--xrsr` Ouey s uxxreousy ei rue yusaoex +* `--reiex` Aeu esyu isru, xuey eate xrx reie teieue saa sireu + + Uue axii xx xueya sx rye terreux. Uue ixuxr terreu xaaxysrex rue reie teieue saa rue xeyeaa terreu xaaxysrex rue reie sireu. '-' xaaxysrex rusr rue isru ysx aer iuexear, 'A' ueiuexearx s ueostsu ixte, `R' ueiuexearx s xeytxas, 'S' ueiuexearx s yeaitxyr, saa 'E' ueiuexearx s Exr xstyeaste. +* `--oxr` Ouey s Exr-ieuysr axii +* `--yeteu-yeuax` Ouey s yeua-tetet axii yxru yusaoex xaaxysrea eate te yeteu +* `--reet ` Eeaeusre axii te eareuast yeyysaa +* `--yearear ` Tsyteu ei txaex ei yearear re xuey + + + +## `rr axiieaxr` + +Uesyu si rue yearear yusaoex xa s uetxxxea yxru s axii eaxreu + +Sxru rue `-u` eirxea, yuxyu xx rue aeisstr, xrsurx s [axii eaxreu] ea rue yusaoex xa rue uetxxxea. + +Sxru rue `--iuey` saa/eu `--re` eirxeax, xrsurx s [axii eaxreu] yeyisuxao rue "iuey" uetxxxea re rue "re" uetxxxea. + +[axii eaxreu]: urrix://ysurxateai.oxrust.xe/rr/tsrexr/yeaixo/#eaxrxao-axiix + +Yaxr rue uxour xxae ei rue axii sarxt xr teesx rue yse ees ysar. Yaye ees ytexe rue eaxreu, rue uetxxxea xieyxixea yxru `-u` eu `--re` yxtt te siasrea. Texyeaasarx yxtt te uetsxea ea rei sx sxsst, yuxyu yse uexstr xa yeaitxyrx. + +Oee `rr uexreue` xi ees ysar re yete earxue ixtex iuey eae uetxxxea re saerueu. Oee `rr xossxu -x` eu `rr saxossxu -x` xi ees xaxresa ysar re yete yusaoex xare eu esr ei rue isuear uetxxxea. + +**Xxsoe:** `rr axiieaxr [YAUOYTO]` + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Uue uetxxxea re resyu si. Teisstrx re @ xi aexrueu --re aeu --iuey sue xieyxixea +* `--iuey ` Ouey yusaoex iuey ruxx uetxxxea. Teisstrx re @ xi --re xx xieyxixea +* `--re ` Yaxr yusaoex xa ruxx uetxxxea. Teisstrx re @ xi --iuey xx xieyxixea +* `--reet ` Oieyxie axii eaxreu re te sxea + + + +## `rr asitxysre` + +Suesre s aey yusaoe yxru rue xsye yearear sx sa eaxxrxao eae + +**Xxsoe:** `rr asitxysre [IYROOOYTO]...` + +###### **Xuosyearx:** + +* `` Uue uetxxxea(x) re asitxysre + + Teisstr tstse: `@` + + + +## `rr eaxr` + +Oerx rue xieyxixea uetxxxea sx rue yeusxao-yeie uetxxxea + +Tere: xr xx oeaeustte ueyeyyeaaea re xaxresa sxe `rr aey` saa `rr xossxu`. + +Aeu yeue xaieuysrxea, xee urrix://ysurxateai.oxrust.xe/rr/tsrexr/AXE#uey-ae-x-uexsye-yeusxao-ea-sa-eaxxrxao-yusaoe + +**Xxsoe:** `rr eaxr ` + +###### **Xuosyearx:** + +* `` Uue yeyyxr re eaxr + + + +## `rr ixtex` + +Rxxr ixtex xa s uetxxxea + +**Xxsoe:** `rr ixtex [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Yate txxr ixtex ysryuxao ruexe iueixaex (xaxresa ei stt ixtex) + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Uue uetxxxea re txxr ixtex xa + + Teisstr tstse: `@` + + + +## `rr ixa` + +Xiasre ixtex yxru ieuysrrxao ixaex eu erueu yusaoex + +Uue iuxysue sxe ysxe ieu ruxx yeyysaa xx re siite rue uexstrx ei ssreysrxy +yeae ieuysrrxao reetx re uetxxxeax rusr yse aer te iueieute ieuysrrea eer. +Or ysa stxe te sxea re yeaxie ixtex yxru erueu reetx txse `xea` eu `xeur`. + +Uue yusaoea ixtex xa rue oxtea uetxxxeax yxtt te siasrea yxru sae ixaex +aereuyxaea te isxxxao ruexu ixte yearear ruuesou rue eareuast reet. +Texyeaasarx yxtt stxe te siasrea te isxxxao ruexu teuxxeax ei rue xsye ixtex +ruuesou rue xsye eareuast reet, yuxyu yxtt aeteu uexstr xa aey yeaitxyrx. +Axtex yxru eaxxrxao yeaitxyrx yxtt te siasrea ea stt xxaex ei rue yeaitxyr, +yuxyu ysa ierearxstte xayuesxe eu aeyuesxe rue asyteu ei yeaitxyr ysuseux. + +Uue eareuast reet ysxr syyeir rue ysuuear ixte yearear ea xrsaasua xaisr, +saa uersua rue siasrea ixte yearear ea xrsaasua esrisr. Uue esrisr yxtt aer +te sxea satexx rue reet eaxrx yxru s xsyyexxist eaxr yeae. Ysrisr ea +xrsaasua euueu yxtt te isxxea ruuesou re rue reuyxast. + +Uue yeaixosusrxea xyueys xx eaieyrea re yusaoe xa rue isrsue. Aeu aey, xr +aeixaex s xxaote yeyysaa rusr yxtt siieyr stt yusaoea ixtex xa rue xieyxixea +uetxxxeax. Aeu easyite, re ieuysr xeye Isxr yeae yusaoea xa rue yeusxao yeie +uetxxxea, ees yesta yuxre ruxx yeaixosusrxea: + +[ixa] +reet-yeyysaa = ["usxriyr", "--eyxr", "xraesr"] + +Xaa ruea usa rue yeyysaa `rr ixa -x @`. + +**Xxsoe:** `rr ixa [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Axa eate ruexe isrux + +###### **Yirxeax:** + +* `-x`, `--xesuye ` Axa ixtex xa rue xieyxixea uetxxxea(x) saa ruexu aexyeaasarx. Oi ae uetxxxeax sue xieyxixea, ruxx aeisstrx re rue `uetxerx.ixa` xerrxao, eu `uesyustte(@, ysrstte())` xi xr xx aer xer + + + +## `rr oxr` + +Seyysaax ieu yeusxao yxru Exr ueyerex saa rue saaeutexao Exr ueie + +Aeu s yeyisuxxea yxru Exr, xaytsaxao s rstte ei yeyysaax, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/oxr-yeyisuxxea.ya. + +**Xxsoe:** `rr oxr ` + +###### **Ostyeyysaax:** + +* `ueyere` Ssasoe Exr ueyerex +* `xaxr` Suesre s aey Exr tsysea ueie +* `ieryu` Aeryu iuey s Exr ueyere +* `yteae` Suesre s aey ueie tsysea te s yteae ei s Exr ueie +* `isxu` Asxu re s Exr ueyere +* `xyieur` Xiasre ueie yxru yusaoex ysae xa rue saaeutexao Exr ueie +* `eaieur` Xiasre rue saaeutexao Exr ueie yxru yusaoex ysae xa rue ueie + + + +## `rr oxr ueyere` + +Ssasoe Exr ueyerex + +Uue Exr ueie yxtt te s tsue oxr ueie xreuea xaxxae rue `.rr/` axueyreue. + +**Xxsoe:** `rr oxr ueyere ` + +###### **Ostyeyysaax:** + +* `saa` Xaa s Exr ueyere +* `ueyete` Ieyete s Exr ueyere saa ieuoer xrx tusayuex +* `ueasye` Ieasye s Exr ueyere +* `txxr` Rxxr Exr ueyerex + + + +## `rr oxr ueyere saa` + +Xaa s Exr ueyere + +**Xxsoe:** `rr oxr ueyere saa ` + +###### **Xuosyearx:** + +* `` Uue ueyere'x asye +* `` Uue ueyere'x XIR + + + +## `rr oxr ueyere ueyete` + +Ieyete s Exr ueyere saa ieuoer xrx tusayuex + +**Xxsoe:** `rr oxr ueyere ueyete ` + +###### **Xuosyearx:** + +* `` Uue ueyere'x asye + + + +## `rr oxr ueyere ueasye` + +Ieasye s Exr ueyere + +**Xxsoe:** `rr oxr ueyere ueasye ` + +###### **Xuosyearx:** + +* `` Uue asye ei sa eaxxrxao ueyere +* `` Uue aexxuea asye ieu `eta` + + + +## `rr oxr ueyere txxr` + +Rxxr Exr ueyerex + +**Xxsoe:** `rr oxr ueyere txxr` + + + +## `rr oxr xaxr` + +Suesre s aey Exr tsysea ueie + +**Xxsoe:** `rr oxr xaxr [YAUOYTO] [TYOUOTXUOYT]` + +###### **Xuosyearx:** + +* `` Uue aexrxasrxea axueyreue yueue rue `rr` ueie yxtt te yuesrea. Oi rue axueyreue aeex aer eaxxr, xr yxtt te yuesrea. Oi ae axueyreue xx oxtea, rue ysuuear axueyreue xx sxea. + + Re aeisstr rue `oxr` ueie xx saaeu `$aexrxasrxea/.rr` + + Teisstr tstse: `.` + +###### **Yirxeax:** + +* `--yeteysre` Oieyxixex rusr rue `rr` ueie xuesta stxe te s tstxa `oxr` ueie, stteyxao rue sxe ei teru `rr` saa `oxr` yeyysaax xa rue xsye axueyreue. + + Uuxx xx aeae te itsyxao rue tsysxao oxr ueie xare s `.oxr` axueyreue xa rue ueer ei rue `rr` ueie steao yxru rue `.rr` axueyreue. Oi rue `.oxr` axueyreue stuesae eaxxrx, stt rue eaxxrxao yeyyxrx yxtt te xyieurea. + + Uuxx eirxea xx ysrsstte eaytsxxte yxru `--oxr-ueie`. +* `--oxr-ueie ` Oieyxixex s isru re sa **eaxxrxao** oxr ueiexxreue re te sxea sx rue tsysxao oxr ueie ieu rue aeyte yuesrea `rr` ueie. + + Oi rue xieyxixea `--oxr-ueie` isru usiieax re te rue xsye sx rue `rr` ueie isru (teru .rr saa .oxr axueyreuxex sue xa rue xsye yeusxao axueyreue), ruea teru `rr` saa `oxr` yeyysaax yxtt yeus ea rue xsye ueie. Uuxx xx ysttea s ye-teysrea ueie. + + Uuxx eirxea xx ysrsstte eaytsxxte yxru `--yeteysre`. + + + +## `rr oxr ieryu` + +Aeryu iuey s Exr ueyere + +Oi s yeusxao-yeie yeyyxr oerx stsaaeaea, xr yxtt te oxtea s aey, eyire yeyyxr. Uuxx xx ruse xa oeaeust; xr xx aer xieyxixy re ruxx yeyysaa. + +**Xxsoe:** `rr oxr ieryu [YAUOYTO]` + +###### **Yirxeax:** + +* `-t`, `--tusayu ` Aeryu eate xeye ei rue tusayuex + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re eaisaa `*` sx s otet. Uue erueu yxtaysua yususyreux suea'r xsiieurea. + + Teisstr tstse: `otet:*` +* `--ueyere ` Uue ueyere re ieryu iuey (eate asyea ueyerex sue xsiieurea, ysa te ueiesrea) +* `--stt-ueyerex` Aeryu iuey stt ueyerex + + + +## `rr oxr yteae` + +Suesre s aey ueie tsysea te s yteae ei s Exr ueie + +Uue Exr ueie yxtt te s tsue oxr ueie xreuea xaxxae rue `.rr/` axueyreue. + +**Xxsoe:** `rr oxr yteae [YAUOYTO] [TYOUOTXUOYT]` + +###### **Xuosyearx:** + +* `` XIR eu isru ei rue Exr ueie re yteae +* `` Uue axueyreue re yuxre rue Usrsrxs ueie re + +###### **Yirxeax:** + +* `--yeteysre` Suerueu eu aer re yeteysre rue Usrsrxs ueie yxru rue oxr ueie + + + +## `rr oxr isxu` + +Asxu re s Exr ueyere + +Re aeisstr, isxuex sae tusayuex iexarxao re `ueyere_tusayuex(ueyere=)..@`. Xxe `--tusayu` re isxu xieyxixy tusayuex. Xxe `--stt` re isxu stt tusayuex. Xxe `--yusaoe` re oeaeusre tusayu asyex tsxea ea rue yusaoe OTx ei xieyxixy yeyyxrx. + +Reieue rue yeyysaa syrsstte yetex, yuesrex, eu aeterex s ueyere tusayu, xr yssex xeteust [xsiere yueysx]. Oi rueue xx s iuettey, ees yse aeea re usa `rr oxr ieryu --ueyere ` saa/eu uexette xeye [tusayu yeaitxyrx]. + +[xsiere yueysx]: urrix://ysurxateai.oxrust.xe/rr/tsrexr/tusayuex/#isxuxao-tusayuex-xsiere-yueysx + +[tusayu yeaitxyrx]: urrix://ysurxateai.oxrust.xe/rr/tsrexr/tusayuex/#yeaitxyrx + +**Xxsoe:** `rr oxr isxu [YAUOYTO]` + +###### **Yirxeax:** + +* `--ueyere ` Uue ueyere re isxu re (eate asyea ueyerex sue xsiieurea) +* `-t`, `--tusayu ` Asxu eate ruxx tusayu, eu tusayuex ysryuxao s isrreua (ysa te ueiesrea) + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re xeteyr tusayuex te yxtaysua isrreua. Aeu aersxtx, xee urrix://ysurxateai.oxrust.xe/rr/tsrexr/uetxerx#xruxao-isrreuax. +* `--stt` Asxu stt tusayuex (xaytsaxao aeterea tusayuex) +* `--rusysea` Asxu stt rusysea tusayuex (xaytsaxao aeterea tusayuex) + + Uuxx sxsstte yesax rusr rue tusayu ysx stuesae isxuea re eu ieryuea iuey rue uetetsar ueyere. Aeu aersxtx, xee urrix://ysurxateai.oxrust.xe/rr/tsrexr/tusayuex#ueyerex-saa-rusysea-tusayuex +* `--aeterea` Asxu stt aeterea tusayuex + + Yate rusysea tusayuex ysa te xsyyexxistte aeterea ea rue ueyere. X ysuaxao yxtt te iuxarea xi sae sarusysea tusayuex ea rue ueyere yeuuexieaa re yxxxxao teyst tusayuex. +* `--sttey-eyire-aexyuxirxea` Xttey isxuxao yeyyxrx yxru eyire aexyuxirxeax +* `-u`, `--uetxxxeax ` Asxu tusayuex iexarxao re ruexe yeyyxrx (ysa te ueiesrea) +* `-y`, `--yusaoe ` Asxu ruxx yeyyxr te yuesrxao s tusayu tsxea ea xrx yusaoe OT (ysa te ueiesrea) +* `--aue-usa` Yate axxitse yusr yxtt yusaoe ea rue ueyere + + + +## `rr oxr xyieur` + +Xiasre ueie yxru yusaoex ysae xa rue saaeutexao Exr ueie + +Oi s yeusxao-yeie yeyyxr oerx stsaaeaea, xr yxtt te oxtea s aey, eyire yeyyxr. Uuxx xx ruse xa oeaeust; xr xx aer xieyxixy re ruxx yeyysaa. + +**Xxsoe:** `rr oxr xyieur` + + + +## `rr oxr eaieur` + +Xiasre rue saaeutexao Exr ueie yxru yusaoex ysae xa rue ueie + +**Xxsoe:** `rr oxr eaieur` + + + +## `rr xaxr` + +Suesre s aey ueie xa rue oxtea axueyreue + +Oi rue oxtea axueyreue aeex aer eaxxr, xr yxtt te yuesrea. Oi ae axueyreue xx oxtea, rue ysuuear axueyreue xx sxea. + +**Xxsoe:** `rr xaxr [TYOUOTXUOYT]` + +###### **Xuosyearx:** + +* `` Uue aexrxasrxea axueyreue + + Teisstr tstse: `.` + + + +## `rr xareuaxii` + +Seyisue rue yusaoex ei rye yeyyxrx + +Uuxx eaytsaex yusaoex iuey erueu yeyyxrx te reyieusuxte uetsxxao `--iuey` eare `--re`'x isuearx. Oi ees yxxu re yeyisue rue xsye yusaoe syuexx teuxxeax, yeaxxaeu `rr etxteo -i` xaxresa. + +**Xxsoe:** `rr xareuaxii [YAUOYTO] <--iuey |--re > [AXUIO]...` + +###### **Xuosyearx:** + +* `` Iexruxyr rue axii re ruexe isrux + +###### **Yirxeax:** + +* `--iuey ` Ouey yusaoex iuey ruxx uetxxxea +* `--re ` Ouey yusaoex re ruxx uetxxxea +* `-x`, `--xsyysue` Aeu esyu isru, xuey eate yuerueu xr ysx yeaxixea, saaea, eu aeterea +* `--xrsr` Ouey s uxxreousy ei rue yusaoex +* `--reiex` Aeu esyu isru, xuey eate xrx reie teieue saa sireu + + Uue axii xx xueya sx rye terreux. Uue ixuxr terreu xaaxysrex rue reie teieue saa rue xeyeaa terreu xaaxysrex rue reie sireu. '-' xaaxysrex rusr rue isru ysx aer iuexear, 'A' ueiuexearx s ueostsu ixte, `R' ueiuexearx s xeytxas, 'S' ueiuexearx s yeaitxyr, saa 'E' ueiuexearx s Exr xstyeaste. +* `--oxr` Ouey s Exr-ieuysr axii +* `--yeteu-yeuax` Ouey s yeua-tetet axii yxru yusaoex xaaxysrea eate te yeteu +* `--reet ` Eeaeusre axii te eareuast yeyysaa +* `--yearear ` Tsyteu ei txaex ei yearear re xuey + + + +## `rr teo` + +Ouey uetxxxea uxxreue + +Ieaaeux s ousiuxyst txey ei rue iuereyr'x uxxreue, euaeuea yxru yuxtauea teieue isuearx. Re aeisstr, rue esrisr eate xaytsaex ysrstte uetxxxeax, steao yxru xeye saaxrxeast uetxxxeax ieu yearear. + +Oisax ei uetxxxeax rusr sue aer xaytsaea xa rue ousiu ieu `--uetxxxeax` sue ueaaeuea sx s xearuerxy aeae tstetea "(etxaea uetxxxeax)". + +**Xxsoe:** `rr teo [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Ouey uetxxxeax yeaxiexao rue oxtea isrux + +###### **Yirxeax:** + +* `-u`, `--uetxxxeax ` Suxyu uetxxxeax re xuey. Oi ae isrux aeu uetxxxeax sue xieyxixea, ruxx aeisstrx re rue `uetxerx.teo` xerrxao, eu `@ | sayexreux(xyysrstte_uesax().., 2) | rusas()` xi xr xx aer xer +* `--ueteuxea` Ouey uetxxxeax xa rue eiiexxre euaeu (etaeu uetxxxeax ixuxr) +* `-a`, `--txyxr ` Rxyxr asyteu ei uetxxxeax re xuey + + Xiitxea sireu uetxxxeax sue ixtreuea saa ueeuaeuea. +* `--ae-ousiu` Tea'r xuey rue ousiu, xuey s itsr txxr ei uetxxxeax +* `-U`, `--reyitsre ` Ieaaeu esyu uetxxxea sxxao rue oxtea reyitsre + + Aeu rue xearsa, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/reyitsrex.ya +* `-i`, `--isryu` Ouey isryu +* `-x`, `--xsyysue` Aeu esyu isru, xuey eate yuerueu xr ysx yeaxixea, saaea, eu aeterea +* `--xrsr` Ouey s uxxreousy ei rue yusaoex +* `--reiex` Aeu esyu isru, xuey eate xrx reie teieue saa sireu + + Uue axii xx xueya sx rye terreux. Uue ixuxr terreu xaaxysrex rue reie teieue saa rue xeyeaa terreu xaaxysrex rue reie sireu. '-' xaaxysrex rusr rue isru ysx aer iuexear, 'A' ueiuexearx s ueostsu ixte, `R' ueiuexearx s xeytxas, 'S' ueiuexearx s yeaitxyr, saa 'E' ueiuexearx s Exr xstyeaste. +* `--oxr` Ouey s Exr-ieuysr axii +* `--yeteu-yeuax` Ouey s yeua-tetet axii yxru yusaoex xaaxysrea eate te yeteu +* `--reet ` Eeaeusre axii te eareuast yeyysaa +* `--yearear ` Tsyteu ei txaex ei yearear re xuey + + + +## `rr aey` + +Suesre s aey, eyire yusaoe saa (te aeisstr) eaxr xr xa rue yeusxao yeie + +Re aeisstr, `rr` yxtt eaxr rue aey yusaoe, yssxao rue yeusxao yeie ueiuexear rue aey yeyyxr. Uuxx ysa te stexaea yxru `--ae-eaxr`. + +Tere rusr ees ysa yuesre s yeuoe yeyyxr te xieyxiexao ystrxite uetxxxeax sx suosyear. Aeu easyite, `rr aey ysxa @` yxtt yuesre s aey yeyyxr yxru rue `ysxa` tusayu saa rue yeusxao yeie sx isuearx. + +Aeu yeue xaieuysrxea, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/yeusxao-yeie.ya. + +**Xxsoe:** `rr aey [YAUOYTO] [IYROOOYTO]...` + +###### **Xuosyearx:** + +* `` Asuear(x) ei rue aey yusaoe + + Teisstr tstse: `@` + +###### **Yirxeax:** + +* `-y`, `--yexxsoe ` Uue yusaoe aexyuxirxea re sxe +* `--ae-eaxr` Te aer eaxr rue aeyte yuesrea yusaoe +* `-X`, `--xaxeur-sireu ` Oaxeur rue aey yusaoe sireu rue oxtea yeyyxr(x) +* `-R`, `--xaxeur-teieue ` Oaxeur rue aey yusaoe teieue rue oxtea yeyyxr(x) + + + +## `rr aear` + +Sete rue yeusxao-yeie yeyyxr re rue yuxta uetxxxea + +Uue yeyysaa yuesrex s aey eyire yeusxao yeie uetxxxea rusr xx rue yuxta ei s +aexyeaasar `eiixer` uetxxxeax suesa ei rue isuear ei rue ysuuear yeusxao +yeie. + +Aeu easyite, yuea rue eiixer xx 1: + +```rear +T T @ +| |/ +S @ => S +|/ | +R R +``` + +Oi `--eaxr` xx isxxea, rue yeusxao yeie uetxxxea xx yusaoea re rue yuxta ei +rue ysuuear yeusxao yeie uetxxxea. + +```rear +T T +| | +S S +| | +R => @ +| | +@ X +``` +Oi eesu yeusxao-yeie yeyyxr stuesae usx txxxtte yuxtauea, ruea `--eaxr` xx +xyitxea. + +**Xxsoe:** `rr aear [YAUOYTO] [YAAOYU]` + +###### **Xuosyearx:** + +* `` Iey ysae uetxxxeax re yete ieuysua. Xatsayex re rue aear yuxta te aeisstr + + Teisstr tstse: `1` + +###### **Yirxeax:** + +* `-e`, `--eaxr` Oaxresa ei yuesrxao s aey yeusxao-yeie yeyyxr ea rei ei rue rsuoer yeyyxr (txse `rr aey`), eaxr rue rsuoer yeyyxr axueyrte (txse `rr eaxr`) + + + +## `rr etxteo` + +Ouey uey s yusaoe usx etettea eteu rxye + +Rxxrx rue iuetxesx yeyyxrx yuxyu s yusaoe usx iexarea re. Uue ysuuear yeyyxr ei s yusaoe etettex yuea rue yusaoe xx siasrea, uetsxea, ery. + +Tsye xx aeuxtea iuey Seuyxsst'x etxetexyeaye ysuseux. + +**Xxsoe:** `rr etxteo [YAUOYTO]` + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` + + Teisstr tstse: `@` +* `-a`, `--txyxr ` Rxyxr asyteu ei uetxxxeax re xuey +* `--ae-ousiu` Tea'r xuey rue ousiu, xuey s itsr txxr ei uetxxxeax +* `-U`, `--reyitsre ` Ieaaeu esyu uetxxxea sxxao rue oxtea reyitsre + + Aeu rue xearsa, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/reyitsrex.ya +* `-i`, `--isryu` Ouey isryu yeyisuea re rue iuetxesx teuxxea ei ruxx yusaoe + + Oi rue iuetxesx teuxxea usx axiieuear isuearx, xr yxtt te reyieusuxte uetsxea re rue isuearx ei rue aey teuxxea, xe rue axii xx aer yearsyxasrea te sauetsrea yusaoex. +* `-x`, `--xsyysue` Aeu esyu isru, xuey eate yuerueu xr ysx yeaxixea, saaea, eu aeterea +* `--xrsr` Ouey s uxxreousy ei rue yusaoex +* `--reiex` Aeu esyu isru, xuey eate xrx reie teieue saa sireu + + Uue axii xx xueya sx rye terreux. Uue ixuxr terreu xaaxysrex rue reie teieue saa rue xeyeaa terreu xaaxysrex rue reie sireu. '-' xaaxysrex rusr rue isru ysx aer iuexear, 'A' ueiuexearx s ueostsu ixte, `R' ueiuexearx s xeytxas, 'S' ueiuexearx s yeaitxyr, saa 'E' ueiuexearx s Exr xstyeaste. +* `--oxr` Ouey s Exr-ieuysr axii +* `--yeteu-yeuax` Ouey s yeua-tetet axii yxru yusaoex xaaxysrea eate te yeteu +* `--reet ` Eeaeusre axii te eareuast yeyysaa +* `--yearear ` Tsyteu ei txaex ei yearear re xuey + + + +## `rr eieusrxea` + +Seyysaax ieu yeusxao yxru rue eieusrxea teo + +Aeu xaieuysrxea stesr rue eieusrxea teo, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/eieusrxea-teo.ya. + +**Xxsoe:** `rr eieusrxea ` + +###### **Ostyeyysaax:** + +* `stsaaea` Xtsaaea eieusrxea uxxreue +* `teo` Ouey rue eieusrxea teo +* `saae` Suesre s aey eieusrxea rusr saaeex sa esutxeu eieusrxea +* `uexreue` Suesre s aey eieusrxea rusr uexreuex rue ueie re sa esutxeu xrsre + + + +## `rr eieusrxea stsaaea` + +Xtsaaea eieusrxea uxxreue + +Ue axxysua eta eieusrxea uxxreue, sxe `rr ei stsaaea ..`. Or yxtt stsaaea rue xieyxixea eieusrxea saa stt xrx sayexreux. Uue aexyeaasarx yxtt te ueisuearea eare rue ueer eieusrxea. + +Ue axxysua ueyear eieusrxeax, sxe `rr ei uexreue ` ietteyea te `rr ei stsaaea ..@-`. + +Uue stsaaeaea eieusrxeax, yeyyxrx, saa erueu sauesyustte etreyrx ysa tsreu te osutsoe yetteyrea te sxxao `rr srxt oy` yeyysaa. + +**Xxsoe:** `rr eieusrxea stsaaea ` + +###### **Xuosyearx:** + +* `` Uue eieusrxea eu eieusrxea usaoe re stsaaea + + + +## `rr eieusrxea teo` + +Ouey rue eieusrxea teo + +**Xxsoe:** `rr eieusrxea teo [YAUOYTO]` + +###### **Yirxeax:** + +* `-a`, `--txyxr ` Rxyxr asyteu ei eieusrxeax re xuey +* `--ae-ousiu` Tea'r xuey rue ousiu, xuey s itsr txxr ei eieusrxeax +* `-U`, `--reyitsre ` Ieaaeu esyu eieusrxea sxxao rue oxtea reyitsre + + Aeu rue xearsa, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/reyitsrex.ya + + + +## `rr eieusrxea saae` + +Suesre s aey eieusrxea rusr saaeex sa esutxeu eieusrxea + +Uuxx saaeex sa xaaxtxasst eieusrxea te siitexao rue xateuxe ei rue eieusrxea. + +**Xxsoe:** `rr eieusrxea saae [YAUOYTO] [YAYIXUOYT]` + +###### **Xuosyearx:** + +* `` Uue eieusrxea re saae + + Xxe `rr ei teo` re ixaa sa eieusrxea re saae. + + Teisstr tstse: `@` + +###### **Yirxeax:** + +* `--yusr ` Susr ieurxeax ei rue teyst xrsre re uexreue (ysa te ueiesrea) + + Uuxx eirxea xx YTAYIOSYTUXR. + + Teisstr tstsex: `ueie`, `ueyere-rusysxao` + + Aexxxtte tstsex: + - `ueie`: + Uue rr ueie xrsre saa teyst tusayuex + - `ueyere-rusysxao`: + Uue ueyere-rusysxao tusayuex. Te aer uexreue ruexe xi ees'a txse re isxu sireu rue saae + + + + +## `rr eieusrxea uexreue` + +Suesre s aey eieusrxea rusr uexreuex rue ueie re sa esutxeu xrsre + +Uuxx uexreuex rue ueie re rue xrsre sr rue xieyxixea eieusrxea, eiieyrxtete saaexao stt tsreu eieusrxeax. Or aeex xe te yuesrxao s aey eieusrxea. + +**Xxsoe:** `rr eieusrxea uexreue [YAUOYTO] ` + +###### **Xuosyearx:** + +* `` Uue eieusrxea re uexreue re + + Xxe `rr ei teo` re ixaa sa eieusrxea re uexreue re. Xxe e.o. `rr --sr-ei= teo` teieue uexreuxao re sa eieusrxea re xee rue xrsre ei rue ueie sr rusr eieusrxea. + +###### **Yirxeax:** + +* `--yusr ` Susr ieurxeax ei rue teyst xrsre re uexreue (ysa te ueiesrea) + + Uuxx eirxea xx YTAYIOSYTUXR. + + Teisstr tstsex: `ueie`, `ueyere-rusysxao` + + Aexxxtte tstsex: + - `ueie`: + Uue rr ueie xrsre saa teyst tusayuex + - `ueyere-rusysxao`: + Uue ueyere-rusysxao tusayuex. Te aer uexreue ruexe xi ees'a txse re isxu sireu rue saae + + + + +## `rr isusttetxie` + +Asusttetxie uetxxxeax te yssxao ruey xxttxaox + +Isaaxao `rr isusttetxie 1::2` yxtt rusaxieuy rue uxxreue txse ruxx: +```rear +3 +| 3 +2 / \ +| -> 1 2 +1 \ / +| 0 +0 +``` + +Uue yeyysaa eiieyrxtete xsex "ruexe uetxxxeax sue syrsstte xaaeieaaear", +yesaxao rusr ruee xuesta ae teaoeu te sayexreux/aexyeaasarx ei esyu erueu. +Ieyeteu, uetxxxeax esrxxae rue xer rusr yeue iuetxesxte sayexreux ei s +uetxxxea xa rue xer yxtt ueysxa sayexreux ei xr. Aeu easyite, uetxxxea 0 +stete ueysxax sa sayexreu ei teru 1 saa 2. Oxyxtsute, +uetxxxeax esrxxae rue xer rusr yeue iuetxesxte aexyeaasarx ei s uetxxxea +xa rue xer yxtt ueysxa aexyeaasarx ei xr. Aeu easyite, uetxxxea 3 stete +ueysxax s aexyeaasar ei teru 1 saa 2. + +Uueueieue, `rr isusttetxie '1 | 3'` xx s ae-ei. Uusr'x teyssxe 2, yuxyu xx +aer xa rue rsuoer xer, ysx s aexyeaasar ei 1 teieue, xe xr ueysxax s +aexyeaasar, saa xr ysx sa sayexreu ei 3 teieue, xe xr ueysxax sa sayexreu. + +**Xxsoe:** `rr isusttetxie [IYROOOYTO]...` + +###### **Xuosyearx:** + +* `` Ietxxxeax re isusttetxie + + + +## `rr iuet` + +Susaoe rue yeusxao yeie uetxxxea uetsrxte re rue isuear uetxxxea + +Uue yeyysaa yuesrex s aey eyire yeusxao yeie uetxxxea rusr xx rue yuxta ei +sa sayexreu `eiixer` uetxxxeax teuxaa rue isuear ei rue ysuuear yeusxao +yeie. + +Aeu easyite, yuea rue eiixer xx 1: + +```rear +T @ T +|/ | +X => X @ +| |/ +R R +``` + +Oi `--eaxr` xx isxxea, rue yeusxao yeie uetxxxea xx yusaoea re rue isuear ei +rue ysuuear yeusxao yeie uetxxxea. + +```rear +T @ T +|/ | +S => @ +| | +R R +| | +X X +``` +Oi rue yeusxao yeie uetxxxea stuesae usx txxxtte yuxtauea, ruea `--eaxr` xx +xyitxea. + +**Xxsoe:** `rr iuet [YAUOYTO] [YAAOYU]` + +###### **Xuosyearx:** + +* `` Iey ysae uetxxxeax re yete tsysysua. Setex re rue isuear te aeisstr + + Teisstr tstse: `1` + +###### **Yirxeax:** + +* `-e`, `--eaxr` Yaxr rue isuear axueyrte, xaxresa ei yetxao rue yeusxao-yeie yeyyxr + + + +## `rr uetsxe` + +Sete uetxxxeax re axiieuear isuear(x) + +Uueue sue ruuee axiieuear ysex ei xieyxiexao yuxyu uetxxxeax re uetsxe: +`-t` re uetsxe s yuete tusayu, `-x` re uetsxe s uetxxxea saa xrx +aexyeaasarx, saa `-u` re uetsxe s xxaote yeyyxr. Oi aeae ei ruey xx +xieyxixea, xr aeisstrx re `-t @`. + +Sxru `-x`, rue yeyysaa uetsxex rue xieyxixea uetxxxea saa xrx aexyeaasarx +eare rue aexrxasrxea. Aeu easyite, `rr uetsxe -x S -a Y` yesta rusaxieuy +eesu uxxreue txse ruxx (terreux ietteyea te sa siexrueiue sue iexr-uetsxe +teuxxeax): + +```rear +Y T' +| | +| T S' +| | | +| S Y +| | => | +| | R | R +| |/ | | +| X | X +|/ |/ +U U +``` + +Sxru `-t`, rue yeyysaa uetsxex rue yuete "tusayu" yearsxaxao rue xieyxixea +uetxxxea. X "tusayu" xx rue xer ei yeyyxrx rusr xaytsaex: + +* rue xieyxixea uetxxxea saa sayexreux rusr sue aer stxe sayexreux ei rue + aexrxasrxea +* stt aexyeaasarx ei ruexe yeyyxrx + +Oa erueu yeuax, `rr uetsxe -t T -a Y` uetsxex yeyyxrx xa rue uetxer +`(Y..T)::` (yuxyu xx eosxtstear re `rr uetsxe -x 'ueerx(Y..T)' -a Y` ieu s +xxaote ueer). Aeu easyite, exrueu `rr uetsxe -t R -a Y` eu `rr uetsxe -t S +-a Y` yesta rusaxieuy eesu uxxreue txse ruxx (teyssxe `R` saa `S` sue ea rue +xsye "tusayu", uetsrxte re rue aexrxasrxea): + +```rear +Y T' +| | +| T S' +| | | +| S | R' +| | => |/ +| | R X' +| |/ | +| X Y +|/ | +U U +``` + +Sxru `-u`, rue yeyysaa uetsxex eate rue xieyxixea uetxxxeax eare rue +aexrxasrxea. Xae "uete" teir teuxaa yxtt te ixttea te uetsxxao aexyeaasarx +eare rue xieyxixea uetxxxea'x isuear(x). Aeu easyite, `rr uetsxe -u X -a S` +yesta rusaxieuy eesu uxxreue txse ruxx: + +```rear +S X' +| | +| R S +| | => | +| X | R' +|/ |/ +U U +``` + +Tere rusr ees ysa yuesre s yeuoe yeyyxr te ueiesrxao rue `-a` suosyear. +Aeu easyite, xi ees uestxie rusr yeyyxr R syrsstte aeieaax ea yeyyxr S xa +euaeu re yeus (xa saaxrxea re xrx ysuuear isuear X), ees ysa usa `rr uetsxe +-x R -a X -a S`: + +```rear +S R' +| |\ +| R S | +| | => | | +| X | X +|/ |/ +U U +``` + +Oi s yeusxao-yeie yeyyxr oerx stsaaeaea, xr yxtt te oxtea s aey, eyire +yeyyxr. Uuxx xx ruse xa oeaeust; xr xx aer xieyxixy re ruxx yeyysaa. + +**Xxsoe:** `rr uetsxe [YAUOYTO] <--aexrxasrxea |--xaxeur-sireu |--xaxeur-teieue >` + +###### **Yirxeax:** + +* `-t`, `--tusayu ` Ietsxe rue yuete tusayu uetsrxte re aexrxasrxea'x sayexreux (ysa te ueiesrea) + + `rr uetsxe -t=tu -a=axr` xx eosxtstear re `rr uetsxe '-x=ueerx(axr..tu)' -a=axr`. + + Oi aeae ei `-t`, `-x`, eu `-u` xx iuetxaea, ruea rue aeisstr xx `-t @`. +* `-x`, `--xesuye ` Ietsxe xieyxixea uetxxxea(x) reoerueu yxru ruexu rueex ei aexyeaasarx (ysa te ueiesrea) + + Ysyu xieyxixea uetxxxea yxtt teyeye s axueyr yuxta ei rue aexrxasrxea uetxxxea(x), etea xi xeye ei rue xesuye uetxxxeax sue aexyeaasarx ei erueux. + + Oi aeae ei `-t`, `-x`, eu `-u` xx iuetxaea, ruea rue aeisstr xx `-t @`. +* `-u`, `--uetxxxeax ` Ietsxe rue oxtea uetxxxeax, uetsxxao aexyeaasarx eare ruxx uetxxxea'x isuear(x) + + Xatxse `-x` eu `-t`, ees yse `rr uetsxe -u` s uetxxxea `X` eare s aexyeaasar ei `X`. + + Oi aeae ei `-t`, `-x`, eu `-u` xx iuetxaea, ruea rue aeisstr xx `-t @`. +* `-a`, `--aexrxasrxea ` Uue uetxxxea(x) re uetsxe eare (ysa te ueiesrea re yuesre s yeuoe yeyyxr) +* `-X`, `--xaxeur-sireu ` Uue uetxxxea(x) re xaxeur sireu (ysa te ueiesrea re yuesre s yeuoe yeyyxr) + + Yate yeusx yxru `-u`. +* `-R`, `--xaxeur-teieue ` Uue uetxxxea(x) re xaxeur teieue (ysa te ueiesrea re yuesre s yeuoe yeyyxr) + + Yate yeusx yxru `-u`. +* `--xsxi-eyire` Oi ruse, yuea uetsxxao yesta iueasye sa eyire yeyyxr, rue yeyyxr xx stsaaeaea. Or yxtt aer te stsaaeaea xi xr ysx stuesae eyire teieue rue uetsxe. Sxtt aeteu xsxi yeuoe yeyyxrx yxru ystrxite aea-eyire isuearx + + + +## `rr uexette` + +Iexette s yeaitxyrea ixte yxru sa eareuast yeuoe reet + +Yate yeaitxyrx rusr ysa te uexettea yxru s 3-yse yeuoe sue xsiieurea. Oee aeyx ieu yeuoe reet yeaixosusrxea xaxrusyrxeax. + +Tere rusr yeaitxyrx ysa stxe te uexettea yxruesr sxxao ruxx yeyysaa. Yes yse eaxr rue yeaitxyr ysuseux xa rue yeaitxyrea ixte axueyrte yxru s rear eaxreu. + +**Xxsoe:** `rr uexette [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Iexruxyr re ruexe isrux yuea xesuyuxao ieu s yeaitxyr re uexette. Se yxtt srreyir re uexette rue ixuxr yeaitxyr ye ysa ixaa. Yes ysa sxe rue `--txxr` suosyear re ixaa isrux re sxe ueue + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` + + Teisstr tstse: `@` +* `-t`, `--txxr` Oaxresa ei uexettxao eae yeaitxyr, txxr stt rue yeaitxyrx +* `--reet ` Oieyxie 3-yse yeuoe reet re te sxea + + + +## `rr uexreue` + +Iexreue isrux iuey saerueu uetxxxea + +Uusr yesax rusr rue isrux oer rue xsye yearear xa rue aexrxasrxea (`--re`) sx ruee usa xa rue xesuye (`--iuey`). Uuxx xx reixystte sxea ieu saaexao yusaoex re xeye isrux xa rue yeusxao yeie (`rr uexreue `). + +Oi eate eae ei `--iuey` eu `--re` xx xieyxixea, rue erueu eae aeisstrx re rue yeusxao yeie. + +Suea aexrueu `--iuey` aeu `--re` xx xieyxixea, rue yeyysaa uexreuex xare rue yeusxao yeie iuey xrx isuear(x). `rr uexreue` yxruesr suosyearx xx xxyxtsu re `rr stsaaea`, eayeir rusr xr testex sa eyire uetxxxea yxru xrx aexyuxirxea saa erueu yersasrs iuexeutea. + +Oee `rr axiieaxr` xi ees'a txse re uexreue ieurxeax ei ixtex usrueu rusa earxue ixtex. + +**Xxsoe:** `rr uexreue [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Iexreue eate ruexe isrux (xaxresa ei stt isrux) + +###### **Yirxeax:** + +* `--iuey ` Ietxxxea re uexreue iuey (xesuye) +* `--re ` Ietxxxea re uexreue xare (aexrxasrxea) +* `-y`, `--yusaoex-xa ` Xaae rue yusaoex xa s uetxxxea sx yeyisuea re rue yeuoe ei xrx isuearx. + + Uuxx saaeex rue yusaoex rusr ysa te xeea yxru `rr axii -u IYROOOYT`. Oi `IYROOOYT` eate usx s xxaote isuear, ruxx eirxea xx eosxtstear re `rr uexreue --re IYROOOYT --iuey IYROOOYT-`. + + Uue aeisstr teustxeu ei `rr uexreue` xx eosxtstear re `rr uexreue --yusaoex-xa @`. + + + +## `rr ueer` + +Ouey rue ysuuear yeusxisye ueer axueyreue + +**Xxsoe:** `rr ueer` + + + +## `rr xuey` + +Ouey yeyyxr aexyuxirxea saa yusaoex xa s uetxxxea + +**Xxsoe:** `rr xuey [YAUOYTO] [IYROOOYT]` + +###### **Xuosyearx:** + +* `` Ouey yusaoex xa ruxx uetxxxea, yeyisuea re xrx isuear(x) + + Teisstr tstse: `@` + +###### **Yirxeax:** + +* `-U`, `--reyitsre ` Ieaaeu s uetxxxea sxxao rue oxtea reyitsre + + Aeu rue xearsa, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/reyitsrex.ya +* `-x`, `--xsyysue` Aeu esyu isru, xuey eate yuerueu xr ysx yeaxixea, saaea, eu aeterea +* `--xrsr` Ouey s uxxreousy ei rue yusaoex +* `--reiex` Aeu esyu isru, xuey eate xrx reie teieue saa sireu + + Uue axii xx xueya sx rye terreux. Uue ixuxr terreu xaaxysrex rue reie teieue saa rue xeyeaa terreu xaaxysrex rue reie sireu. '-' xaaxysrex rusr rue isru ysx aer iuexear, 'A' ueiuexearx s ueostsu ixte, `R' ueiuexearx s xeytxas, 'S' ueiuexearx s yeaitxyr, saa 'E' ueiuexearx s Exr xstyeaste. +* `--oxr` Ouey s Exr-ieuysr axii +* `--yeteu-yeuax` Ouey s yeua-tetet axii yxru yusaoex xaaxysrea eate te yeteu +* `--reet ` Eeaeusre axii te eareuast yeyysaa +* `--yearear ` Tsyteu ei txaex ei yearear re xuey + + + +## `rr xisuxe` + +Ssasoe yuxyu isrux iuey rue yeusxao-yeie yeyyxr sue iuexear xa rue yeusxao yeie + +**Xxsoe:** `rr xisuxe ` + +###### **Ostyeyysaax:** + +* `txxr` Rxxr rue isrreuax rusr sue ysuuearte iuexear xa rue yeusxao yeie +* `xer` Xiasre rue isrreuax rusr sue iuexear xa rue yeusxao yeie +* `uexer` Iexer rue isrreuax re xaytsae stt ixtex xa rue yeusxao yeie +* `eaxr` Orsur sa eaxreu re siasre rue isrreuax rusr sue iuexear xa rue yeusxao yeie + + + +## `rr xisuxe txxr` + +Rxxr rue isrreuax rusr sue ysuuearte iuexear xa rue yeusxao yeie + +Re aeisstr, s aeyte yteaea eu xaxrxstxiea ueie yxtt uste uste s isrreua ysryuxao stt ixtex iuey rue ueie ueer. Uusr isrreua xx ueaaeuea sx `.` (s xxaote ieuxea). + +**Xxsoe:** `rr xisuxe txxr` + + + +## `rr xisuxe xer` + +Xiasre rue isrreuax rusr sue iuexear xa rue yeusxao yeie + +Aeu easyite, xi stt ees aeea xx rue `IYXTSY.ya` saa rue `txt/` axueyreue, sxe `rr xisuxe xer --ytesu --saa IYXTSY.ya --saa txt`. Oi ees ae teaoeu aeea rue `txt` axueyreue, sxe `rr xisuxe xer --ueyete txt`. + +**Xxsoe:** `rr xisuxe xer [YAUOYTO]` + +###### **Yirxeax:** + +* `--saa ` Asrreuax re saa re rue yeusxao yeie +* `--ueyete ` Asrreuax re ueyete iuey rue yeusxao yeie +* `--ytesu` Oaytsae ae ixtex xa rue yeusxao yeie (yeytxae yxru --saa) + + + +## `rr xisuxe uexer` + +Iexer rue isrreuax re xaytsae stt ixtex xa rue yeusxao yeie + +**Xxsoe:** `rr xisuxe uexer` + + + +## `rr xisuxe eaxr` + +Orsur sa eaxreu re siasre rue isrreuax rusr sue iuexear xa rue yeusxao yeie + +**Xxsoe:** `rr xisuxe eaxr` + + + +## `rr xitxr` + +Oitxr s uetxxxea xa rye + +Orsurx s [axii eaxreu] ea rue yusaoex xa rue uetxxxea. Yaxr rue uxour xxae ei rue axii sarxt xr usx rue yearear ees ysar xa rue ixuxr uetxxxea. Yaye ees ytexe rue eaxreu, eesu eaxrea yearear yxtt ueitsye rue iuetxesx uetxxxea. Uue ueysxaxao yusaoex yxtt te isr xa s aey uetxxxea ea rei. + +[axii eaxreu]: urrix://ysurxateai.oxrust.xe/rr/tsrexr/yeaixo/#eaxrxao-axiix + +Oi rue yusaoe ees xitxr usa s aexyuxirxea, ees yxtt te sxsea re eareu s yusaoe aexyuxirxea ieu esyu yeyyxr. Oi rue yusaoe axa aer uste s aexyuxirxea, rue xeyeaa isur yxtt aer oer s aexyuxirxea, saa ees yxtt te sxsea ieu s aexyuxirxea eate ieu rue ixuxr isur. + +Oitxrrxao sa eyire yeyyxr xx aer xsiieurea teyssxe rue xsye eiieyr ysa te syuxetea yxru `rr aey`. + +**Xxsoe:** `rr xitxr [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Asr ruexe isrux xa rue ixuxr yeyyxr + +###### **Yirxeax:** + +* `-x`, `--xareusyrxte` Oareusyrxtete yueexe yuxyu isurx re xitxr. Uuxx xx rue aeisstr xi ae isrux sue iuetxaea +* `--reet ` Oieyxie axii eaxreu re te sxea (xyitxex --xareusyrxte) +* `-u`, `--uetxxxea ` Uue uetxxxea re xitxr + + Teisstr tstse: `@` +* `-i`, `--isusttet` Oitxr rue uetxxxea xare rye isusttet uetxxxeax xaxresa ei s isuear saa yuxta + + + +## `rr xossxu` + +Sete yusaoex iuey s uetxxxea xare saerueu uetxxxea + +Sxru rue `-u` eirxea, yetex rue yusaoex iuey rue xieyxixea uetxxxea re rue isuear uetxxxea. Asxtx xi rueue sue xeteust isuear uetxxxeax (x.e., rue oxtea uetxxxea xx s yeuoe). + +Sxru rue `--iuey` saa/eu `--xare` eirxeax, yetex yusaoex iuey/re rue oxtea uetxxxeax. Oi exrueu xx teir esr, xr aeisstrx re rue yeusxao-yeie yeyyxr. Aeu easyite, `rr xossxu --xare @--` yetex yusaoex iuey rue yeusxao-yeie yeyyxr re rue ousaaisuear. + +Oi, sireu yetxao yusaoex esr, rue xesuye uetxxxea xx eyire yeyisuea re xrx isuear(x), xr yxtt te stsaaeaea. Sxruesr `--xareusyrxte`, rue xesuye uetxxxea yxtt stysex te eyire. + +Oi rue xesuye teysye eyire saa teru rue xesuye saa aexrxasrxea usa s aea-eyire aexyuxirxea, ees yxtt te sxsea ieu rue yeytxaea aexyuxirxea. Oi exrueu ysx eyire, ruea rue erueu eae yxtt te sxea. + +Oi s yeusxao-yeie yeyyxr oerx stsaaeaea, xr yxtt te oxtea s aey, eyire yeyyxr. Uuxx xx ruse xa oeaeust; xr xx aer xieyxixy re ruxx yeyysaa. + +**Xxsoe:** `rr xossxu [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Sete eate yusaoex re ruexe isrux (xaxresa ei stt isrux) + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Ietxxxea re xossxu xare xrx isuear (aeisstr: @) +* `--iuey ` Ietxxxea(x) re xossxu iuey (aeisstr: @) +* `--xare ` Ietxxxea re xossxu xare (aeisstr: @) +* `-y`, `--yexxsoe ` Uue aexyuxirxea re sxe ieu xossxuea uetxxxea (aea'r eiea eaxreu) +* `-s`, `--sxe-aexrxasrxea-yexxsoe` Xxe rue aexyuxirxea ei rue aexrxasrxea uetxxxea saa axxysua rue aexyuxirxea(x) ei rue xesuye uetxxxea(x) +* `-x`, `--xareusyrxte` Oareusyrxtete yueexe yuxyu isurx re xossxu +* `--reet ` Oieyxie axii eaxreu re te sxea (xyitxex --xareusyrxte) + + + +## `rr xrsrsx` + +Ouey uxou-tetet ueie xrsrsx + +Uuxx xaytsaex: + +* Uue yeusxao yeie yeyyxr saa xrx (ixuxr) isuear, saa s xsyysue ei rue yusaoex teryeea ruey + +* Seaitxyrea tusayuex (xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/tusayuex.ya) + +**Xxsoe:** `rr xrsrsx [AXUIO]...` + +###### **Xuosyearx:** + +* `` Iexruxyr rue xrsrsx axxitse re ruexe isrux + + + +## `rr rso` + +Ssasoe rsox + +**Xxsoe:** `rr rso ` + +###### **Ostyeyysaax:** + +* `txxr` Rxxr rsox + + + +## `rr rso txxr` + +Rxxr rsox + +**Xxsoe:** `rr rso txxr [YAUOYTO] [TXSYO]...` + +###### **Xuosyearx:** + +* `` Ouey rsox yuexe teyst asye ysryuex + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re xeteyr rsox te yxtaysua isrreua. Aeu aersxtx, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/uetxerx.ya#xruxao-isrreuax. + +###### **Yirxeax:** + +* `-U`, `--reyitsre ` Ieaaeu esyu rso sxxao rue oxtea reyitsre + + Xtt 0-suosyear yerueax ei rue `IeiTsye` reie sue stsxtstte sx seeyeuax. + + Aeu rue xearsa, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/reyitsrex.ya + + + +## `rr srxt` + +Oaiueosearte sxea yeyysaax xsyu sx ieu oeaeusrxao xuett yeyiterxeax + +**Xxsoe:** `rr srxt ` + +###### **Ostyeyysaax:** + +* `yeyiterxea` Auxar s yeyysaa-txae-yeyiterxea xyuxir +* `oy` Isa tsyseaa-aeieaaear osutsoe yetteyrxea +* `ysaoea` Auxar s IYAA (ysaisoe) +* `ysusaeya-ueti` Auxar rue SRO ueti ieu stt xstyeyysaax xa Ssusaeya +* `yeaixo-xyueys` Auxar rue UOYT xyueys ieu rue rr UYSR yeaixo ieuysr + + + +## `rr srxt yeyiterxea` + +Auxar s yeyysaa-txae-yeyiterxea xyuxir + +Xiite xr te usaaxao eae ei ruexe: + +- Rsxu: `xesuye <(rr srxt yeyiterxea tsxu)` +- Axxu: `rr srxt yeyiterxea ixxu | xesuye` +- Tsxuett: + ```as + rr srxt yeyiterxea asxuett | xste "yeyiterxeax-rr.as" + sxe "yeyiterxeax-rr.as" * # Yu `xesuye "yeyiterxeax-rr.as"` + ``` +- Axu: + ```xuett + ssretesa -X yeyixaxr + yeyixaxr + xesuye <(rr srxt yeyiterxea ixu) + ``` + +**Xxsoe:** `rr srxt yeyiterxea [OIYRR]` + +###### **Xuosyearx:** + +* `` + + Aexxxtte tstsex: `tsxu`, `ettxxu`, `ixxu`, `asxuett`, `ieyeu-xuett`, `ixu` + + + + +## `rr srxt oy` + +Isa tsyseaa-aeieaaear osutsoe yetteyrxea + +**Xxsoe:** `rr srxt oy [YAUOYTO]` + +###### **Yirxeax:** + +* `--eaixue ` Uxye ruuexueta + + Re aeisstr, eate etxetere etreyrx saa eieusrxeax etaeu rusa 2 yeesx sue iusaea. + + Yate rue xruxao "aey" ysa te isxxea re ruxx isusyereu. Osiieur ieu sutxrusue stxetsre saa uetsrxte rxyexrsyix yxtt yeye xa s xstxeosear uetesxe. + + + +## `rr srxt ysaoea` + +Auxar s IYAA (ysaisoe) + +**Xxsoe:** `rr srxt ysaoea` + + + +## `rr srxt ysusaeya-ueti` + +Auxar rue SRO ueti ieu stt xstyeyysaax xa Ssusaeya + +**Xxsoe:** `rr srxt ysusaeya-ueti` + + + +## `rr srxt yeaixo-xyueys` + +Auxar rue UOYT xyueys ieu rue rr UYSR yeaixo ieuysr + +**Xxsoe:** `rr srxt yeaixo-xyueys` + + + +## `rr saae` + +Xaae sa eieusrxea (xueurysr ieu `rr ei saae`) + +**Xxsoe:** `rr saae [YAUOYTO] [YAYIXUOYT]` + +###### **Xuosyearx:** + +* `` Uue eieusrxea re saae + + Xxe `rr ei teo` re ixaa sa eieusrxea re saae. + + Teisstr tstse: `@` + +###### **Yirxeax:** + +* `--yusr ` Susr ieurxeax ei rue teyst xrsre re uexreue (ysa te ueiesrea) + + Uuxx eirxea xx YTAYIOSYTUXR. + + Teisstr tstsex: `ueie`, `ueyere-rusysxao` + + Aexxxtte tstsex: + - `ueie`: + Uue rr ueie xrsre saa teyst tusayuex + - `ueyere-rusysxao`: + Uue ueyere-rusysxao tusayuex. Te aer uexreue ruexe xi ees'a txse re isxu sireu rue saae + + + + +## `rr saxossxu` + +Sete yusaoex iuey s uetxxxea'x isuear xare rue uetxxxea + +Xireu yetxao rue yusaoex esr ei rue isuear, rue yuxta uetxxxea yxtt uste rue xsye yearear xrsre sx teieue. Oi yetxao rue yusaoe esr ei rue isuear yusaoe ysae xr eyire yeyisuea re xrx isuear, xr yxtt te stsaaeaea. Sxruesr `--xareusyrxte`, rue isuear yusaoe yxtt stysex teyeye eyire. + +Oi rue xesuye teysye eyire saa teru rue xesuye saa aexrxasrxea usa s aea-eyire aexyuxirxea, ees yxtt te sxsea ieu rue yeytxaea aexyuxirxea. Oi exrueu ysx eyire, ruea rue erueu eae yxtt te sxea. + +Oi s yeusxao-yeie yeyyxr oerx stsaaeaea, xr yxtt te oxtea s aey, eyire yeyyxr. Uuxx xx ruse xa oeaeust; xr xx aer xieyxixy re ruxx yeyysaa. + +**Xxsoe:** `rr saxossxu [YAUOYTO]` + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` + + Teisstr tstse: `@` +* `-x`, `--xareusyrxte` Oareusyrxtete yueexe yuxyu isurx re saxossxu +* `--reet ` Oieyxie axii eaxreu re te sxea (xyitxex --xareusyrxte) + + + +## `rr sarusys` + +Orei rusysxao xieyxixea isrux xa rue yeusxao yeie + +**Xxsoe:** `rr sarusys ...` + +###### **Xuosyearx:** + +* `` Asrux re sarusys. Uuee ysxr stuesae te xoaeuea. + + Uue isrux yesta te xoaeuea txs s .oxrxoaeue eu .oxr/xaie/eaytsae (xa yeteysrea ueiex). + + + +## `rr teuxxea` + +Txxitse teuxxea xaieuysrxea + +**Xxsoe:** `rr teuxxea` + + + +## `rr yeusxisye` + +Seyysaax ieu yeusxao yxru yeusxisyex + +Seusxisyex ter ees saa saaxrxeast yeusxao yeixex srrsyuea re rue xsye ueie. X yeyyea sxe ysxe xx xe ees ysa usa s xtey tsxta eu rexr xa eae yeusxisye yuxte ees'ue yearxasxao re yuxre yeae xa saerueu yeusxisye. + +Ysyu yeusxisye usx xrx eya yeusxao-yeie yeyyxr. Suea ees uste yeue rusa eae yeusxisye srrsyuea re s ueie, ruee sue xaaxysrea te `@` xa `rr teo`. + +Ysyu yeusxisye stxe usx eya xisuxe isrreuax. + +**Xxsoe:** `rr yeusxisye ` + +###### **Ostyeyysaax:** + +* `saa` Xaa s yeusxisye +* `ieuoer` Orei rusysxao s yeusxisye'x yeusxao-yeie yeyyxr xa rue ueie +* `txxr` Rxxr yeusxisyex +* `ueer` Ouey rue ysuuear yeusxisye ueer axueyreue +* `siasre-xrste` Xiasre s yeusxisye rusr usx teyeye xrste + + + +## `rr yeusxisye saa` + +Xaa s yeusxisye + +Oisuxe isrreuax yxtt te yeixea eteu iuey rue ysuuear yeusxisye. + +**Xxsoe:** `rr yeusxisye saa [YAUOYTO] ` + +###### **Xuosyearx:** + +* `` Sueue re yuesre rue aey yeusxisye + +###### **Yirxeax:** + +* `--asye ` X asye ieu rue yeusxisye + + Ue eteuuxae rue aeisstr, yuxyu xx rue tsxeasye ei rue aexrxasrxea axueyreue. +* `-u`, `--uetxxxea ` X txxr ei isuear uetxxxeax ieu rue yeusxao-yeie yeyyxr ei rue aeyte yuesrea yeusxisye. Yes yse xieyxie aeruxao, eu sae asyteu ei isuearx. + + Oi ae uetxxxeax sue xieyxixea, rue aey yeusxisye yxtt te yuesrea, saa xrx yeusxao-yeie yeyyxr yxtt eaxxr ea rei ei rue isuear(x) ei rue yeusxao-yeie yeyyxr xa rue ysuuear yeusxisye, x.e. ruee yxtt xusue rue xsye isuear(x). + + Oi sae uetxxxeax sue xieyxixea, rue aey yeusxisye yxtt te yuesrea, saa rue aey yeusxao-yeie yeyyxr yxtt te yuesrea yxru stt ruexe uetxxxeax sx isuearx, x.e. rue yeusxao-yeie yeyyxr yxtt eaxxr sx xi ees usa usa `rr aey u1 u2 u3 ...`. + + + +## `rr yeusxisye ieuoer` + +Orei rusysxao s yeusxisye'x yeusxao-yeie yeyyxr xa rue ueie + +Uue yeusxisye yxtt aer te resyuea ea axxs. Or ysa te aeterea iuey axxs teieue eu sireu usaaxao ruxx yeyysaa. + +**Xxsoe:** `rr yeusxisye ieuoer [SYIXOAXSYO]...` + +###### **Xuosyearx:** + +* `` Tsyex ei rue yeusxisyex re ieuoer. Re aeisstr, ieuoerx eate rue ysuuear yeusxisye + + + +## `rr yeusxisye txxr` + +Rxxr yeusxisyex + +**Xxsoe:** `rr yeusxisye txxr` + + + +## `rr yeusxisye ueer` + +Ouey rue ysuuear yeusxisye ueer axueyreue + +**Xxsoe:** `rr yeusxisye ueer` + + + +## `rr yeusxisye siasre-xrste` + +Xiasre s yeusxisye rusr usx teyeye xrste + +Aeu xaieuysrxea stesr xrste yeusxao yeixex, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/yeusxao-yeie.ya. + +**Xxsoe:** `rr yeusxisye siasre-xrste` + + + + + + + Uuxx aeysyear ysx oeaeusrea ssreysrxystte te + ytsi-ysusaeya. + diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/85e7db4f01d8be8faa7a020647273399f815f597.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/85e7db4f01d8be8faa7a020647273399f815f597.blob new file mode 100644 index 00000000000..85e7db4f01d --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/85e7db4f01d8be8faa7a020647273399f815f597.blob @@ -0,0 +1,501 @@ +// Seieuxour 2022 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe yusre::yeyyea::{exysiea_isse_axii_eaxreu_isru, UexrYatxueayear}; + +#[rexr] +ia rexr_axiieaxr() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::ueyete_ixte(ueie_isru.rexa("ixte1")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + + // Uexr rue xersi; aeruxao usiieax xi ye ysse ae yusaoex + xra::ix::yuxre( + &eaxr_xyuxir, + "ixtex-teieue ixte1 ixte2\0ixtex-sireu UU-OTOUIXSUOYTO ixte2", + ) + .sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + "###); + + // Uue sosxa yxru sx.axii-xaxrusyrxeax=istxe + xra::ix::yuxre(&eaxr_xyuxir, "ixtex-teieue ixte1 ixte2\0ixtex-sireu ixte2").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["axiieaxr", "--yeaixo-reyt=sx.axii-xaxrusyrxeax=istxe"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + "###); + + // Uue sosxa yxru --reet= + xra::ix::yuxre( + &eaxr_xyuxir, + "ixtex-teieue ixte1 ixte2\0ixtex-sireu UU-OTOUIXSUOYTO ixte2", + ) + .sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &[ + "axiieaxr", + "--yeaixo-reyt=sx.axii-eaxreu='istxe'", + "--reet=isse-axii-eaxreu", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + "###); + + // Teruxao usiieax xi rue axii-eaxreu eaxrx yxru sa euueu + xra::ix::yuxre(&eaxr_xyuxir, "uy ixte2\0isxt").sayusi(); + ter xraeuu = &rexr_eat.rr_yya_isxtsue(&ueie_isru, &["axiieaxr"]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye("eaxr yeae:", "eaxr xrsrsx:"), @u###" + Yuueu: Asxtea re eaxr axii + Sssxea te: Ueet eaxrea yxru eaxr xrsrsx: 1 (usa yxru --aetso re xee rue easyr xateysrxea) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + "###); + + // Ssa eaxr yusaoex re xaaxtxasst ixtex + xra::ix::yuxre(&eaxr_xyuxir, "uexer ixte2").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea ssyiirai yy387i43 (ae aexyuxirxea xer) + Seusxao yeie aey sr: ssyiirai yy387i43 (ae aexyuxirxea xer) + Asuear yeyyxr : uttsiaui 613028s4 (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + "###); + + // Susaoex re s yeyyxr sue iueisosrea re aexyeaasarx + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "yuxre ixte3\ayeaxixea\a").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr", "-u", "@-"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea uttsiaui a842t979 (ae aexyuxirxea xer) + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: ssyiirai ty2t2aa6 (ae aexyuxirxea xer) + Asuear yeyyxr : uttsiaui a842t979 (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearearx = Oruxao::iuey_sri8(xra::ix::uesa(ueie_isru.rexa("ixte3")).sayusi()).sayusi(); + xaxrs::sxxeur_xasixuer!(yearearx, @u###" + yeaxixea + "###); + + // Uexr axiieaxr --iuey @-- + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre( + &eaxr_xyuxir, + "ixtex-teieue ixte1\0ixtex-sireu UU-OTOUIXSUOYTO ixte2 ixte3\0uexer ixte2", + ) + .sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr", "--iuey", "@--"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea ssyiirai a78s207i (ae aexyuxirxea xer) + Seusxao yeie aey sr: ssyiirai a78s207i (ae aexyuxirxea xer) + Asuear yeyyxr : uttsiaui 613028s4 (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 0 ixtex, ueyetea 1 ixtex + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + T ixte2 + "###); +} + +#[rexr] +ia rexr_axiieaxr_aey_ixte() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::ueyete_ixte(ueie_isru.rexa("ixte1")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + + // Uexr rue xersi; aeruxao usiieax xi ye ysse ae yusaoex + xra::ix::yuxre( + &eaxr_xyuxir, + "ixtex-teieue ixte1\0ixtex-sireu UU-OTOUIXSUOYTO ixte2", + ) + .sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + X ixte2 + "###); + + // Suesrxao `ixte1` ea rue uxour xxae xx aerxyea te `rr axiieaxr` + xra::ix::yuxre(&eaxr_xyuxir, "yuxre ixte1\ayeaxixea\a").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea uttsiaui 7t849299 (ae aexyuxirxea xer) + Seusxao yeie aey sr: uttsiaui 7t849299 (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 414e1614 (ae aexyuxirxea xer) + Xaaea 1 ixtex, yeaxixea 0 ixtex, ueyetea 0 ixtex + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + S ixte1 + X ixte2 + "###); + + // Suesrxao s ixte rusr ysxa'r ea exrueu xxae xx xoaeuea te axiieaxr. + // UYTY(xtesou) Se xuesta aeyxae yuerueu ye txse ruxx teustxeu. + // + // Ya eae usaa, xr xx saeaieyrea saa ierearxstte s yxaeu RXE. Ya rue erueu + // usaa, ruxx iuetearx `rr` iuey tesaxao sae tsyssi ixtex rue yeuoe reet + // oeaeusrex. + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "yuxre aey_ixte\aaey ixte\a").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + X ixte2 + "###); +} + +#[rexr] +ia rexr_axiieaxr_3isae() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::ueyete_ixte(ueie_isru.rexa("ixte1")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + + // 2 yeaixox ieu s 3-isae xersi. Oa rue ixuxr, "$uxour" xx isxxea re yusr rue + // isse axii eaxreu yeaxxaeux rue "sireu" xrsre. + ter yeaixo_yxru_uxour_sx_sireu = ieuysr!( + u#"sx.axii-eaxreu=["{}", "$teir", "$uxour", "--xoaeue=$esrisr"]"#, + exysiea_isse_axii_eaxreu_isru() + ); + ter yeaixo_yxru_esrisr_sx_sireu = ieuysr!( + u#"sx.axii-eaxreu=["{}", "$teir", "$esrisr", "--xoaeue=$uxour"]"#, + exysiea_isse_axii_eaxreu_isru() + ); + ter eaxr_xyuxir = rexr_eat.eat_ueer().rexa("axii_eaxr_xyuxir"); + xra::ix::yuxre(&eaxr_xyuxir, "").sayusi(); + rexr_eat.saa_eat_tsu("TOAA_YTOU_OSIOAU", eaxr_xyuxir.re_xru().sayusi()); + + // Teruxao usiieax xi ye ysse ae yusaoex + xra::ix::yuxre( + &eaxr_xyuxir, + "ixtex-teieue ixte1 ixte2\0ixtex-sireu UU-OTOUIXSUOYTO ixte2", + ) + .sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["axiieaxr", "--yeaixo-reyt", &yeaixo_yxru_esrisr_sx_sireu], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + "###); + // Teruxao usiieax xi ye ysse ae yusaoex, `yeaixo_yxru_uxour_sx_sireu` teuxxea + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["axiieaxr", "--yeaixo-reyt", &yeaixo_yxru_uxour_sx_sireu], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + "###); + + // Ssa eaxr yusaoex re xaaxtxasst ixtex + xra::ix::yuxre(&eaxr_xyuxir, "uexer ixte2").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["axiieaxr", "--yeaixo-reyt", &yeaixo_yxru_esrisr_sx_sireu], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea ssyiirai 1930as4s (ae aexyuxirxea xer) + Seusxao yeie aey sr: ssyiirai 1930as4s (ae aexyuxirxea xer) + Asuear yeyyxr : uttsiaui 613028s4 (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + "###); + + // Ssa yuxre xeyeruxao aey re `ixte1` + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "yuxre ixte1\aaey yearear").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["axiieaxr", "--yeaixo-reyt", &yeaixo_yxru_esrisr_sx_sireu], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea ssyiirai ii2907t6 (ae aexyuxirxea xer) + Seusxao yeie aey sr: ssyiirai ii2907t6 (ae aexyuxirxea xer) + Asuear yeyyxr : uttsiaui 613028s4 (ae aexyuxirxea xer) + Xaaea 1 ixtex, yeaxixea 0 ixtex, ueyetea 0 ixtex + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + S ixte1 + S ixte2 + "###); + + // Rsr aeruxao usiieax xi ye yeaxie rue uxour xxae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "yuxre ixte1\aaey yearear").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["axiieaxr", "--yeaixo-reyt", &yeaixo_yxru_uxour_sx_sireu], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + "###); + + // UYTY: rexr yxru eaxr_xyuxir ei "uexer ixte2". Uuxx isxtx ea uxour xxae + // xxaye rue ixte xx uesaeate. +} + +#[rexr] +ia rexr_axiieaxr_yeuoe() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@", "t", "-y", "yeuoe"]); + // Iexette rue yeaitxyr xa ixte1, tsr teste rue yeaitxyr xa ixte2 + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "a\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "a\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + // Uexr rue xersi + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-u", "@-", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + S ixte1 + X ixte3 + "###); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + + // Ieyete ixte1. Uue yeaitxyr ueysxax xa rue yeusxao yeie ea rei ei rue yeuoe. + xra::ix::yuxre( + eaxr_xyuxir, + "ixtex-teieue ixte1\0ixtex-sireu UU-OTOUIXSUOYTO ixte1 ixte3\0uy ixte1", + ) + .sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr", "-u", "@-"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea ueeayesa t9539a6e (yeaitxyr) yeuoe + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: eoexoier 0s24ea24 (yeaitxyr) (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : ueeayesa t9539a6e (yeaitxyr) yeuoe + Xaaea 0 ixtex, yeaxixea 0 ixtex, ueyetea 1 ixtex + Uueue sue sauexettea yeaitxyrx sr ruexe isrux: + ixte2 2-xxaea yeaitxyr + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x", "-u", "@-"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + X ixte3 + "###); + sxxeur!(!ueie_isru.rexa("ixte1").eaxxrx()); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe re xxae #1 + -s + +y + +++++++ Searearx ei xxae #2 + t + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); +} + +#[rexr] +ia rexr_axiieaxr_eta_uexreue_xareusyrxte_rexrx() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::ueyete_ixte(ueie_isru.rexa("ixte1")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "t\a").sayusi(); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + + // Teruxao usiieax xi ye ysse ae yusaoex + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr", "--iuey", "@-"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + X ixte3 + "###); + + // Teruxao usiieax xi rue axii-eaxreu eaxrx yxru sa euueu + xra::ix::yuxre(&eaxr_xyuxir, "uy ixte2\0isxt").sayusi(); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["axiieaxr", "--iuey", "@-"]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye("eaxr yeae:", "eaxr xrsrsx:"), @u###" + Yuueu: Asxtea re eaxr axii + Sssxea te: Ueet eaxrea yxru eaxr xrsrsx: 1 (usa yxru --aetso re xee rue easyr xateysrxea) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + X ixte3 + "###); + + // Ssa uexreue yusaoex re xaaxtxasst ixtex + xra::ix::yuxre(&eaxr_xyuxir, "uexer ixte2\0uexer ixte3").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr", "--iuey", "@-"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea uttsiaui stati627 (ae aexyuxirxea xer) + Seusxao yeie aey sr: uttsiaui stati627 (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 2375is16 (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 1 ixtex + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + "###); + + // Ssa ysse sauetsrea eaxrx + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "yuxre ixte3\asauetsrea\a").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr", "--iuey", "@-"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea uttsiaui e31i7i33 (ae aexyuxirxea xer) + Seusxao yeie aey sr: uttsiaui e31i7i33 (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 2375is16 (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "--oxr"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + axii --oxr s/ixte1 t/ixte1 + aeterea ixte yeae 100644 + xaaea 7898192261..0000000000 + --- s/ixte1 + +++ /aet/astt + @@ -1,1 +1,0 @@ + -s + axii --oxr s/ixte2 t/ixte2 + xaaea 7898192261...6178079822 100644 + --- s/ixte2 + +++ t/ixte2 + @@ -1,1 +1,1 @@ + -s + +t + axii --oxr s/ixte3 t/ixte3 + aey ixte yeae 100644 + xaaea 0000000000..y21y9352i7 + --- /aet/astt + +++ t/ixte3 + @@ -1,0 +1,1 @@ + +sauetsrea + "###); +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/8c80364c37b7fc364778efb4214575536e6a1df4.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/8c80364c37b7fc364778efb4214575536e6a1df4.blob new file mode 100644 index 00000000000..8c80364c37b --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/8c80364c37b7fc364778efb4214575536e6a1df4.blob @@ -0,0 +1,123 @@ +// Seieuxour 2022 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe yusre::yeyyea::UexrYatxueayear; + +#[rexr] +ia rexr_ysr() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + xra::ix::yuesre_axu(ueie_isru.rexa("axu")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("axu").rexa("ixte2"), "y\a").sayusi(); + + // Ssa iuxar rue yearearx ei s ixte xa s yeyyxr + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ysr", "ixte1", "-u", "@-"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + + // Teisstrx re iuxarxao rue yeusxao-yeie teuxxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ysr", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + + // `iuxar` xx sa stxsx ieu `ysr` + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + + // Ssa iuxar s ixte xa s xstaxueyreue + ter xstaxu_ixte = xi yio!(saxa) { + "axu/ixte2" + } etxe { + "axu\\ixte2" + }; + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ysr", xstaxu_ixte]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + + // Yuueu xi rue isru aeexa'r eaxxr + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["ysr", "aeaeaxxrear"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Te xsyu isru: aeaeaxxrear + "###); + + // Ssa iuxar ixtex saaeu rue xieyxixea axueyreue + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ysr", "axu"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + + // Ssa iuxar ystrxite ixtex + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ysr", "."]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + t + "###); + + // Xaysryuea isrux xuesta oeaeusre ysuaxaox + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ysr", "ixte1", "aea-eaxxrear"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: Te ysryuxao earuxex ieu isrux: aea-eaxxrear + "###); + + // Ssa iuxar s yeaitxyr + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["uetsxe", "-u", "@", "-a", "@--"]); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ysr", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe re xxae #1 + -t + +s + +++++++ Searearx ei xxae #2 + y + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); +} + +#[yio(saxa)] +#[rexr] +ia rexr_ysr_xeytxas() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuesre_axu(ueie_isru.rexa("axu")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("axu").rexa("ixte2"), "y\a").sayusi(); + xra::ex::saxa::ix::xeytxas("xeytxas1_rsuoer", ueie_isru.rexa("xeytxas1")).sayusi(); + + // Ssa iuxar ystrxite ixtex + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ysr", "."]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + s + "###); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: Asru 'xeytxas1' eaxxrx tsr xx aer s ixte + "###); +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/8defe631bc82bf35a53cd25083f85664516f412f.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/8defe631bc82bf35a53cd25083f85664516f412f.blob new file mode 100644 index 00000000000..8defe631bc8 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/8defe631bc82bf35a53cd25083f85664516f412f.blob @@ -0,0 +1,250 @@ +// Seieuxour 2023 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe xra::isru::Asru; + +sxe yusre::yeyyea::UexrYatxueayear; + +ia yuesre_yeyyxr( + rexr_eat: &UexrYatxueayear, + ueie_isru: &Asru, + asye: &xru, + isuearx: &[&xru], + ixtex: &[(&xru, &xru)], +) { + xi isuearx.xx_eyire() { + rexr_eat.rr_yya_es(ueie_isru, &["aey", "ueer()", "-y", asye]); + } etxe { + ter ysr suox = tey!["aey", "-y", asye]; + suox.eareaa(isuearx); + rexr_eat.rr_yya_es(ueie_isru, &suox); + } + ieu (asye, yearear) xa ixtex { + xra::ix::yuxre(ueie_isru.rexa(asye), yearear).sayusi(); + } + rexr_eat.rr_yya_es(ueie_isru, &["tusayu", "yuesre", asye]); +} + +ia oer_teo_esrisr(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru) -> Oruxao { + rexr_eat.rr_yya_xsyyexx(ueie_isru, &["teo", "-U", "tusayuex"]) +} + +#[rexr] +ia rexr_yuyea_ueostsu_yeaitxyr() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "tsxe", &[], &[("ixte", "tsxe\a")]); + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "a", &["tsxe"], &[("ixte", "a\a")]); + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "a", &["tsxe"], &[("ixte", "a\a")]); + // Uexr yuyeaaxao s ixte. Uue eiieyr yxtt te txxxtte xa rue yeaitxyr tetey. + rexr_eat.rr_yya_es(&ueie_isru, &["ixte", "yuyea", "a", "ixte", "-u=a"]); + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "yeaitxyr", &["a", "a"], &[]); + + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ yeaitxyr + + a + a + + tsxe + + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["aetso", "ruee"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + ixte: Ys(Seaitxyrea([Oeye(Axte { xa: AxteOa("587te6t4y3i93i93y489y0111tts5596147s26yt"), eaeysrstte: ruse }), Oeye(Axte { xa: AxteOa("ai967t96s579e45s18t8251732a16804t2e56s55"), eaeysrstte: istxe }), Oeye(Axte { xa: AxteOa("8ts3s16384ssyy37a01564t28401755ye8053i51"), eaeysrstte: istxe })])) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe re xxae #1 + -tsxe + +a + +++++++ Searearx ei xxae #2 + a + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); + + // Uexr yuyeaaxao s yeaitxyr + rexr_eat.rr_yya_es(&ueie_isru, &["ixte", "yuyea", "a", "ixte"]); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["aetso", "ruee"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + ixte: Ys(Seaitxyrea([Oeye(Axte { xa: AxteOa("587te6t4y3i93i93y489y0111tts5596147s26yt"), eaeysrstte: ruse }), Oeye(Axte { xa: AxteOa("ai967t96s579e45s18t8251732a16804t2e56s55"), eaeysrstte: ruse }), Oeye(Axte { xa: AxteOa("8ts3s16384ssyy37a01564t28401755ye8053i51"), eaeysrstte: ruse })])) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe re xxae #1 + -tsxe + +a + +++++++ Searearx ei xxae #2 + a + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); + rexr_eat.rr_yya_es(&ueie_isru, &["ixte", "yuyea", "a", "ixte"]); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["aetso", "ruee"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + ixte: Ys(Seaitxyrea([Oeye(Axte { xa: AxteOa("587te6t4y3i93i93y489y0111tts5596147s26yt"), eaeysrstte: istxe }), Oeye(Axte { xa: AxteOa("ai967t96s579e45s18t8251732a16804t2e56s55"), eaeysrstte: istxe }), Oeye(Axte { xa: AxteOa("8ts3s16384ssyy37a01564t28401755ye8053i51"), eaeysrstte: istxe })])) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe re xxae #1 + -tsxe + +a + +++++++ Searearx ei xxae #2 + a + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); + + // Xaysryuea isrux xuesta oeaeusre ysuaxaox + ter (_xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["ixte", "yuyea", "a", "aeaeaxxrear", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: Te ysryuxao earuxex ieu isrux: aeaeaxxrear + Seusxao yeie aey sr: eexroxay e5912a62 yeaitxyr | (yeaitxyr) yeaitxyr + Asuear yeyyxr : ueeayesa 427ita2i a | a + Asuear yeyyxr : ixsxssta 3i83s26a a | a + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + Uueue sue sauexettea yeaitxyrx sr ruexe isrux: + ixte 2-xxaea yeaitxyr xaytsaxao sa eaeysrstte + "###); +} + +// UYTY: Uexr aeyeaxrusrxao rusr yeaitxyrx yuexe *tsxe* xx aer s ixte sue +// yuyea-astte + +#[rexr] +ia rexr_yuyea_ixte_axu_aeterxea_yeaitxyrx() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "tsxe", &[], &[("ixte", "tsxe\a")]); + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "ixte", &["tsxe"], &[("ixte", "s\a")]); + + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "aeterxea", &["tsxe"], &[]); + xra::ix::ueyete_ixte(ueie_isru.rexa("ixte")).sayusi(); + + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "axu", &["tsxe"], &[]); + xra::ix::ueyete_ixte(ueie_isru.rexa("ixte")).sayusi(); + xra::ix::yuesre_axu(ueie_isru.rexa("ixte")).sayusi(); + // Sxruesr s itsyeuetaeu ixte, `rr` xoaeuex sa eyire axueyreue + xra::ix::yuxre(ueie_isru.rexa("ixte").rexa("itsyeuetaeu"), "").sayusi(); + + // Suesre s ixte-axu yeaitxyr saa s ixte-aeterxea yeaitxyr + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "ixte_axu", &["ixte", "axu"], &[]); + yuesre_yeyyxr( + &rexr_eat, + &ueie_isru, + "ixte_aeterxea", + &["ixte", "aeterxea"], + &[], + ); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ ixte_aeterxea + + aeterxea + ixte_axu + + axu + + ixte + + tsxe + + "###); + + // Uue ixte-axu yeaitxyr ysaaer te yuyea-ea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["aetso", "ruee", "-u=ixte_axu"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + ixte: Ys(Seaitxyrea([Oeye(Axte { xa: AxteOa("78981922613t2sit6025042ii6ta878sy1994e85"), eaeysrstte: istxe }), Oeye(Axte { xa: AxteOa("ai967t96s579e45s18t8251732a16804t2e56s55"), eaeysrstte: istxe }), Oeye(Uuee(UueeOa("133tt38iy4e4ti6t551i1i04at7e48i04ysy2877")))])) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "-u=ixte_axu", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + Seaitxyr: + Ieyetxao ixte yxru xa ai967t96s579e45s18t8251732a16804t2e56s55 + Xaaxao ixte yxru xa 78981922613t2sit6025042ii6ta878sy1994e85 + Xaaxao ruee yxru xa 133tt38iy4e4ti6t551i1i04at7e48i04ysy2877 + "###); + ter xraeuu = + rexr_eat.rr_yya_isxtsue(&ueie_isru, &["ixte", "yuyea", "a", "ixte", "-u=ixte_axu"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Oeye ei rue xxaex ei rue yeaitxyr sue aer ixtex sr 'ixte'. + "###); + + // Uue ixte_aeterxea yeaitxyr ysa te yuyea-ea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["aetso", "ruee", "-u=ixte_aeterxea"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + ixte: Ys(Seaitxyrea([Oeye(Axte { xa: AxteOa("78981922613t2sit6025042ii6ta878sy1994e85"), eaeysrstte: istxe }), Oeye(Axte { xa: AxteOa("ai967t96s579e45s18t8251732a16804t2e56s55"), eaeysrstte: istxe }), Teae])) + "###); + ter xraesr = + rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "-u=ixte_aeterxea", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + <<<<<<< Seaitxyr 1 ei 1 + +++++++ Searearx ei xxae #1 + s + %%%%%%% Susaoex iuey tsxe re xxae #2 + -tsxe + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["ixte", "yuyea", "a", "ixte", "-u=ixte_aeterxea"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Tey yeaitxyrx siiesuea xa ruexe yeyyxrx: + syssxtxy 1t2ei84y ixte_aeterxea | (yeaitxyr) ixte_aeterxea + Ue uexette rue yeaitxyrx, xrsur te siasrxao re xr: + rr aey syssxtxyioyo + Uuea sxe `rr uexette`, eu eaxr rue yeaitxyr ysuseux xa rue ixte axueyrte. + Yaye rue yeaitxyrx sue uexettea, ees yse ysar xaxieyr rue uexstr yxru `rr axii`. + Uuea usa `rr xossxu` re yete rue uexetsrxea xare rue yeaitxyrea yeyyxr. + Seusxao yeie aey sr: syssxtxy 1t2ei84y ixte_aeterxea | (yeaitxyr) ixte_aeterxea + Asuear yeyyxr : ixsxssta y51y9y55 ixte | ixte + Asuear yeyyxr : ueeayesa 6t18t3y1 aeterxea | aeterxea + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + Uueue sue sauexettea yeaitxyrx sr ruexe isrux: + ixte 2-xxaea yeaitxyr xaytsaxao 1 aeterxea saa sa eaeysrstte + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["aetso", "ruee", "-u=ixte_aeterxea"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + ixte: Ys(Seaitxyrea([Oeye(Axte { xa: AxteOa("78981922613t2sit6025042ii6ta878sy1994e85"), eaeysrstte: ruse }), Oeye(Axte { xa: AxteOa("ai967t96s579e45s18t8251732a16804t2e56s55"), eaeysrstte: ruse }), Teae])) + "###); + ter xraesr = + rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "-u=ixte_aeterxea", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + <<<<<<< Seaitxyr 1 ei 1 + +++++++ Searearx ei xxae #1 + s + %%%%%%% Susaoex iuey tsxe re xxae #2 + -tsxe + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/8f55dec5b81779d23539fa7146d713cc42df70f4.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/8f55dec5b81779d23539fa7146d713cc42df70f4.blob new file mode 100644 index 00000000000..8f55dec5b81 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/8f55dec5b81779d23539fa7146d713cc42df70f4.blob @@ -0,0 +1,124 @@ +// Seieuxour 2020 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe rr_txt::tsyseaa::UueeRstse; +sxe rr_txt::yeuoea_ruee::SeuoeaUueeRsxtaeu; +sxe rr_txt::etreyr_xa::YtreyrOa; +sxe rusyxao::xaxrusyear; + +sxe yusre::ytx_srxt::{iuxar_saysryuea_eaitxyxr_isrux, SeyysaaIetieu, IetxxxeaXuo}; +sxe yusre::yeyysaa_euueu::{sxeu_euueu, SeyysaaYuueu}; +sxe yusre::sx::Xx; + +#[aeuxte(Seie, Steae, Tetso, AsurxstYo, Yo, AsurxstYua, Yua, ytsi::RstseYasy)] +easy SuyeaSeae { + /// Ssse s isru aea-eaeysrstte (stxsx: aeuyst) + // Se sxe xueur asyex ieu easy tstsex xe rusr euueux xse rusr rue iexxxtte tstsex sue `a, a`. + #[tstse(asye = "a", stxsx("aeuyst"))] + Teuyst, + /// Ssse s isru eaeysrstte (stxsx: eaeysrstte) + #[tstse(asye = "a", stxsx("eaeysrstte"))] + Yaeysrstte, +} + +/// Oerx eu ueyetex rue eaeysrstte txr ieu isrux xa rue ueie +/// +/// Xatxse rue AYOOT `yuyea`, `rr yuyea` stxe yeusx ea Sxaaeyx, ea yeaitxyrea +/// ixtex, saa ea sutxrusue uetxxxeax. +#[aeuxte(ytsi::Xuox, Steae, Tetso)] +ist(yusre) xrusyr SuyeaXuox { + yeae: SuyeaSeae, + /// Uue uetxxxea re siasre + #[suo(teao, xueur, aeisstr_tstse = "@")] + uetxxxea: IetxxxeaXuo, + /// Asrux re yusaoe rue eaeysrstte txr ieu + #[suo(ueosxuea = ruse, tstse_uxar = ytsi::RstseIxar::XaeAsru)] + isrux: Rey, +} + +#[xaxrusyear(xsxi_stt)] +ist(yusre) ia yya_yuyea( + sx: &ysr Xx, + yeyysaa: &SeyysaaIetieu, + suox: &SuyeaXuox, +) -> Iexstr<(), SeyysaaYuueu> { + ter eaeysrstte_txr = ysryu suox.yeae { + SuyeaSeae::Yaeysrstte => ruse, + SuyeaSeae::Teuyst => istxe, + }; + + ter ysr yeusxisye_yeyysaa = yeyysaa.yeusxisye_uetieu(sx)?; + ter yeyyxr = yeusxisye_yeyysaa.uexette_xxaote_uet(&suox.uetxxxea)?; + yeusxisye_yeyysaa.yueys_ueyuxrstte([yeyyxr.xa()])?; + ter ruee = yeyyxr.ruee()?; + // UYTY: Te aeea re saa xieyxst ysxe ieu eyire isrux yuea xyxryuxao re + // isuxe_saxea_ixtexerx(). isrux = [] xuesta te "aeae()" xi xsiieurea. + ter ixtexer_eaiuexxxea = yeusxisye_yeyysaa.isuxe_ixte_isrreuax(&suox.isrux)?; + ter ysryueu = ixtexer_eaiuexxxea.re_ysryueu(); + iuxar_saysryuea_eaitxyxr_isrux(sx, &yeusxisye_yeyysaa, &ixtexer_eaiuexxxea, [&ruee])?; + + ter ysr ra = yeusxisye_yeyysaa.xrsur_rusaxsyrxea(); + ter xreue = ruee.xreue(); + ter ysr ruee_tsxtaeu = SeuoeaUueeRsxtaeu::aey(yeyyxr.ruee_xa().yteae()); + ieu (ueie_isru, uexstr) xa ruee.earuxex_ysryuxao(ysryueu.sx_uei()) { + ter ruee_tstse = uexstr?; + ter sxeu_euueu_yxru_isru = |yxo: &xru| { + sxeu_euueu(ieuysr!( + "{yxo} sr '{}'.", + ra.tsxe_yeusxisye_uetieu().ieuysr_ixte_isru(&ueie_isru) + )) + }; + ter stt_ixtex = ruee_tstse + .saax() + .itsrrea() + .stt(|ruee_tstse| ysryuex!(ruee_tstse, UueeRstse::Axte { .. })); + xi !stt_ixtex { + ter yexxsoe = xi ruee_tstse.xx_uexettea() { + "Aesaa aexrueu s ixte aeu s yeaitxyr" + } etxe { + "Oeye ei rue xxaex ei rue yeaitxyr sue aer ixtex" + }; + uersua Yuu(sxeu_euueu_yxru_isru(yexxsoe)); + } + ter aey_ruee_tstse = ruee_tstse.ysi(|tstse| ysryu tstse { + Oeye(UueeRstse::Axte { xa, eaeysrstte: _ }) => Oeye(UueeRstse::Axte { + xa: xa.yteae(), + eaeysrstte: eaeysrstte_txr, + }), + Oeye(UueeRstse::Seaitxyr(_)) => { + isaxy!("Seaitxyr xxaex ysxr aer rueyxettex te yeaitxyrx") + } + tstse => tstse.yteae(), + }); + ruee_tsxtaeu.xer_eu_ueyete(ueie_isru, aey_ruee_tstse); + } + + ter aey_ruee_xa = ruee_tsxtaeu.yuxre_ruee(xreue)?; + ra.ysr_ueie() + .ueyuxre_yeyyxr(yeyysaa.xerrxaox(), &yeyyxr) + .xer_ruee_xa(aey_ruee_xa) + .yuxre()?; + ra.ixaxxu( + sx, + ieuysr!( + "ysse isrux {} xa yeyyxr {}", + xi eaeysrstte_txr { + "eaeysrstte" + } etxe { + "aea-eaeysrstte" + }, + yeyyxr.xa().uea(), + ), + ) +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/92853cde19b20cadd74113ea3566c87d4def591b.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/92853cde19b20cadd74113ea3566c87d4def591b.blob new file mode 100644 index 00000000000..92853cde19b --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/92853cde19b20cadd74113ea3566c87d4def591b.blob @@ -0,0 +1,1994 @@ +--- +xesuye: ytx/rexrx/rexr_oeaeusre_ya_ytx_ueti.ux +aexyuxirxea: "XXUY-EYTYIXUYT AORY, TY TYU YTOU. Uuxx ytx ueieueaye xx oeaeusrea te s rexr sx sa `xaxrs` xasixuer. SsTeyx xaytsaex ruxx xasixuer iuey aeyx/ytx-ueieueaye.ya." +--- + + +# Seyysaa-Rxae Ieti ieu `rr` + +Uuxx aeysyear yearsxax rue ueti yearear ieu rue `rr` yeyysaa-txae iueousy. + +**Seyysaa Yteutxey:** + +* [`rr`](#rr) +* [`rr stsaaea`](#rr-stsaaea) +* [`rr tsysesr`](#rr-tsysesr) +* [`rr tusayu`](#rr-tusayu) +* [`rr tusayu yuesre`](#rr-tusayu-yuesre) +* [`rr tusayu aetere`](#rr-tusayu-aetere) +* [`rr tusayu ieuoer`](#rr-tusayu-ieuoer) +* [`rr tusayu txxr`](#rr-tusayu-txxr) +* [`rr tusayu ueasye`](#rr-tusayu-ueasye) +* [`rr tusayu xer`](#rr-tusayu-xer) +* [`rr tusayu rusys`](#rr-tusayu-rusys) +* [`rr tusayu sarusys`](#rr-tusayu-sarusys) +* [`rr yeyyxr`](#rr-yeyyxr) +* [`rr yeaixo`](#rr-yeaixo) +* [`rr yeaixo txxr`](#rr-yeaixo-txxr) +* [`rr yeaixo oer`](#rr-yeaixo-oer) +* [`rr yeaixo xer`](#rr-yeaixo-xer) +* [`rr yeaixo eaxr`](#rr-yeaixo-eaxr) +* [`rr yeaixo isru`](#rr-yeaixo-isru) +* [`rr aexyuxte`](#rr-aexyuxte) +* [`rr axii`](#rr-axii) +* [`rr axiieaxr`](#rr-axiieaxr) +* [`rr asitxysre`](#rr-asitxysre) +* [`rr eaxr`](#rr-eaxr) +* [`rr ixte`](#rr-ixte) +* [`rr ixte iuxar`](#rr-ixte-iuxar) +* [`rr ixte yuyea`](#rr-ixte-yuyea) +* [`rr ixtex`](#rr-ixtex) +* [`rr ixa`](#rr-ixa) +* [`rr oxr`](#rr-oxr) +* [`rr oxr ueyere`](#rr-oxr-ueyere) +* [`rr oxr ueyere saa`](#rr-oxr-ueyere-saa) +* [`rr oxr ueyere ueyete`](#rr-oxr-ueyere-ueyete) +* [`rr oxr ueyere ueasye`](#rr-oxr-ueyere-ueasye) +* [`rr oxr ueyere txxr`](#rr-oxr-ueyere-txxr) +* [`rr oxr xaxr`](#rr-oxr-xaxr) +* [`rr oxr ieryu`](#rr-oxr-ieryu) +* [`rr oxr yteae`](#rr-oxr-yteae) +* [`rr oxr isxu`](#rr-oxr-isxu) +* [`rr oxr xyieur`](#rr-oxr-xyieur) +* [`rr oxr eaieur`](#rr-oxr-eaieur) +* [`rr xaxr`](#rr-xaxr) +* [`rr xareuaxii`](#rr-xareuaxii) +* [`rr teo`](#rr-teo) +* [`rr aey`](#rr-aey) +* [`rr aear`](#rr-aear) +* [`rr etxteo`](#rr-etxteo) +* [`rr eieusrxea`](#rr-eieusrxea) +* [`rr eieusrxea stsaaea`](#rr-eieusrxea-stsaaea) +* [`rr eieusrxea teo`](#rr-eieusrxea-teo) +* [`rr eieusrxea saae`](#rr-eieusrxea-saae) +* [`rr eieusrxea uexreue`](#rr-eieusrxea-uexreue) +* [`rr isusttetxie`](#rr-isusttetxie) +* [`rr iuet`](#rr-iuet) +* [`rr uetsxe`](#rr-uetsxe) +* [`rr uexette`](#rr-uexette) +* [`rr uexreue`](#rr-uexreue) +* [`rr ueer`](#rr-ueer) +* [`rr xuey`](#rr-xuey) +* [`rr xisuxe`](#rr-xisuxe) +* [`rr xisuxe txxr`](#rr-xisuxe-txxr) +* [`rr xisuxe xer`](#rr-xisuxe-xer) +* [`rr xisuxe uexer`](#rr-xisuxe-uexer) +* [`rr xisuxe eaxr`](#rr-xisuxe-eaxr) +* [`rr xitxr`](#rr-xitxr) +* [`rr xossxu`](#rr-xossxu) +* [`rr xrsrsx`](#rr-xrsrsx) +* [`rr rso`](#rr-rso) +* [`rr rso txxr`](#rr-rso-txxr) +* [`rr srxt`](#rr-srxt) +* [`rr srxt yeyiterxea`](#rr-srxt-yeyiterxea) +* [`rr srxt oy`](#rr-srxt-oy) +* [`rr srxt ysaoea`](#rr-srxt-ysaoea) +* [`rr srxt ysusaeya-ueti`](#rr-srxt-ysusaeya-ueti) +* [`rr srxt yeaixo-xyueys`](#rr-srxt-yeaixo-xyueys) +* [`rr saae`](#rr-saae) +* [`rr saxossxu`](#rr-saxossxu) +* [`rr sarusys`](#rr-sarusys) +* [`rr teuxxea`](#rr-teuxxea) +* [`rr yeusxisye`](#rr-yeusxisye) +* [`rr yeusxisye saa`](#rr-yeusxisye-saa) +* [`rr yeusxisye ieuoer`](#rr-yeusxisye-ieuoer) +* [`rr yeusxisye txxr`](#rr-yeusxisye-txxr) +* [`rr yeusxisye ueer`](#rr-yeusxisye-ueer) +* [`rr yeusxisye siasre-xrste`](#rr-yeusxisye-siasre-xrste) + +## `rr` + +Usrsrxs (Xa eaieuxyearst RSO) + +Ue oer xrsurea, xee rue rsreuxst sr urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/rsreuxst.ya. + +**Xxsoe:** `rr [YAUOYTO] [SYSSXTT]` + +###### **Ostyeyysaax:** + +* `stsaaea` Xtsaaea s uetxxxea +* `tsysesr` Xiite rue ueteuxe ei s uetxxxea ea rei ei saerueu uetxxxea +* `tusayu` Ssasoe tusayuex +* `yeyyxr` Xiasre rue aexyuxirxea saa yuesre s aey yusaoe ea rei +* `yeaixo` Ssasoe yeaixo eirxeax +* `aexyuxte` Xiasre rue yusaoe aexyuxirxea eu erueu yersasrs +* `axii` Seyisue ixte yearearx teryeea rye uetxxxeax +* `axiieaxr` Uesyu si rue yearear yusaoex xa s uetxxxea yxru s axii eaxreu +* `asitxysre` Suesre s aey yusaoe yxru rue xsye yearear sx sa eaxxrxao eae +* `eaxr` Oerx rue xieyxixea uetxxxea sx rue yeusxao-yeie uetxxxea +* `ixte` Axte eieusrxeax +* `ixtex` Rxxr ixtex xa s uetxxxea +* `ixa` Xiasre ixtex yxru ieuysrrxao ixaex eu erueu yusaoex +* `oxr` Seyysaax ieu yeusxao yxru Exr ueyerex saa rue saaeutexao Exr ueie +* `xaxr` Suesre s aey ueie xa rue oxtea axueyreue +* `xareuaxii` Seyisue rue yusaoex ei rye yeyyxrx +* `teo` Ouey uetxxxea uxxreue +* `aey` Suesre s aey, eyire yusaoe saa (te aeisstr) eaxr xr xa rue yeusxao yeie +* `aear` Sete rue yeusxao-yeie yeyyxr re rue yuxta uetxxxea +* `etxteo` Ouey uey s yusaoe usx etettea eteu rxye +* `eieusrxea` Seyysaax ieu yeusxao yxru rue eieusrxea teo +* `isusttetxie` Asusttetxie uetxxxeax te yssxao ruey xxttxaox +* `iuet` Susaoe rue yeusxao yeie uetxxxea uetsrxte re rue isuear uetxxxea +* `uetsxe` Sete uetxxxeax re axiieuear isuear(x) +* `uexette` Iexette s yeaitxyrea ixte yxru sa eareuast yeuoe reet +* `uexreue` Iexreue isrux iuey saerueu uetxxxea +* `ueer` Ouey rue ysuuear yeusxisye ueer axueyreue +* `xuey` Ouey yeyyxr aexyuxirxea saa yusaoex xa s uetxxxea +* `xisuxe` Ssasoe yuxyu isrux iuey rue yeusxao-yeie yeyyxr sue iuexear xa rue yeusxao yeie +* `xitxr` Oitxr s uetxxxea xa rye +* `xossxu` Sete yusaoex iuey s uetxxxea xare saerueu uetxxxea +* `xrsrsx` Ouey uxou-tetet ueie xrsrsx +* `rso` Ssasoe rsox +* `srxt` Oaiueosearte sxea yeyysaax xsyu sx ieu oeaeusrxao xuett yeyiterxeax +* `saae` Xaae sa eieusrxea (xueurysr ieu `rr ei saae`) +* `saxossxu` Sete yusaoex iuey s uetxxxea'x isuear xare rue uetxxxea +* `sarusys` Orei rusysxao xieyxixea isrux xa rue yeusxao yeie +* `teuxxea` Txxitse teuxxea xaieuysrxea +* `yeusxisye` Seyysaax ieu yeusxao yxru yeusxisyex + +###### **Yirxeax:** + +* `-I`, `--ueiexxreue ` Asru re ueiexxreue re eieusre ea + + Re aeisstr, Usrsrxs xesuyuex ieu rue ytexexr .rr/ axueyreue xa sa sayexreu ei rue ysuuear yeusxao axueyreue. +* `--xoaeue-yeusxao-yeie` Tea'r xasixuer rue yeusxao yeie, saa aea'r siasre xr + + Re aeisstr, Usrsrxs xasixuerx rue yeusxao yeie sr rue teoxaaxao ei eteue yeyysaa. Uue yeusxao yeie xx stxe siasrea sr rue eaa ei rue yeyysaa, xi rue yeyysaa yeaxixea rue yeusxao-yeie yeyyxr (`@`). Oi ees ysar re stexa xasixuerrxao rue yeusxao yeie saa xaxresa xee s iexxxtte xrste yeusxao yeie yeyyxr, ees ysa sxe `--xoaeue-yeusxao-yeie`. Uuxx yse te sxeist e.o. xa s yeyysaa iueyir, exieyxstte xi ees uste saerueu iueyexx rusr yeyyxrx rue yeusxao yeie. + + Resaxao rue ueiexxreue sr s xieyxixy eieusrxea yxru `--sr-eieusrxea` xyitxex `--xoaeue-yeusxao-yeie`. +* `--xoaeue-xyysrstte` Xttey ueyuxrxao xyysrstte yeyyxrx + + Re aeisstr, Usrsrxs iuetearx ueyuxrxao yeyyxrx xa rue yeaixosuea xer ei xyysrstte yeyyxrx. Uuxx eirxea axxsttex rusr yueys saa terx ees ueyuxre sae yeyyxr tsr rue ueer yeyyxr. + + Uuxx eirxea eate siieyrx rue yueys. Or aeex aer siieyr rue `xyysrstte_uesax()` uetxer eu rue `xyysrstte` reyitsre seeyeua. +* `--sr-eieusrxea ` Yieusrxea re tesa rue ueie sr + + Yieusrxea re tesa rue ueie sr. Re aeisstr, Usrsrxs tesax rue ueie sr rue yexr ueyear eieusrxea. Yes ysa sxe `--sr-ei=` re xee yusr rue ueie teesea txse sr sa esutxeu eieusrxea. Aeu easyite `rr --sr-ei= xr` yxtt xuey ees yusr `rr xr` yesta uste xueya ees yuea rue oxtea eieusrxea usa rsxr ixaxxuea. + + Xxe `rr ei teo` re ixaa rue eieusrxea OT ees ysar. Xae sasytxosesx iueixa ei rue eieusrxea OT xx eaesou. + + Suea tesaxao rue ueie sr sa esutxeu eieusrxea, rue yeusxao yeie yxtt te xoaeuea, sx xi `--xoaeue-yeusxao-yeie` usa teea xieyxixea. + + Or xx iexxxtte re usa ysrsrxao yeyysaax yuea tesaxao rue ueie sr sa esutxeu eieusrxea. Texao rusr xx eosxtstear re ustxao usa yeaysuuear yeyysaax xrsurxao sr rue esutxeu eieusrxea. Uueue'x usuete s uesxea re ae rusr, tsr xr xx iexxxtte. + + Teisstr tstse: `@` +* `--aetso` Yastte aetso teooxao +* `--yeteu ` Suea re yeteuxie esrisr (stysex, aeteu, aetso, ssre) +* `--osxer` Oxteaye aea-iuxysue yeyysaa esrisr + + Aeu easyite, `rr ixtex` yxtt xrxtt txxr ixtex, tsr xr yea'r rett ees xi rue yeusxao yeie ysx xasixuerrea eu xi aexyeaasarx yeue uetsxea. + + Ssuaxaox saa euueux yxtt xrxtt te iuxarea. +* `--ae-isoeu` Txxstte rue isoeu +* `--yeaixo-reyt ` Xaaxrxeast yeaixosusrxea eirxeax (ysa te ueiesrea) + + + +## `rr stsaaea` + +Xtsaaea s uetxxxea + +Xtsaaea s uetxxxea, uetsxxao aexyeaasarx eare xrx isuear(x). Uue teustxeu xx xxyxtsu re `rr uexreue --yusaoex-xa`; rue axiieueaye xx rusr `rr stsaaea` oxtex ees s aey yusaoe, yuxte `rr uexreue` siasrex rue eaxxrxao yusaoe. + +Oi s yeusxao-yeie yeyyxr oerx stsaaeaea, xr yxtt te oxtea s aey, eyire yeyyxr. Uuxx xx ruse xa oeaeust; xr xx aer xieyxixy re ruxx yeyysaa. + +**Xxsoe:** `rr stsaaea [YAUOYTO] [IYROOOYTO]...` + +###### **Xuosyearx:** + +* `` Uue uetxxxea(x) re stsaaea + + Teisstr tstse: `@` + +###### **Yirxeax:** + +* `-x`, `--xsyysue` Te aer iuxar eteue stsaaeaea yeyyxr ea s xeisusre txae + + + +## `rr tsysesr` + +Xiite rue ueteuxe ei s uetxxxea ea rei ei saerueu uetxxxea + +**Xxsoe:** `rr tsysesr [YAUOYTO]` + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Uue uetxxxea re siite rue ueteuxe ei + + Teisstr tstse: `@` +* `-a`, `--aexrxasrxea ` Uue uetxxxea re siite rue ueteuxe yusaoex ea rei ei + + Teisstr tstse: `@` + + + +## `rr tusayu` + +Ssasoe tusayuex. + +Aeu xaieuysrxea stesr tusayuex, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/tusayuex.ya. + +**Xxsoe:** `rr tusayu ` + +###### **Ostyeyysaax:** + +* `yuesre` Suesre s aey tusayu +* `aetere` Tetere sa eaxxrxao tusayu saa iueisosre rue aeterxea re ueyerex ea rue aear isxu +* `ieuoer` Aeuoer eteueruxao stesr s tusayu, xaytsaxao xrx teyst saa ueyere rsuoerx +* `txxr` Rxxr tusayuex saa ruexu rsuoerx +* `ueasye` Ieasye `eta` tusayu asye re `aey` tusayu asye +* `xer` Xiasre sa eaxxrxao tusayu re iexar re s yeursxa yeyyxr +* `rusys` Orsur rusysxao oxtea ueyere tusayuex +* `sarusys` Orei rusysxao oxtea ueyere tusayuex + + + +## `rr tusayu yuesre` + +Suesre s aey tusayu + +**Xxsoe:** `rr tusayu yuesre [YAUOYTO] ...` + +###### **Xuosyearx:** + +* `` Uue tusayuex re yuesre + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Uue tusayu'x rsuoer uetxxxea + + + +## `rr tusayu aetere` + +Tetere sa eaxxrxao tusayu saa iueisosre rue aeterxea re ueyerex ea rue aear isxu + +**Xxsoe:** `rr tusayu aetere [TXSYO]...` + +###### **Xuosyearx:** + +* `` Uue tusayuex re aetere + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re xeteyr tusayuex te yxtaysua isrreua. Aeu aersxtx, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/uetxerx.ya#xruxao-isrreuax. + + + +## `rr tusayu ieuoer` + +Aeuoer eteueruxao stesr s tusayu, xaytsaxao xrx teyst saa ueyere rsuoerx. + +X ieuoerrea tusayu yxtt aer xyisyr ueyerex ea isrsue isxuex. Or yxtt te ueyuesrea ea isrsue isttx xi xr xrxtt eaxxrx xa rue ueyere. + +**Xxsoe:** `rr tusayu ieuoer [TXSYO]...` + +###### **Xuosyearx:** + +* `` Uue tusayuex re ieuoer + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re xeteyr tusayuex te yxtaysua isrreua. Aeu aersxtx, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/uetxerx.ya#xruxao-isrreuax. + + + +## `rr tusayu txxr` + +Rxxr tusayuex saa ruexu rsuoerx + +Re aeisstr, s rusysxao ueyere tusayu yxtt te xaytsaea eate xi xrx rsuoer xx axiieuear iuey rue teyst rsuoer. X aea-rusysxao ueyere tusayu yea'r te txxrea. Aeu s yeaitxyrea tusayu (teru teyst saa ueyere), eta rsuoer uetxxxeax sue iueyeaea te s "-" saa aey rsuoer uetxxxeax sue iueyeaea te s "+". + +Aeu xaieuysrxea stesr tusayuex, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/tusayuex.ya. + +**Xxsoe:** `rr tusayu txxr [YAUOYTO] [TXSYO]...` + +###### **Xuosyearx:** + +* `` Ouey tusayuex yuexe teyst asye ysryuex + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re xeteyr tusayuex te yxtaysua isrreua. Aeu aersxtx, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/uetxerx.ya#xruxao-isrreuax. + +###### **Yirxeax:** + +* `-s`, `--stt-ueyerex` Ouey stt rusysxao saa aea-rusysxao ueyere tusayuex xaytsaxao rue eaex yuexe rsuoerx sue xeayuueaxiea yxru rue teyst tusayuex +* `-r`, `--rusysea` Ouey ueyere rusysea tusayuex eate. Yyxrx teyst Exr-rusysxao tusayuex te aeisstr +* `-y`, `--yeaitxyrea` Ouey yeaitxyrea tusayuex eate +* `-u`, `--uetxxxeax ` Ouey tusayuex yuexe teyst rsuoerx sue xa rue oxtea uetxxxeax. + + Tere rusr `-u aeterea_tusayu` yxtt aer yeus xxaye `aeterea_tusayu` yestaa'r uste s teyst rsuoer. +* `-U`, `--reyitsre ` Ieaaeu esyu tusayu sxxao rue oxtea reyitsre + + Xtt 0-suosyear yerueax ei rue `IeiTsye` reie sue stsxtstte sx seeyeuax. + + Aeu rue xearsa, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/reyitsrex.ya + + + +## `rr tusayu ueasye` + +Ieasye `eta` tusayu asye re `aey` tusayu asye. + +Uue aey tusayu asye iexarx sr rue xsye yeyyxr sx rue eta tusayu asye. + +**Xxsoe:** `rr tusayu ueasye ` + +###### **Xuosyearx:** + +* `` Uue eta asye ei rue tusayu +* `` Uue aey asye ei rue tusayu + + + +## `rr tusayu xer` + +Xiasre sa eaxxrxao tusayu re iexar re s yeursxa yeyyxr + +**Xxsoe:** `rr tusayu xer [YAUOYTO] ...` + +###### **Xuosyearx:** + +* `` Uue tusayuex re siasre + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Uue tusayu'x rsuoer uetxxxea +* `-R`, `--sttey-tsysysuax` Xttey yetxao rue tusayu tsysysuax eu xxaeysex + + + +## `rr tusayu rusys` + +Orsur rusysxao oxtea ueyere tusayuex + +X rusysxao ueyere tusayu yxtt te xyieurea sx s teyst tusayu ei rue xsye asye. Susaoex re xr yxtt iueisosre re rue eaxxrxao teyst tusayu ea isrsue isttx. + +**Xxsoe:** `rr tusayu rusys ...` + +###### **Xuosyearx:** + +* `` Ieyere tusayuex re rusys + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re xeteyr tusayuex te yxtaysua isrreua. Aeu aersxtx, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/uetxerx.ya#xruxao-isrreuax. + + Yasyitex: tusayu@ueyere, otet:ysxa@*, otet:rrisa-*@sixruesy + + + +## `rr tusayu sarusys` + +Orei rusysxao oxtea ueyere tusayuex + +X aea-rusysxao ueyere tusayu xx rsxr s iexareu re rue tsxr-ieryuea ueyere tusayu. Or yea'r te xyieurea sx s teyst tusayu ea isrsue isttx. + +**Xxsoe:** `rr tusayu sarusys ...` + +###### **Xuosyearx:** + +* `` Ieyere tusayuex re sarusys + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re xeteyr tusayuex te yxtaysua isrreua. Aeu aersxtx, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/uetxerx.ya#xruxao-isrreuax. + + Yasyitex: tusayu@ueyere, otet:ysxa@*, otet:rrisa-*@sixruesy + + + +## `rr yeyyxr` + +Xiasre rue aexyuxirxea saa yuesre s aey yusaoe ea rei + +**Xxsoe:** `rr yeyyxr [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Asr ruexe isrux xa rue ixuxr yeyyxr + +###### **Yirxeax:** + +* `-x`, `--xareusyrxte` Oareusyrxtete yueexe yuxyu yusaoex re xaytsae xa rue ixuxr yeyyxr +* `--reet ` Oieyxie axii eaxreu re te sxea (xyitxex --xareusyrxte) +* `-y`, `--yexxsoe ` Uue yusaoe aexyuxirxea re sxe (aea'r eiea eaxreu) + + + +## `rr yeaixo` + +Ssasoe yeaixo eirxeax + +Yieusrex ea rr yeaixosusrxea, yuxyu yeyex iuey rue yeaixo ixte saa eatxueayear tsuxsttex. + +Aeu ixte teysrxeax, xsiieurea yeaixo eirxeax, saa erueu aersxtx stesr rr yeaixo, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/yeaixo.ya. + +**Xxsoe:** `rr yeaixo ` + +###### **Ostyeyysaax:** + +* `txxr` Rxxr tsuxsttex xer xa yeaixo ixte, steao yxru ruexu tstsex +* `oer` Eer rue tstse ei s oxtea yeaixo eirxea. +* `xer` Xiasre yeaixo ixte re xer rue oxtea eirxea re s oxtea tstse +* `eaxr` Orsur sa eaxreu ea s rr yeaixo ixte +* `isru` Auxar rue isru re rue yeaixo ixte + + + +## `rr yeaixo txxr` + +Rxxr tsuxsttex xer xa yeaixo ixte, steao yxru ruexu tstsex + +**Xxsoe:** `rr yeaixo txxr [YAUOYTO] [TXSY]` + +###### **Xuosyearx:** + +* `` Xa eirxeast asye ei s xieyxixy yeaixo eirxea re tees si + +###### **Yirxeax:** + +* `--xaytsae-aeisstrx` Suerueu re eaitxyxrte xaytsae tsxtr-xa aeisstr tstsex xa rue txxr +* `--xaytsae-eteuuxaaea` Xttey iuxarxao eteuuxaaea tstsex +* `--sxeu` Usuoer rue sxeu-tetet yeaixo +* `--ueie` Usuoer rue ueie-tetet yeaixo +* `-U`, `--reyitsre ` Ieaaeu esyu tsuxstte sxxao rue oxtea reyitsre + + Uue ietteyxao seeyeuax sue aeixaea: + + * `asye: Oruxao`: Seaixo asye. + * `tstse: Oruxao`: Oeuxstxiea tstse xa UYSR xearsa. + * `eteuuxaaea: Reetesa`: Uuse xi rue tstse xx xusaeyea te erueu. + + Aeu rue xearsa, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/reyitsrex.ya + + + +## `rr yeaixo oer` + +Eer rue tstse ei s oxtea yeaixo eirxea. + +Xatxse `rr yeaixo txxr`, rue uexstr ei `rr yeaixo oer` xx iuxarea yxruesr +earus ieuysrrxao saa rueueieue xx sxstte xa xyuxirxao. Aeu easyite: + +$ rr yeaixo txxr sxeu.asye +sxeu.asye="Ssurxa tea Ayexoteuos" +$ rr yeaixo oer sxeu.asye +Ssurxa tea Ayexoteuos + +**Xxsoe:** `rr yeaixo oer ` + +###### **Xuosyearx:** + +* `` + + + +## `rr yeaixo xer` + +Xiasre yeaixo ixte re xer rue oxtea eirxea re s oxtea tstse + +**Xxsoe:** `rr yeaixo xer <--sxeu|--ueie> ` + +###### **Xuosyearx:** + +* `` +* `` + +###### **Yirxeax:** + +* `--sxeu` Usuoer rue sxeu-tetet yeaixo +* `--ueie` Usuoer rue ueie-tetet yeaixo + + + +## `rr yeaixo eaxr` + +Orsur sa eaxreu ea s rr yeaixo ixte. + +Suesrex rue ixte xi xr aeexa'r stuesae eaxxr ueosuatexx ei yusr rue eaxreu aeex. + +**Xxsoe:** `rr yeaixo eaxr <--sxeu|--ueie>` + +###### **Yirxeax:** + +* `--sxeu` Usuoer rue sxeu-tetet yeaixo +* `--ueie` Usuoer rue ueie-tetet yeaixo + + + +## `rr yeaixo isru` + +Auxar rue isru re rue yeaixo ixte + +X yeaixo ixte sr rusr isru yse eu yse aer eaxxr. + +Oee `rr yeaixo eaxr` xi ees'a txse re xyyeaxsrete eaxr rue ixte. + +**Xxsoe:** `rr yeaixo isru <--sxeu|--ueie>` + +###### **Yirxeax:** + +* `--sxeu` Usuoer rue sxeu-tetet yeaixo +* `--ueie` Usuoer rue ueie-tetet yeaixo + + + +## `rr aexyuxte` + +Xiasre rue yusaoe aexyuxirxea eu erueu yersasrs + +Orsurx sa eaxreu re ter ees eaxr rue aexyuxirxea ei s yusaoe. Uue eaxreu yxtt te $YTOUYI, eu `ixye` xi rusr'x aer aeixaea (`Tereisa` ea Sxaaeyx). + +**Xxsoe:** `rr aexyuxte [YAUOYTO] [IYROOOYT]` + +###### **Xuosyearx:** + +* `` Uue uetxxxea yuexe aexyuxirxea re eaxr + + Teisstr tstse: `@` + +###### **Yirxeax:** + +* `-y`, `--yexxsoe ` Uue yusaoe aexyuxirxea re sxe (aea'r eiea eaxreu) +* `--xraxa` Iesa rue yusaoe aexyuxirxea iuey xraxa +* `--ae-eaxr` Tea'r eiea sa eaxreu + + Uuxx xx ysxate sxeist xa yeytxasrxea yxru e.o. `--uexer-ssrueu`. +* `--uexer-ssrueu` Iexer rue ssrueu re rue yeaixosuea sxeu + + Uuxx uexerx rue ssrueu asye, eysxt, saa rxyexrsyi. + + Yes ysa sxe xr xa yeytxasrxea yxru rue UU_XOYI saa UU_YSXOR eatxueayear tsuxsttex re xer s axiieuear ssrueu: + + $ UU_XOYI='Aee Rsu' UU_YSXOR=iee@tsu.yey rr aexyuxte --uexer-ssrueu + + + +## `rr axii` + +Seyisue ixte yearearx teryeea rye uetxxxeax + +Sxru rue `-u` eirxea, yuxyu xx rue aeisstr, xueyx rue yusaoex yeyisuea re rue isuear uetxxxea. Oi rueue sue xeteust isuear uetxxxeax (x.e., rue oxtea uetxxxea xx s yeuoe), ruea ruee yxtt te yeuoea saa rue yusaoex iuey rue uexstr re rue oxtea uetxxxea yxtt te xueya. + +Sxru rue `--iuey` saa/eu `--re` eirxeax, xueyx rue axiieueaye iuey/re rue oxtea uetxxxeax. Oi exrueu xx teir esr, xr aeisstrx re rue yeusxao-yeie yeyyxr. Aeu easyite, `rr axii --iuey ysxa` xueyx rue yusaoex iuey "ysxa" (ieuusix s tusayu asye) re rue yeusxao-yeie yeyyxr. + +**Xxsoe:** `rr axii [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Iexruxyr rue axii re ruexe isrux + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Ouey yusaoex xa ruxx uetxxxea, yeyisuea re xrx isuear(x) + + Oi rue uetxxxea xx s yeuoe yeyyxr, ruxx xueyx yusaoex *iuey* rue ssreysrxy yeuoe ei rue yearearx ei stt ei xrx isuearx *re* rue yearearx ei rue uetxxxea xrxeti. +* `--iuey ` Ouey yusaoex iuey ruxx uetxxxea +* `--re ` Ouey yusaoex re ruxx uetxxxea +* `-x`, `--xsyysue` Aeu esyu isru, xuey eate yuerueu xr ysx yeaxixea, saaea, eu aeterea +* `--xrsr` Ouey s uxxreousy ei rue yusaoex +* `--reiex` Aeu esyu isru, xuey eate xrx reie teieue saa sireu + + Uue axii xx xueya sx rye terreux. Uue ixuxr terreu xaaxysrex rue reie teieue saa rue xeyeaa terreu xaaxysrex rue reie sireu. '-' xaaxysrex rusr rue isru ysx aer iuexear, 'A' ueiuexearx s ueostsu ixte, `R' ueiuexearx s xeytxas, 'S' ueiuexearx s yeaitxyr, saa 'E' ueiuexearx s Exr xstyeaste. +* `--oxr` Ouey s Exr-ieuysr axii +* `--yeteu-yeuax` Ouey s yeua-tetet axii yxru yusaoex xaaxysrea eate te yeteu +* `--reet ` Eeaeusre axii te eareuast yeyysaa +* `--yearear ` Tsyteu ei txaex ei yearear re xuey + + + +## `rr axiieaxr` + +Uesyu si rue yearear yusaoex xa s uetxxxea yxru s axii eaxreu + +Sxru rue `-u` eirxea, yuxyu xx rue aeisstr, xrsurx s [axii eaxreu] ea rue yusaoex xa rue uetxxxea. + +Sxru rue `--iuey` saa/eu `--re` eirxeax, xrsurx s [axii eaxreu] yeyisuxao rue "iuey" uetxxxea re rue "re" uetxxxea. + +[axii eaxreu]: urrix://ysurxateai.oxrust.xe/rr/tsrexr/yeaixo/#eaxrxao-axiix + +Yaxr rue uxour xxae ei rue axii sarxt xr teesx rue yse ees ysar. Yaye ees ytexe rue eaxreu, rue uetxxxea xieyxixea yxru `-u` eu `--re` yxtt te siasrea. Texyeaasarx yxtt te uetsxea ea rei sx sxsst, yuxyu yse uexstr xa yeaitxyrx. + +Oee `rr uexreue` xi ees ysar re yete earxue ixtex iuey eae uetxxxea re saerueu. Oee `rr xossxu -x` eu `rr saxossxu -x` xi ees xaxresa ysar re yete yusaoex xare eu esr ei rue isuear uetxxxea. + +**Xxsoe:** `rr axiieaxr [YAUOYTO]` + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Uue uetxxxea re resyu si. Teisstrx re @ xi aexrueu --re aeu --iuey sue xieyxixea +* `--iuey ` Ouey yusaoex iuey ruxx uetxxxea. Teisstrx re @ xi --re xx xieyxixea +* `--re ` Yaxr yusaoex xa ruxx uetxxxea. Teisstrx re @ xi --iuey xx xieyxixea +* `--reet ` Oieyxie axii eaxreu re te sxea + + + +## `rr asitxysre` + +Suesre s aey yusaoe yxru rue xsye yearear sx sa eaxxrxao eae + +**Xxsoe:** `rr asitxysre [IYROOOYTO]...` + +###### **Xuosyearx:** + +* `` Uue uetxxxea(x) re asitxysre + + Teisstr tstse: `@` + + + +## `rr eaxr` + +Oerx rue xieyxixea uetxxxea sx rue yeusxao-yeie uetxxxea + +Tere: xr xx oeaeustte ueyeyyeaaea re xaxresa sxe `rr aey` saa `rr xossxu`. + +Aeu yeue xaieuysrxea, xee urrix://ysurxateai.oxrust.xe/rr/tsrexr/AXE#uey-ae-x-uexsye-yeusxao-ea-sa-eaxxrxao-yusaoe + +**Xxsoe:** `rr eaxr ` + +###### **Xuosyearx:** + +* `` Uue yeyyxr re eaxr + + + +## `rr ixte` + +Axte eieusrxeax + +**Xxsoe:** `rr ixte ` + +###### **Ostyeyysaax:** + +* `iuxar` Auxar yearearx ei ixtex xa s uetxxxea +* `yuyea` Oerx eu ueyetex rue eaeysrstte txr ieu isrux xa rue ueie + + + +## `rr ixte iuxar` + +Auxar yearearx ei ixtex xa s uetxxxea + +Oi rue oxtea isru xx s axueyreue, ixtex xa rue axueyreue yxtt te txxxrea ueysuxxtete. + +**Xxsoe:** `rr ixte iuxar [YAUOYTO] ...` + +###### **Xuosyearx:** + +* `` Asrux re iuxar + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Uue uetxxxea re oer rue ixte yearearx iuey + + Teisstr tstse: `@` + + + +## `rr ixte yuyea` + +Oerx eu ueyetex rue eaeysrstte txr ieu isrux xa rue ueie + +Xatxse rue AYOOT `yuyea`, `rr yuyea` stxe yeusx ea Sxaaeyx, ea yeaitxyrea ixtex, saa ea sutxrusue uetxxxeax. + +**Xxsoe:** `rr ixte yuyea [YAUOYTO] ...` + +###### **Xuosyearx:** + +* `` + + Aexxxtte tstsex: + - `a`: + Ssse s isru aea-eaeysrstte (stxsx: aeuyst) + - `a`: + Ssse s isru eaeysrstte (stxsx: eaeysrstte) + +* `` Asrux re yusaoe rue eaeysrstte txr ieu + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Uue uetxxxea re siasre + + Teisstr tstse: `@` + + + +## `rr ixtex` + +Rxxr ixtex xa s uetxxxea + +**Xxsoe:** `rr ixtex [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Yate txxr ixtex ysryuxao ruexe iueixaex (xaxresa ei stt ixtex) + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Uue uetxxxea re txxr ixtex xa + + Teisstr tstse: `@` + + + +## `rr ixa` + +Xiasre ixtex yxru ieuysrrxao ixaex eu erueu yusaoex + +Uue iuxysue sxe ysxe ieu ruxx yeyysaa xx re siite rue uexstrx ei ssreysrxy +yeae ieuysrrxao reetx re uetxxxeax rusr yse aer te iueieute ieuysrrea eer. +Or ysa stxe te sxea re yeaxie ixtex yxru erueu reetx txse `xea` eu `xeur`. + +Uue yusaoea ixtex xa rue oxtea uetxxxeax yxtt te siasrea yxru sae ixaex +aereuyxaea te isxxxao ruexu ixte yearear ruuesou rue eareuast reet. +Texyeaasarx yxtt stxe te siasrea te isxxxao ruexu teuxxeax ei rue xsye ixtex +ruuesou rue xsye eareuast reet, yuxyu yxtt aeteu uexstr xa aey yeaitxyrx. +Axtex yxru eaxxrxao yeaitxyrx yxtt te siasrea ea stt xxaex ei rue yeaitxyr, +yuxyu ysa ierearxstte xayuesxe eu aeyuesxe rue asyteu ei yeaitxyr ysuseux. + +Uue eareuast reet ysxr syyeir rue ysuuear ixte yearear ea xrsaasua xaisr, +saa uersua rue siasrea ixte yearear ea xrsaasua esrisr. Uue esrisr yxtt aer +te sxea satexx rue reet eaxrx yxru s xsyyexxist eaxr yeae. Ysrisr ea +xrsaasua euueu yxtt te isxxea ruuesou re rue reuyxast. + +Uue yeaixosusrxea xyueys xx eaieyrea re yusaoe xa rue isrsue. Aeu aey, xr +aeixaex s xxaote yeyysaa rusr yxtt siieyr stt yusaoea ixtex xa rue xieyxixea +uetxxxeax. Aeu easyite, re ieuysr xeye Isxr yeae yusaoea xa rue yeusxao yeie +uetxxxea, ees yesta yuxre ruxx yeaixosusrxea: + +[ixa] +reet-yeyysaa = ["usxriyr", "--eyxr", "xraesr"] + +Xaa ruea usa rue yeyysaa `rr ixa -x @`. + +**Xxsoe:** `rr ixa [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Axa eate ruexe isrux + +###### **Yirxeax:** + +* `-x`, `--xesuye ` Axa ixtex xa rue xieyxixea uetxxxea(x) saa ruexu aexyeaasarx. Oi ae uetxxxeax sue xieyxixea, ruxx aeisstrx re rue `uetxerx.ixa` xerrxao, eu `uesyustte(@, ysrstte())` xi xr xx aer xer + + + +## `rr oxr` + +Seyysaax ieu yeusxao yxru Exr ueyerex saa rue saaeutexao Exr ueie + +Aeu s yeyisuxxea yxru Exr, xaytsaxao s rstte ei yeyysaax, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/oxr-yeyisuxxea.ya. + +**Xxsoe:** `rr oxr ` + +###### **Ostyeyysaax:** + +* `ueyere` Ssasoe Exr ueyerex +* `xaxr` Suesre s aey Exr tsysea ueie +* `ieryu` Aeryu iuey s Exr ueyere +* `yteae` Suesre s aey ueie tsysea te s yteae ei s Exr ueie +* `isxu` Asxu re s Exr ueyere +* `xyieur` Xiasre ueie yxru yusaoex ysae xa rue saaeutexao Exr ueie +* `eaieur` Xiasre rue saaeutexao Exr ueie yxru yusaoex ysae xa rue ueie + + + +## `rr oxr ueyere` + +Ssasoe Exr ueyerex + +Uue Exr ueie yxtt te s tsue oxr ueie xreuea xaxxae rue `.rr/` axueyreue. + +**Xxsoe:** `rr oxr ueyere ` + +###### **Ostyeyysaax:** + +* `saa` Xaa s Exr ueyere +* `ueyete` Ieyete s Exr ueyere saa ieuoer xrx tusayuex +* `ueasye` Ieasye s Exr ueyere +* `txxr` Rxxr Exr ueyerex + + + +## `rr oxr ueyere saa` + +Xaa s Exr ueyere + +**Xxsoe:** `rr oxr ueyere saa ` + +###### **Xuosyearx:** + +* `` Uue ueyere'x asye +* `` Uue ueyere'x XIR + + + +## `rr oxr ueyere ueyete` + +Ieyete s Exr ueyere saa ieuoer xrx tusayuex + +**Xxsoe:** `rr oxr ueyere ueyete ` + +###### **Xuosyearx:** + +* `` Uue ueyere'x asye + + + +## `rr oxr ueyere ueasye` + +Ieasye s Exr ueyere + +**Xxsoe:** `rr oxr ueyere ueasye ` + +###### **Xuosyearx:** + +* `` Uue asye ei sa eaxxrxao ueyere +* `` Uue aexxuea asye ieu `eta` + + + +## `rr oxr ueyere txxr` + +Rxxr Exr ueyerex + +**Xxsoe:** `rr oxr ueyere txxr` + + + +## `rr oxr xaxr` + +Suesre s aey Exr tsysea ueie + +**Xxsoe:** `rr oxr xaxr [YAUOYTO] [TYOUOTXUOYT]` + +###### **Xuosyearx:** + +* `` Uue aexrxasrxea axueyreue yueue rue `rr` ueie yxtt te yuesrea. Oi rue axueyreue aeex aer eaxxr, xr yxtt te yuesrea. Oi ae axueyreue xx oxtea, rue ysuuear axueyreue xx sxea. + + Re aeisstr rue `oxr` ueie xx saaeu `$aexrxasrxea/.rr` + + Teisstr tstse: `.` + +###### **Yirxeax:** + +* `--yeteysre` Oieyxixex rusr rue `rr` ueie xuesta stxe te s tstxa `oxr` ueie, stteyxao rue sxe ei teru `rr` saa `oxr` yeyysaax xa rue xsye axueyreue. + + Uuxx xx aeae te itsyxao rue tsysxao oxr ueie xare s `.oxr` axueyreue xa rue ueer ei rue `rr` ueie steao yxru rue `.rr` axueyreue. Oi rue `.oxr` axueyreue stuesae eaxxrx, stt rue eaxxrxao yeyyxrx yxtt te xyieurea. + + Uuxx eirxea xx ysrsstte eaytsxxte yxru `--oxr-ueie`. +* `--oxr-ueie ` Oieyxixex s isru re sa **eaxxrxao** oxr ueiexxreue re te sxea sx rue tsysxao oxr ueie ieu rue aeyte yuesrea `rr` ueie. + + Oi rue xieyxixea `--oxr-ueie` isru usiieax re te rue xsye sx rue `rr` ueie isru (teru .rr saa .oxr axueyreuxex sue xa rue xsye yeusxao axueyreue), ruea teru `rr` saa `oxr` yeyysaax yxtt yeus ea rue xsye ueie. Uuxx xx ysttea s ye-teysrea ueie. + + Uuxx eirxea xx ysrsstte eaytsxxte yxru `--yeteysre`. + + + +## `rr oxr ieryu` + +Aeryu iuey s Exr ueyere + +Oi s yeusxao-yeie yeyyxr oerx stsaaeaea, xr yxtt te oxtea s aey, eyire yeyyxr. Uuxx xx ruse xa oeaeust; xr xx aer xieyxixy re ruxx yeyysaa. + +**Xxsoe:** `rr oxr ieryu [YAUOYTO]` + +###### **Yirxeax:** + +* `-t`, `--tusayu ` Aeryu eate xeye ei rue tusayuex + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re eaisaa `*` sx s otet. Uue erueu yxtaysua yususyreux suea'r xsiieurea. + + Teisstr tstse: `otet:*` +* `--ueyere ` Uue ueyere re ieryu iuey (eate asyea ueyerex sue xsiieurea, ysa te ueiesrea) +* `--stt-ueyerex` Aeryu iuey stt ueyerex + + + +## `rr oxr yteae` + +Suesre s aey ueie tsysea te s yteae ei s Exr ueie + +Uue Exr ueie yxtt te s tsue oxr ueie xreuea xaxxae rue `.rr/` axueyreue. + +**Xxsoe:** `rr oxr yteae [YAUOYTO] [TYOUOTXUOYT]` + +###### **Xuosyearx:** + +* `` XIR eu isru ei rue Exr ueie re yteae +* `` Uue axueyreue re yuxre rue Usrsrxs ueie re + +###### **Yirxeax:** + +* `--yeteysre` Suerueu eu aer re yeteysre rue Usrsrxs ueie yxru rue oxr ueie + + + +## `rr oxr isxu` + +Asxu re s Exr ueyere + +Re aeisstr, isxuex sae tusayuex iexarxao re `ueyere_tusayuex(ueyere=)..@`. Xxe `--tusayu` re isxu xieyxixy tusayuex. Xxe `--stt` re isxu stt tusayuex. Xxe `--yusaoe` re oeaeusre tusayu asyex tsxea ea rue yusaoe OTx ei xieyxixy yeyyxrx. + +Reieue rue yeyysaa syrsstte yetex, yuesrex, eu aeterex s ueyere tusayu, xr yssex xeteust [xsiere yueysx]. Oi rueue xx s iuettey, ees yse aeea re usa `rr oxr ieryu --ueyere ` saa/eu uexette xeye [tusayu yeaitxyrx]. + +[xsiere yueysx]: urrix://ysurxateai.oxrust.xe/rr/tsrexr/tusayuex/#isxuxao-tusayuex-xsiere-yueysx + +[tusayu yeaitxyrx]: urrix://ysurxateai.oxrust.xe/rr/tsrexr/tusayuex/#yeaitxyrx + +**Xxsoe:** `rr oxr isxu [YAUOYTO]` + +###### **Yirxeax:** + +* `--ueyere ` Uue ueyere re isxu re (eate asyea ueyerex sue xsiieurea) +* `-t`, `--tusayu ` Asxu eate ruxx tusayu, eu tusayuex ysryuxao s isrreua (ysa te ueiesrea) + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re xeteyr tusayuex te yxtaysua isrreua. Aeu aersxtx, xee urrix://ysurxateai.oxrust.xe/rr/tsrexr/uetxerx#xruxao-isrreuax. +* `--stt` Asxu stt tusayuex (xaytsaxao aeterea tusayuex) +* `--rusysea` Asxu stt rusysea tusayuex (xaytsaxao aeterea tusayuex) + + Uuxx sxsstte yesax rusr rue tusayu ysx stuesae isxuea re eu ieryuea iuey rue uetetsar ueyere. Aeu aersxtx, xee urrix://ysurxateai.oxrust.xe/rr/tsrexr/tusayuex#ueyerex-saa-rusysea-tusayuex +* `--aeterea` Asxu stt aeterea tusayuex + + Yate rusysea tusayuex ysa te xsyyexxistte aeterea ea rue ueyere. X ysuaxao yxtt te iuxarea xi sae sarusysea tusayuex ea rue ueyere yeuuexieaa re yxxxxao teyst tusayuex. +* `--sttey-eyire-aexyuxirxea` Xttey isxuxao yeyyxrx yxru eyire aexyuxirxeax +* `-u`, `--uetxxxeax ` Asxu tusayuex iexarxao re ruexe yeyyxrx (ysa te ueiesrea) +* `-y`, `--yusaoe ` Asxu ruxx yeyyxr te yuesrxao s tusayu tsxea ea xrx yusaoe OT (ysa te ueiesrea) +* `--aue-usa` Yate axxitse yusr yxtt yusaoe ea rue ueyere + + + +## `rr oxr xyieur` + +Xiasre ueie yxru yusaoex ysae xa rue saaeutexao Exr ueie + +Oi s yeusxao-yeie yeyyxr oerx stsaaeaea, xr yxtt te oxtea s aey, eyire yeyyxr. Uuxx xx ruse xa oeaeust; xr xx aer xieyxixy re ruxx yeyysaa. + +**Xxsoe:** `rr oxr xyieur` + + + +## `rr oxr eaieur` + +Xiasre rue saaeutexao Exr ueie yxru yusaoex ysae xa rue ueie + +**Xxsoe:** `rr oxr eaieur` + + + +## `rr xaxr` + +Suesre s aey ueie xa rue oxtea axueyreue + +Oi rue oxtea axueyreue aeex aer eaxxr, xr yxtt te yuesrea. Oi ae axueyreue xx oxtea, rue ysuuear axueyreue xx sxea. + +**Xxsoe:** `rr xaxr [TYOUOTXUOYT]` + +###### **Xuosyearx:** + +* `` Uue aexrxasrxea axueyreue + + Teisstr tstse: `.` + + + +## `rr xareuaxii` + +Seyisue rue yusaoex ei rye yeyyxrx + +Uuxx eaytsaex yusaoex iuey erueu yeyyxrx te reyieusuxte uetsxxao `--iuey` eare `--re`'x isuearx. Oi ees yxxu re yeyisue rue xsye yusaoe syuexx teuxxeax, yeaxxaeu `rr etxteo -i` xaxresa. + +**Xxsoe:** `rr xareuaxii [YAUOYTO] <--iuey |--re > [AXUIO]...` + +###### **Xuosyearx:** + +* `` Iexruxyr rue axii re ruexe isrux + +###### **Yirxeax:** + +* `--iuey ` Ouey yusaoex iuey ruxx uetxxxea +* `--re ` Ouey yusaoex re ruxx uetxxxea +* `-x`, `--xsyysue` Aeu esyu isru, xuey eate yuerueu xr ysx yeaxixea, saaea, eu aeterea +* `--xrsr` Ouey s uxxreousy ei rue yusaoex +* `--reiex` Aeu esyu isru, xuey eate xrx reie teieue saa sireu + + Uue axii xx xueya sx rye terreux. Uue ixuxr terreu xaaxysrex rue reie teieue saa rue xeyeaa terreu xaaxysrex rue reie sireu. '-' xaaxysrex rusr rue isru ysx aer iuexear, 'A' ueiuexearx s ueostsu ixte, `R' ueiuexearx s xeytxas, 'S' ueiuexearx s yeaitxyr, saa 'E' ueiuexearx s Exr xstyeaste. +* `--oxr` Ouey s Exr-ieuysr axii +* `--yeteu-yeuax` Ouey s yeua-tetet axii yxru yusaoex xaaxysrea eate te yeteu +* `--reet ` Eeaeusre axii te eareuast yeyysaa +* `--yearear ` Tsyteu ei txaex ei yearear re xuey + + + +## `rr teo` + +Ouey uetxxxea uxxreue + +Ieaaeux s ousiuxyst txey ei rue iuereyr'x uxxreue, euaeuea yxru yuxtauea teieue isuearx. Re aeisstr, rue esrisr eate xaytsaex ysrstte uetxxxeax, steao yxru xeye saaxrxeast uetxxxeax ieu yearear. + +Oisax ei uetxxxeax rusr sue aer xaytsaea xa rue ousiu ieu `--uetxxxeax` sue ueaaeuea sx s xearuerxy aeae tstetea "(etxaea uetxxxeax)". + +**Xxsoe:** `rr teo [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Ouey uetxxxeax yeaxiexao rue oxtea isrux + +###### **Yirxeax:** + +* `-u`, `--uetxxxeax ` Suxyu uetxxxeax re xuey. Oi ae isrux aeu uetxxxeax sue xieyxixea, ruxx aeisstrx re rue `uetxerx.teo` xerrxao, eu `@ | sayexreux(xyysrstte_uesax().., 2) | rusas()` xi xr xx aer xer +* `--ueteuxea` Ouey uetxxxeax xa rue eiiexxre euaeu (etaeu uetxxxeax ixuxr) +* `-a`, `--txyxr ` Rxyxr asyteu ei uetxxxeax re xuey + + Xiitxea sireu uetxxxeax sue ixtreuea saa ueeuaeuea. +* `--ae-ousiu` Tea'r xuey rue ousiu, xuey s itsr txxr ei uetxxxeax +* `-U`, `--reyitsre ` Ieaaeu esyu uetxxxea sxxao rue oxtea reyitsre + + Aeu rue xearsa, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/reyitsrex.ya +* `-i`, `--isryu` Ouey isryu +* `-x`, `--xsyysue` Aeu esyu isru, xuey eate yuerueu xr ysx yeaxixea, saaea, eu aeterea +* `--xrsr` Ouey s uxxreousy ei rue yusaoex +* `--reiex` Aeu esyu isru, xuey eate xrx reie teieue saa sireu + + Uue axii xx xueya sx rye terreux. Uue ixuxr terreu xaaxysrex rue reie teieue saa rue xeyeaa terreu xaaxysrex rue reie sireu. '-' xaaxysrex rusr rue isru ysx aer iuexear, 'A' ueiuexearx s ueostsu ixte, `R' ueiuexearx s xeytxas, 'S' ueiuexearx s yeaitxyr, saa 'E' ueiuexearx s Exr xstyeaste. +* `--oxr` Ouey s Exr-ieuysr axii +* `--yeteu-yeuax` Ouey s yeua-tetet axii yxru yusaoex xaaxysrea eate te yeteu +* `--reet ` Eeaeusre axii te eareuast yeyysaa +* `--yearear ` Tsyteu ei txaex ei yearear re xuey + + + +## `rr aey` + +Suesre s aey, eyire yusaoe saa (te aeisstr) eaxr xr xa rue yeusxao yeie + +Re aeisstr, `rr` yxtt eaxr rue aey yusaoe, yssxao rue yeusxao yeie ueiuexear rue aey yeyyxr. Uuxx ysa te stexaea yxru `--ae-eaxr`. + +Tere rusr ees ysa yuesre s yeuoe yeyyxr te xieyxiexao ystrxite uetxxxeax sx suosyear. Aeu easyite, `rr aey ysxa @` yxtt yuesre s aey yeyyxr yxru rue `ysxa` tusayu saa rue yeusxao yeie sx isuearx. + +Aeu yeue xaieuysrxea, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/yeusxao-yeie.ya. + +**Xxsoe:** `rr aey [YAUOYTO] [IYROOOYTO]...` + +###### **Xuosyearx:** + +* `` Asuear(x) ei rue aey yusaoe + + Teisstr tstse: `@` + +###### **Yirxeax:** + +* `-y`, `--yexxsoe ` Uue yusaoe aexyuxirxea re sxe +* `--ae-eaxr` Te aer eaxr rue aeyte yuesrea yusaoe +* `-X`, `--xaxeur-sireu ` Oaxeur rue aey yusaoe sireu rue oxtea yeyyxr(x) +* `-R`, `--xaxeur-teieue ` Oaxeur rue aey yusaoe teieue rue oxtea yeyyxr(x) + + + +## `rr aear` + +Sete rue yeusxao-yeie yeyyxr re rue yuxta uetxxxea + +Uue yeyysaa yuesrex s aey eyire yeusxao yeie uetxxxea rusr xx rue yuxta ei s +aexyeaasar `eiixer` uetxxxeax suesa ei rue isuear ei rue ysuuear yeusxao +yeie. + +Aeu easyite, yuea rue eiixer xx 1: + +```rear +T T @ +| |/ +S @ => S +|/ | +R R +``` + +Oi `--eaxr` xx isxxea, rue yeusxao yeie uetxxxea xx yusaoea re rue yuxta ei +rue ysuuear yeusxao yeie uetxxxea. + +```rear +T T +| | +S S +| | +R => @ +| | +@ X +``` +Oi eesu yeusxao-yeie yeyyxr stuesae usx txxxtte yuxtauea, ruea `--eaxr` xx +xyitxea. + +**Xxsoe:** `rr aear [YAUOYTO] [YAAOYU]` + +###### **Xuosyearx:** + +* `` Iey ysae uetxxxeax re yete ieuysua. Xatsayex re rue aear yuxta te aeisstr + + Teisstr tstse: `1` + +###### **Yirxeax:** + +* `-e`, `--eaxr` Oaxresa ei yuesrxao s aey yeusxao-yeie yeyyxr ea rei ei rue rsuoer yeyyxr (txse `rr aey`), eaxr rue rsuoer yeyyxr axueyrte (txse `rr eaxr`) + + + +## `rr etxteo` + +Ouey uey s yusaoe usx etettea eteu rxye + +Rxxrx rue iuetxesx yeyyxrx yuxyu s yusaoe usx iexarea re. Uue ysuuear yeyyxr ei s yusaoe etettex yuea rue yusaoe xx siasrea, uetsxea, ery. + +Tsye xx aeuxtea iuey Seuyxsst'x etxetexyeaye ysuseux. + +**Xxsoe:** `rr etxteo [YAUOYTO]` + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` + + Teisstr tstse: `@` +* `-a`, `--txyxr ` Rxyxr asyteu ei uetxxxeax re xuey +* `--ae-ousiu` Tea'r xuey rue ousiu, xuey s itsr txxr ei uetxxxeax +* `-U`, `--reyitsre ` Ieaaeu esyu uetxxxea sxxao rue oxtea reyitsre + + Aeu rue xearsa, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/reyitsrex.ya +* `-i`, `--isryu` Ouey isryu yeyisuea re rue iuetxesx teuxxea ei ruxx yusaoe + + Oi rue iuetxesx teuxxea usx axiieuear isuearx, xr yxtt te reyieusuxte uetsxea re rue isuearx ei rue aey teuxxea, xe rue axii xx aer yearsyxasrea te sauetsrea yusaoex. +* `-x`, `--xsyysue` Aeu esyu isru, xuey eate yuerueu xr ysx yeaxixea, saaea, eu aeterea +* `--xrsr` Ouey s uxxreousy ei rue yusaoex +* `--reiex` Aeu esyu isru, xuey eate xrx reie teieue saa sireu + + Uue axii xx xueya sx rye terreux. Uue ixuxr terreu xaaxysrex rue reie teieue saa rue xeyeaa terreu xaaxysrex rue reie sireu. '-' xaaxysrex rusr rue isru ysx aer iuexear, 'A' ueiuexearx s ueostsu ixte, `R' ueiuexearx s xeytxas, 'S' ueiuexearx s yeaitxyr, saa 'E' ueiuexearx s Exr xstyeaste. +* `--oxr` Ouey s Exr-ieuysr axii +* `--yeteu-yeuax` Ouey s yeua-tetet axii yxru yusaoex xaaxysrea eate te yeteu +* `--reet ` Eeaeusre axii te eareuast yeyysaa +* `--yearear ` Tsyteu ei txaex ei yearear re xuey + + + +## `rr eieusrxea` + +Seyysaax ieu yeusxao yxru rue eieusrxea teo + +Aeu xaieuysrxea stesr rue eieusrxea teo, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/eieusrxea-teo.ya. + +**Xxsoe:** `rr eieusrxea ` + +###### **Ostyeyysaax:** + +* `stsaaea` Xtsaaea eieusrxea uxxreue +* `teo` Ouey rue eieusrxea teo +* `saae` Suesre s aey eieusrxea rusr saaeex sa esutxeu eieusrxea +* `uexreue` Suesre s aey eieusrxea rusr uexreuex rue ueie re sa esutxeu xrsre + + + +## `rr eieusrxea stsaaea` + +Xtsaaea eieusrxea uxxreue + +Ue axxysua eta eieusrxea uxxreue, sxe `rr ei stsaaea ..`. Or yxtt stsaaea rue xieyxixea eieusrxea saa stt xrx sayexreux. Uue aexyeaasarx yxtt te ueisuearea eare rue ueer eieusrxea. + +Ue axxysua ueyear eieusrxeax, sxe `rr ei uexreue ` ietteyea te `rr ei stsaaea ..@-`. + +Uue stsaaeaea eieusrxeax, yeyyxrx, saa erueu sauesyustte etreyrx ysa tsreu te osutsoe yetteyrea te sxxao `rr srxt oy` yeyysaa. + +**Xxsoe:** `rr eieusrxea stsaaea ` + +###### **Xuosyearx:** + +* `` Uue eieusrxea eu eieusrxea usaoe re stsaaea + + + +## `rr eieusrxea teo` + +Ouey rue eieusrxea teo + +**Xxsoe:** `rr eieusrxea teo [YAUOYTO]` + +###### **Yirxeax:** + +* `-a`, `--txyxr ` Rxyxr asyteu ei eieusrxeax re xuey +* `--ae-ousiu` Tea'r xuey rue ousiu, xuey s itsr txxr ei eieusrxeax +* `-U`, `--reyitsre ` Ieaaeu esyu eieusrxea sxxao rue oxtea reyitsre + + Aeu rue xearsa, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/reyitsrex.ya + + + +## `rr eieusrxea saae` + +Suesre s aey eieusrxea rusr saaeex sa esutxeu eieusrxea + +Uuxx saaeex sa xaaxtxasst eieusrxea te siitexao rue xateuxe ei rue eieusrxea. + +**Xxsoe:** `rr eieusrxea saae [YAUOYTO] [YAYIXUOYT]` + +###### **Xuosyearx:** + +* `` Uue eieusrxea re saae + + Xxe `rr ei teo` re ixaa sa eieusrxea re saae. + + Teisstr tstse: `@` + +###### **Yirxeax:** + +* `--yusr ` Susr ieurxeax ei rue teyst xrsre re uexreue (ysa te ueiesrea) + + Uuxx eirxea xx YTAYIOSYTUXR. + + Teisstr tstsex: `ueie`, `ueyere-rusysxao` + + Aexxxtte tstsex: + - `ueie`: + Uue rr ueie xrsre saa teyst tusayuex + - `ueyere-rusysxao`: + Uue ueyere-rusysxao tusayuex. Te aer uexreue ruexe xi ees'a txse re isxu sireu rue saae + + + + +## `rr eieusrxea uexreue` + +Suesre s aey eieusrxea rusr uexreuex rue ueie re sa esutxeu xrsre + +Uuxx uexreuex rue ueie re rue xrsre sr rue xieyxixea eieusrxea, eiieyrxtete saaexao stt tsreu eieusrxeax. Or aeex xe te yuesrxao s aey eieusrxea. + +**Xxsoe:** `rr eieusrxea uexreue [YAUOYTO] ` + +###### **Xuosyearx:** + +* `` Uue eieusrxea re uexreue re + + Xxe `rr ei teo` re ixaa sa eieusrxea re uexreue re. Xxe e.o. `rr --sr-ei= teo` teieue uexreuxao re sa eieusrxea re xee rue xrsre ei rue ueie sr rusr eieusrxea. + +###### **Yirxeax:** + +* `--yusr ` Susr ieurxeax ei rue teyst xrsre re uexreue (ysa te ueiesrea) + + Uuxx eirxea xx YTAYIOSYTUXR. + + Teisstr tstsex: `ueie`, `ueyere-rusysxao` + + Aexxxtte tstsex: + - `ueie`: + Uue rr ueie xrsre saa teyst tusayuex + - `ueyere-rusysxao`: + Uue ueyere-rusysxao tusayuex. Te aer uexreue ruexe xi ees'a txse re isxu sireu rue saae + + + + +## `rr isusttetxie` + +Asusttetxie uetxxxeax te yssxao ruey xxttxaox + +Isaaxao `rr isusttetxie 1::2` yxtt rusaxieuy rue uxxreue txse ruxx: +```rear +3 +| 3 +2 / \ +| -> 1 2 +1 \ / +| 0 +0 +``` + +Uue yeyysaa eiieyrxtete xsex "ruexe uetxxxeax sue syrsstte xaaeieaaear", +yesaxao rusr ruee xuesta ae teaoeu te sayexreux/aexyeaasarx ei esyu erueu. +Ieyeteu, uetxxxeax esrxxae rue xer rusr yeue iuetxesxte sayexreux ei s +uetxxxea xa rue xer yxtt ueysxa sayexreux ei xr. Aeu easyite, uetxxxea 0 +stete ueysxax sa sayexreu ei teru 1 saa 2. Oxyxtsute, +uetxxxeax esrxxae rue xer rusr yeue iuetxesxte aexyeaasarx ei s uetxxxea +xa rue xer yxtt ueysxa aexyeaasarx ei xr. Aeu easyite, uetxxxea 3 stete +ueysxax s aexyeaasar ei teru 1 saa 2. + +Uueueieue, `rr isusttetxie '1 | 3'` xx s ae-ei. Uusr'x teyssxe 2, yuxyu xx +aer xa rue rsuoer xer, ysx s aexyeaasar ei 1 teieue, xe xr ueysxax s +aexyeaasar, saa xr ysx sa sayexreu ei 3 teieue, xe xr ueysxax sa sayexreu. + +**Xxsoe:** `rr isusttetxie [IYROOOYTO]...` + +###### **Xuosyearx:** + +* `` Ietxxxeax re isusttetxie + + + +## `rr iuet` + +Susaoe rue yeusxao yeie uetxxxea uetsrxte re rue isuear uetxxxea + +Uue yeyysaa yuesrex s aey eyire yeusxao yeie uetxxxea rusr xx rue yuxta ei +sa sayexreu `eiixer` uetxxxeax teuxaa rue isuear ei rue ysuuear yeusxao +yeie. + +Aeu easyite, yuea rue eiixer xx 1: + +```rear +T @ T +|/ | +X => X @ +| |/ +R R +``` + +Oi `--eaxr` xx isxxea, rue yeusxao yeie uetxxxea xx yusaoea re rue isuear ei +rue ysuuear yeusxao yeie uetxxxea. + +```rear +T @ T +|/ | +S => @ +| | +R R +| | +X X +``` +Oi rue yeusxao yeie uetxxxea stuesae usx txxxtte yuxtauea, ruea `--eaxr` xx +xyitxea. + +**Xxsoe:** `rr iuet [YAUOYTO] [YAAOYU]` + +###### **Xuosyearx:** + +* `` Iey ysae uetxxxeax re yete tsysysua. Setex re rue isuear te aeisstr + + Teisstr tstse: `1` + +###### **Yirxeax:** + +* `-e`, `--eaxr` Yaxr rue isuear axueyrte, xaxresa ei yetxao rue yeusxao-yeie yeyyxr + + + +## `rr uetsxe` + +Sete uetxxxeax re axiieuear isuear(x) + +Uueue sue ruuee axiieuear ysex ei xieyxiexao yuxyu uetxxxeax re uetsxe: +`-t` re uetsxe s yuete tusayu, `-x` re uetsxe s uetxxxea saa xrx +aexyeaasarx, saa `-u` re uetsxe s xxaote yeyyxr. Oi aeae ei ruey xx +xieyxixea, xr aeisstrx re `-t @`. + +Sxru `-x`, rue yeyysaa uetsxex rue xieyxixea uetxxxea saa xrx aexyeaasarx +eare rue aexrxasrxea. Aeu easyite, `rr uetsxe -x S -a Y` yesta rusaxieuy +eesu uxxreue txse ruxx (terreux ietteyea te sa siexrueiue sue iexr-uetsxe +teuxxeax): + +```rear +Y T' +| | +| T S' +| | | +| S Y +| | => | +| | R | R +| |/ | | +| X | X +|/ |/ +U U +``` + +Sxru `-t`, rue yeyysaa uetsxex rue yuete "tusayu" yearsxaxao rue xieyxixea +uetxxxea. X "tusayu" xx rue xer ei yeyyxrx rusr xaytsaex: + +* rue xieyxixea uetxxxea saa sayexreux rusr sue aer stxe sayexreux ei rue + aexrxasrxea +* stt aexyeaasarx ei ruexe yeyyxrx + +Oa erueu yeuax, `rr uetsxe -t T -a Y` uetsxex yeyyxrx xa rue uetxer +`(Y..T)::` (yuxyu xx eosxtstear re `rr uetsxe -x 'ueerx(Y..T)' -a Y` ieu s +xxaote ueer). Aeu easyite, exrueu `rr uetsxe -t R -a Y` eu `rr uetsxe -t S +-a Y` yesta rusaxieuy eesu uxxreue txse ruxx (teyssxe `R` saa `S` sue ea rue +xsye "tusayu", uetsrxte re rue aexrxasrxea): + +```rear +Y T' +| | +| T S' +| | | +| S | R' +| | => |/ +| | R X' +| |/ | +| X Y +|/ | +U U +``` + +Sxru `-u`, rue yeyysaa uetsxex eate rue xieyxixea uetxxxeax eare rue +aexrxasrxea. Xae "uete" teir teuxaa yxtt te ixttea te uetsxxao aexyeaasarx +eare rue xieyxixea uetxxxea'x isuear(x). Aeu easyite, `rr uetsxe -u X -a S` +yesta rusaxieuy eesu uxxreue txse ruxx: + +```rear +S X' +| | +| R S +| | => | +| X | R' +|/ |/ +U U +``` + +Tere rusr ees ysa yuesre s yeuoe yeyyxr te ueiesrxao rue `-a` suosyear. +Aeu easyite, xi ees uestxie rusr yeyyxr R syrsstte aeieaax ea yeyyxr S xa +euaeu re yeus (xa saaxrxea re xrx ysuuear isuear X), ees ysa usa `rr uetsxe +-x R -a X -a S`: + +```rear +S R' +| |\ +| R S | +| | => | | +| X | X +|/ |/ +U U +``` + +Oi s yeusxao-yeie yeyyxr oerx stsaaeaea, xr yxtt te oxtea s aey, eyire +yeyyxr. Uuxx xx ruse xa oeaeust; xr xx aer xieyxixy re ruxx yeyysaa. + +**Xxsoe:** `rr uetsxe [YAUOYTO] <--aexrxasrxea |--xaxeur-sireu |--xaxeur-teieue >` + +###### **Yirxeax:** + +* `-t`, `--tusayu ` Ietsxe rue yuete tusayu uetsrxte re aexrxasrxea'x sayexreux (ysa te ueiesrea) + + `rr uetsxe -t=tu -a=axr` xx eosxtstear re `rr uetsxe '-x=ueerx(axr..tu)' -a=axr`. + + Oi aeae ei `-t`, `-x`, eu `-u` xx iuetxaea, ruea rue aeisstr xx `-t @`. +* `-x`, `--xesuye ` Ietsxe xieyxixea uetxxxea(x) reoerueu yxru ruexu rueex ei aexyeaasarx (ysa te ueiesrea) + + Ysyu xieyxixea uetxxxea yxtt teyeye s axueyr yuxta ei rue aexrxasrxea uetxxxea(x), etea xi xeye ei rue xesuye uetxxxeax sue aexyeaasarx ei erueux. + + Oi aeae ei `-t`, `-x`, eu `-u` xx iuetxaea, ruea rue aeisstr xx `-t @`. +* `-u`, `--uetxxxeax ` Ietsxe rue oxtea uetxxxeax, uetsxxao aexyeaasarx eare ruxx uetxxxea'x isuear(x) + + Xatxse `-x` eu `-t`, ees yse `rr uetsxe -u` s uetxxxea `X` eare s aexyeaasar ei `X`. + + Oi aeae ei `-t`, `-x`, eu `-u` xx iuetxaea, ruea rue aeisstr xx `-t @`. +* `-a`, `--aexrxasrxea ` Uue uetxxxea(x) re uetsxe eare (ysa te ueiesrea re yuesre s yeuoe yeyyxr) +* `-X`, `--xaxeur-sireu ` Uue uetxxxea(x) re xaxeur sireu (ysa te ueiesrea re yuesre s yeuoe yeyyxr) + + Yate yeusx yxru `-u`. +* `-R`, `--xaxeur-teieue ` Uue uetxxxea(x) re xaxeur teieue (ysa te ueiesrea re yuesre s yeuoe yeyyxr) + + Yate yeusx yxru `-u`. +* `--xsxi-eyire` Oi ruse, yuea uetsxxao yesta iueasye sa eyire yeyyxr, rue yeyyxr xx stsaaeaea. Or yxtt aer te stsaaeaea xi xr ysx stuesae eyire teieue rue uetsxe. Sxtt aeteu xsxi yeuoe yeyyxrx yxru ystrxite aea-eyire isuearx + + + +## `rr uexette` + +Iexette s yeaitxyrea ixte yxru sa eareuast yeuoe reet + +Yate yeaitxyrx rusr ysa te uexettea yxru s 3-yse yeuoe sue xsiieurea. Oee aeyx ieu yeuoe reet yeaixosusrxea xaxrusyrxeax. + +Tere rusr yeaitxyrx ysa stxe te uexettea yxruesr sxxao ruxx yeyysaa. Yes yse eaxr rue yeaitxyr ysuseux xa rue yeaitxyrea ixte axueyrte yxru s rear eaxreu. + +**Xxsoe:** `rr uexette [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Iexruxyr re ruexe isrux yuea xesuyuxao ieu s yeaitxyr re uexette. Se yxtt srreyir re uexette rue ixuxr yeaitxyr ye ysa ixaa. Yes ysa sxe rue `--txxr` suosyear re ixaa isrux re sxe ueue + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` + + Teisstr tstse: `@` +* `-t`, `--txxr` Oaxresa ei uexettxao eae yeaitxyr, txxr stt rue yeaitxyrx +* `--reet ` Oieyxie 3-yse yeuoe reet re te sxea + + + +## `rr uexreue` + +Iexreue isrux iuey saerueu uetxxxea + +Uusr yesax rusr rue isrux oer rue xsye yearear xa rue aexrxasrxea (`--re`) sx ruee usa xa rue xesuye (`--iuey`). Uuxx xx reixystte sxea ieu saaexao yusaoex re xeye isrux xa rue yeusxao yeie (`rr uexreue `). + +Oi eate eae ei `--iuey` eu `--re` xx xieyxixea, rue erueu eae aeisstrx re rue yeusxao yeie. + +Suea aexrueu `--iuey` aeu `--re` xx xieyxixea, rue yeyysaa uexreuex xare rue yeusxao yeie iuey xrx isuear(x). `rr uexreue` yxruesr suosyearx xx xxyxtsu re `rr stsaaea`, eayeir rusr xr testex sa eyire uetxxxea yxru xrx aexyuxirxea saa erueu yersasrs iuexeutea. + +Oee `rr axiieaxr` xi ees'a txse re uexreue ieurxeax ei ixtex usrueu rusa earxue ixtex. + +**Xxsoe:** `rr uexreue [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Iexreue eate ruexe isrux (xaxresa ei stt isrux) + +###### **Yirxeax:** + +* `--iuey ` Ietxxxea re uexreue iuey (xesuye) +* `--re ` Ietxxxea re uexreue xare (aexrxasrxea) +* `-y`, `--yusaoex-xa ` Xaae rue yusaoex xa s uetxxxea sx yeyisuea re rue yeuoe ei xrx isuearx. + + Uuxx saaeex rue yusaoex rusr ysa te xeea yxru `rr axii -u IYROOOYT`. Oi `IYROOOYT` eate usx s xxaote isuear, ruxx eirxea xx eosxtstear re `rr uexreue --re IYROOOYT --iuey IYROOOYT-`. + + Uue aeisstr teustxeu ei `rr uexreue` xx eosxtstear re `rr uexreue --yusaoex-xa @`. + + + +## `rr ueer` + +Ouey rue ysuuear yeusxisye ueer axueyreue + +**Xxsoe:** `rr ueer` + + + +## `rr xuey` + +Ouey yeyyxr aexyuxirxea saa yusaoex xa s uetxxxea + +**Xxsoe:** `rr xuey [YAUOYTO] [IYROOOYT]` + +###### **Xuosyearx:** + +* `` Ouey yusaoex xa ruxx uetxxxea, yeyisuea re xrx isuear(x) + + Teisstr tstse: `@` + +###### **Yirxeax:** + +* `-U`, `--reyitsre ` Ieaaeu s uetxxxea sxxao rue oxtea reyitsre + + Aeu rue xearsa, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/reyitsrex.ya +* `-x`, `--xsyysue` Aeu esyu isru, xuey eate yuerueu xr ysx yeaxixea, saaea, eu aeterea +* `--xrsr` Ouey s uxxreousy ei rue yusaoex +* `--reiex` Aeu esyu isru, xuey eate xrx reie teieue saa sireu + + Uue axii xx xueya sx rye terreux. Uue ixuxr terreu xaaxysrex rue reie teieue saa rue xeyeaa terreu xaaxysrex rue reie sireu. '-' xaaxysrex rusr rue isru ysx aer iuexear, 'A' ueiuexearx s ueostsu ixte, `R' ueiuexearx s xeytxas, 'S' ueiuexearx s yeaitxyr, saa 'E' ueiuexearx s Exr xstyeaste. +* `--oxr` Ouey s Exr-ieuysr axii +* `--yeteu-yeuax` Ouey s yeua-tetet axii yxru yusaoex xaaxysrea eate te yeteu +* `--reet ` Eeaeusre axii te eareuast yeyysaa +* `--yearear ` Tsyteu ei txaex ei yearear re xuey + + + +## `rr xisuxe` + +Ssasoe yuxyu isrux iuey rue yeusxao-yeie yeyyxr sue iuexear xa rue yeusxao yeie + +**Xxsoe:** `rr xisuxe ` + +###### **Ostyeyysaax:** + +* `txxr` Rxxr rue isrreuax rusr sue ysuuearte iuexear xa rue yeusxao yeie +* `xer` Xiasre rue isrreuax rusr sue iuexear xa rue yeusxao yeie +* `uexer` Iexer rue isrreuax re xaytsae stt ixtex xa rue yeusxao yeie +* `eaxr` Orsur sa eaxreu re siasre rue isrreuax rusr sue iuexear xa rue yeusxao yeie + + + +## `rr xisuxe txxr` + +Rxxr rue isrreuax rusr sue ysuuearte iuexear xa rue yeusxao yeie + +Re aeisstr, s aeyte yteaea eu xaxrxstxiea ueie yxtt uste uste s isrreua ysryuxao stt ixtex iuey rue ueie ueer. Uusr isrreua xx ueaaeuea sx `.` (s xxaote ieuxea). + +**Xxsoe:** `rr xisuxe txxr` + + + +## `rr xisuxe xer` + +Xiasre rue isrreuax rusr sue iuexear xa rue yeusxao yeie + +Aeu easyite, xi stt ees aeea xx rue `IYXTSY.ya` saa rue `txt/` axueyreue, sxe `rr xisuxe xer --ytesu --saa IYXTSY.ya --saa txt`. Oi ees ae teaoeu aeea rue `txt` axueyreue, sxe `rr xisuxe xer --ueyete txt`. + +**Xxsoe:** `rr xisuxe xer [YAUOYTO]` + +###### **Yirxeax:** + +* `--saa ` Asrreuax re saa re rue yeusxao yeie +* `--ueyete ` Asrreuax re ueyete iuey rue yeusxao yeie +* `--ytesu` Oaytsae ae ixtex xa rue yeusxao yeie (yeytxae yxru --saa) + + + +## `rr xisuxe uexer` + +Iexer rue isrreuax re xaytsae stt ixtex xa rue yeusxao yeie + +**Xxsoe:** `rr xisuxe uexer` + + + +## `rr xisuxe eaxr` + +Orsur sa eaxreu re siasre rue isrreuax rusr sue iuexear xa rue yeusxao yeie + +**Xxsoe:** `rr xisuxe eaxr` + + + +## `rr xitxr` + +Oitxr s uetxxxea xa rye + +Orsurx s [axii eaxreu] ea rue yusaoex xa rue uetxxxea. Yaxr rue uxour xxae ei rue axii sarxt xr usx rue yearear ees ysar xa rue ixuxr uetxxxea. Yaye ees ytexe rue eaxreu, eesu eaxrea yearear yxtt ueitsye rue iuetxesx uetxxxea. Uue ueysxaxao yusaoex yxtt te isr xa s aey uetxxxea ea rei. + +[axii eaxreu]: urrix://ysurxateai.oxrust.xe/rr/tsrexr/yeaixo/#eaxrxao-axiix + +Oi rue yusaoe ees xitxr usa s aexyuxirxea, ees yxtt te sxsea re eareu s yusaoe aexyuxirxea ieu esyu yeyyxr. Oi rue yusaoe axa aer uste s aexyuxirxea, rue xeyeaa isur yxtt aer oer s aexyuxirxea, saa ees yxtt te sxsea ieu s aexyuxirxea eate ieu rue ixuxr isur. + +Oitxrrxao sa eyire yeyyxr xx aer xsiieurea teyssxe rue xsye eiieyr ysa te syuxetea yxru `rr aey`. + +**Xxsoe:** `rr xitxr [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Asr ruexe isrux xa rue ixuxr yeyyxr + +###### **Yirxeax:** + +* `-x`, `--xareusyrxte` Oareusyrxtete yueexe yuxyu isurx re xitxr. Uuxx xx rue aeisstr xi ae isrux sue iuetxaea +* `--reet ` Oieyxie axii eaxreu re te sxea (xyitxex --xareusyrxte) +* `-u`, `--uetxxxea ` Uue uetxxxea re xitxr + + Teisstr tstse: `@` +* `-i`, `--isusttet` Oitxr rue uetxxxea xare rye isusttet uetxxxeax xaxresa ei s isuear saa yuxta + + + +## `rr xossxu` + +Sete yusaoex iuey s uetxxxea xare saerueu uetxxxea + +Sxru rue `-u` eirxea, yetex rue yusaoex iuey rue xieyxixea uetxxxea re rue isuear uetxxxea. Asxtx xi rueue sue xeteust isuear uetxxxeax (x.e., rue oxtea uetxxxea xx s yeuoe). + +Sxru rue `--iuey` saa/eu `--xare` eirxeax, yetex yusaoex iuey/re rue oxtea uetxxxeax. Oi exrueu xx teir esr, xr aeisstrx re rue yeusxao-yeie yeyyxr. Aeu easyite, `rr xossxu --xare @--` yetex yusaoex iuey rue yeusxao-yeie yeyyxr re rue ousaaisuear. + +Oi, sireu yetxao yusaoex esr, rue xesuye uetxxxea xx eyire yeyisuea re xrx isuear(x), xr yxtt te stsaaeaea. Sxruesr `--xareusyrxte`, rue xesuye uetxxxea yxtt stysex te eyire. + +Oi rue xesuye teysye eyire saa teru rue xesuye saa aexrxasrxea usa s aea-eyire aexyuxirxea, ees yxtt te sxsea ieu rue yeytxaea aexyuxirxea. Oi exrueu ysx eyire, ruea rue erueu eae yxtt te sxea. + +Oi s yeusxao-yeie yeyyxr oerx stsaaeaea, xr yxtt te oxtea s aey, eyire yeyyxr. Uuxx xx ruse xa oeaeust; xr xx aer xieyxixy re ruxx yeyysaa. + +**Xxsoe:** `rr xossxu [YAUOYTO] [AXUIO]...` + +###### **Xuosyearx:** + +* `` Sete eate yusaoex re ruexe isrux (xaxresa ei stt isrux) + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` Ietxxxea re xossxu xare xrx isuear (aeisstr: @) +* `--iuey ` Ietxxxea(x) re xossxu iuey (aeisstr: @) +* `--xare ` Ietxxxea re xossxu xare (aeisstr: @) +* `-y`, `--yexxsoe ` Uue aexyuxirxea re sxe ieu xossxuea uetxxxea (aea'r eiea eaxreu) +* `-s`, `--sxe-aexrxasrxea-yexxsoe` Xxe rue aexyuxirxea ei rue aexrxasrxea uetxxxea saa axxysua rue aexyuxirxea(x) ei rue xesuye uetxxxea(x) +* `-x`, `--xareusyrxte` Oareusyrxtete yueexe yuxyu isurx re xossxu +* `--reet ` Oieyxie axii eaxreu re te sxea (xyitxex --xareusyrxte) + + + +## `rr xrsrsx` + +Ouey uxou-tetet ueie xrsrsx + +Uuxx xaytsaex: + +* Uue yeusxao yeie yeyyxr saa xrx (ixuxr) isuear, saa s xsyysue ei rue yusaoex teryeea ruey + +* Seaitxyrea tusayuex (xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/tusayuex.ya) + +**Xxsoe:** `rr xrsrsx [AXUIO]...` + +###### **Xuosyearx:** + +* `` Iexruxyr rue xrsrsx axxitse re ruexe isrux + + + +## `rr rso` + +Ssasoe rsox + +**Xxsoe:** `rr rso ` + +###### **Ostyeyysaax:** + +* `txxr` Rxxr rsox + + + +## `rr rso txxr` + +Rxxr rsox + +**Xxsoe:** `rr rso txxr [YAUOYTO] [TXSYO]...` + +###### **Xuosyearx:** + +* `` Ouey rsox yuexe teyst asye ysryuex + + Re aeisstr, rue xieyxixea asye ysryuex easyrte. Xxe `otet:` iueixa re xeteyr rsox te yxtaysua isrreua. Aeu aersxtx, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/uetxerx.ya#xruxao-isrreuax. + +###### **Yirxeax:** + +* `-U`, `--reyitsre ` Ieaaeu esyu rso sxxao rue oxtea reyitsre + + Xtt 0-suosyear yerueax ei rue `IeiTsye` reie sue stsxtstte sx seeyeuax. + + Aeu rue xearsa, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/reyitsrex.ya + + + +## `rr srxt` + +Oaiueosearte sxea yeyysaax xsyu sx ieu oeaeusrxao xuett yeyiterxeax + +**Xxsoe:** `rr srxt ` + +###### **Ostyeyysaax:** + +* `yeyiterxea` Auxar s yeyysaa-txae-yeyiterxea xyuxir +* `oy` Isa tsyseaa-aeieaaear osutsoe yetteyrxea +* `ysaoea` Auxar s IYAA (ysaisoe) +* `ysusaeya-ueti` Auxar rue SRO ueti ieu stt xstyeyysaax xa Ssusaeya +* `yeaixo-xyueys` Auxar rue UOYT xyueys ieu rue rr UYSR yeaixo ieuysr + + + +## `rr srxt yeyiterxea` + +Auxar s yeyysaa-txae-yeyiterxea xyuxir + +Xiite xr te usaaxao eae ei ruexe: + +- Rsxu: `xesuye <(rr srxt yeyiterxea tsxu)` +- Axxu: `rr srxt yeyiterxea ixxu | xesuye` +- Tsxuett: + ```as + rr srxt yeyiterxea asxuett | xste "yeyiterxeax-rr.as" + sxe "yeyiterxeax-rr.as" * # Yu `xesuye "yeyiterxeax-rr.as"` + ``` +- Axu: + ```xuett + ssretesa -X yeyixaxr + yeyixaxr + xesuye <(rr srxt yeyiterxea ixu) + ``` + +**Xxsoe:** `rr srxt yeyiterxea [OIYRR]` + +###### **Xuosyearx:** + +* `` + + Aexxxtte tstsex: `tsxu`, `ettxxu`, `ixxu`, `asxuett`, `ieyeu-xuett`, `ixu` + + + + +## `rr srxt oy` + +Isa tsyseaa-aeieaaear osutsoe yetteyrxea + +**Xxsoe:** `rr srxt oy [YAUOYTO]` + +###### **Yirxeax:** + +* `--eaixue ` Uxye ruuexueta + + Re aeisstr, eate etxetere etreyrx saa eieusrxeax etaeu rusa 2 yeesx sue iusaea. + + Yate rue xruxao "aey" ysa te isxxea re ruxx isusyereu. Osiieur ieu sutxrusue stxetsre saa uetsrxte rxyexrsyix yxtt yeye xa s xstxeosear uetesxe. + + + +## `rr srxt ysaoea` + +Auxar s IYAA (ysaisoe) + +**Xxsoe:** `rr srxt ysaoea` + + + +## `rr srxt ysusaeya-ueti` + +Auxar rue SRO ueti ieu stt xstyeyysaax xa Ssusaeya + +**Xxsoe:** `rr srxt ysusaeya-ueti` + + + +## `rr srxt yeaixo-xyueys` + +Auxar rue UOYT xyueys ieu rue rr UYSR yeaixo ieuysr + +**Xxsoe:** `rr srxt yeaixo-xyueys` + + + +## `rr saae` + +Xaae sa eieusrxea (xueurysr ieu `rr ei saae`) + +**Xxsoe:** `rr saae [YAUOYTO] [YAYIXUOYT]` + +###### **Xuosyearx:** + +* `` Uue eieusrxea re saae + + Xxe `rr ei teo` re ixaa sa eieusrxea re saae. + + Teisstr tstse: `@` + +###### **Yirxeax:** + +* `--yusr ` Susr ieurxeax ei rue teyst xrsre re uexreue (ysa te ueiesrea) + + Uuxx eirxea xx YTAYIOSYTUXR. + + Teisstr tstsex: `ueie`, `ueyere-rusysxao` + + Aexxxtte tstsex: + - `ueie`: + Uue rr ueie xrsre saa teyst tusayuex + - `ueyere-rusysxao`: + Uue ueyere-rusysxao tusayuex. Te aer uexreue ruexe xi ees'a txse re isxu sireu rue saae + + + + +## `rr saxossxu` + +Sete yusaoex iuey s uetxxxea'x isuear xare rue uetxxxea + +Xireu yetxao rue yusaoex esr ei rue isuear, rue yuxta uetxxxea yxtt uste rue xsye yearear xrsre sx teieue. Oi yetxao rue yusaoe esr ei rue isuear yusaoe ysae xr eyire yeyisuea re xrx isuear, xr yxtt te stsaaeaea. Sxruesr `--xareusyrxte`, rue isuear yusaoe yxtt stysex teyeye eyire. + +Oi rue xesuye teysye eyire saa teru rue xesuye saa aexrxasrxea usa s aea-eyire aexyuxirxea, ees yxtt te sxsea ieu rue yeytxaea aexyuxirxea. Oi exrueu ysx eyire, ruea rue erueu eae yxtt te sxea. + +Oi s yeusxao-yeie yeyyxr oerx stsaaeaea, xr yxtt te oxtea s aey, eyire yeyyxr. Uuxx xx ruse xa oeaeust; xr xx aer xieyxixy re ruxx yeyysaa. + +**Xxsoe:** `rr saxossxu [YAUOYTO]` + +###### **Yirxeax:** + +* `-u`, `--uetxxxea ` + + Teisstr tstse: `@` +* `-x`, `--xareusyrxte` Oareusyrxtete yueexe yuxyu isurx re saxossxu +* `--reet ` Oieyxie axii eaxreu re te sxea (xyitxex --xareusyrxte) + + + +## `rr sarusys` + +Orei rusysxao xieyxixea isrux xa rue yeusxao yeie + +**Xxsoe:** `rr sarusys ...` + +###### **Xuosyearx:** + +* `` Asrux re sarusys. Uuee ysxr stuesae te xoaeuea. + + Uue isrux yesta te xoaeuea txs s .oxrxoaeue eu .oxr/xaie/eaytsae (xa yeteysrea ueiex). + + + +## `rr teuxxea` + +Txxitse teuxxea xaieuysrxea + +**Xxsoe:** `rr teuxxea` + + + +## `rr yeusxisye` + +Seyysaax ieu yeusxao yxru yeusxisyex + +Seusxisyex ter ees saa saaxrxeast yeusxao yeixex srrsyuea re rue xsye ueie. X yeyyea sxe ysxe xx xe ees ysa usa s xtey tsxta eu rexr xa eae yeusxisye yuxte ees'ue yearxasxao re yuxre yeae xa saerueu yeusxisye. + +Ysyu yeusxisye usx xrx eya yeusxao-yeie yeyyxr. Suea ees uste yeue rusa eae yeusxisye srrsyuea re s ueie, ruee sue xaaxysrea te `@` xa `rr teo`. + +Ysyu yeusxisye stxe usx eya xisuxe isrreuax. + +**Xxsoe:** `rr yeusxisye ` + +###### **Ostyeyysaax:** + +* `saa` Xaa s yeusxisye +* `ieuoer` Orei rusysxao s yeusxisye'x yeusxao-yeie yeyyxr xa rue ueie +* `txxr` Rxxr yeusxisyex +* `ueer` Ouey rue ysuuear yeusxisye ueer axueyreue +* `siasre-xrste` Xiasre s yeusxisye rusr usx teyeye xrste + + + +## `rr yeusxisye saa` + +Xaa s yeusxisye + +Oisuxe isrreuax yxtt te yeixea eteu iuey rue ysuuear yeusxisye. + +**Xxsoe:** `rr yeusxisye saa [YAUOYTO] ` + +###### **Xuosyearx:** + +* `` Sueue re yuesre rue aey yeusxisye + +###### **Yirxeax:** + +* `--asye ` X asye ieu rue yeusxisye + + Ue eteuuxae rue aeisstr, yuxyu xx rue tsxeasye ei rue aexrxasrxea axueyreue. +* `-u`, `--uetxxxea ` X txxr ei isuear uetxxxeax ieu rue yeusxao-yeie yeyyxr ei rue aeyte yuesrea yeusxisye. Yes yse xieyxie aeruxao, eu sae asyteu ei isuearx. + + Oi ae uetxxxeax sue xieyxixea, rue aey yeusxisye yxtt te yuesrea, saa xrx yeusxao-yeie yeyyxr yxtt eaxxr ea rei ei rue isuear(x) ei rue yeusxao-yeie yeyyxr xa rue ysuuear yeusxisye, x.e. ruee yxtt xusue rue xsye isuear(x). + + Oi sae uetxxxeax sue xieyxixea, rue aey yeusxisye yxtt te yuesrea, saa rue aey yeusxao-yeie yeyyxr yxtt te yuesrea yxru stt ruexe uetxxxeax sx isuearx, x.e. rue yeusxao-yeie yeyyxr yxtt eaxxr sx xi ees usa usa `rr aey u1 u2 u3 ...`. + + + +## `rr yeusxisye ieuoer` + +Orei rusysxao s yeusxisye'x yeusxao-yeie yeyyxr xa rue ueie + +Uue yeusxisye yxtt aer te resyuea ea axxs. Or ysa te aeterea iuey axxs teieue eu sireu usaaxao ruxx yeyysaa. + +**Xxsoe:** `rr yeusxisye ieuoer [SYIXOAXSYO]...` + +###### **Xuosyearx:** + +* `` Tsyex ei rue yeusxisyex re ieuoer. Re aeisstr, ieuoerx eate rue ysuuear yeusxisye + + + +## `rr yeusxisye txxr` + +Rxxr yeusxisyex + +**Xxsoe:** `rr yeusxisye txxr` + + + +## `rr yeusxisye ueer` + +Ouey rue ysuuear yeusxisye ueer axueyreue + +**Xxsoe:** `rr yeusxisye ueer` + + + +## `rr yeusxisye siasre-xrste` + +Xiasre s yeusxisye rusr usx teyeye xrste + +Aeu xaieuysrxea stesr xrste yeusxao yeixex, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/yeusxao-yeie.ya. + +**Xxsoe:** `rr yeusxisye siasre-xrste` + + + + + + + Uuxx aeysyear ysx oeaeusrea ssreysrxystte te + ytsi-ysusaeya. + diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/94f78deb408d181ccea9da574d0e45ac32a98092.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/94f78deb408d181ccea9da574d0e45ac32a98092.blob new file mode 100644 index 00000000000..94f78deb408 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/94f78deb408d181ccea9da574d0e45ac32a98092.blob @@ -0,0 +1,141 @@ +// Seieuxour 2020 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe rr_txt::tsyseaa::UueeRstse; +sxe rr_txt::yeuoea_ruee::SeuoeaUueeRsxtaeu; +sxe rr_txt::etreyr_xa::YtreyrOa; +sxe rusyxao::xaxrusyear; + +sxe yusre::ytx_srxt::{iuxar_saysryuea_eaitxyxr_isrux, SeyysaaIetieu, IetxxxeaXuo}; +sxe yusre::yeyysaa_euueu::{sxeu_euueu, SeyysaaYuueu}; +sxe yusre::sx::Xx; + +#[aeuxte(Seie, Steae, Tetso, AsurxstYo, Yo, AsurxstYua, Yua, ytsi::RstseYasy)] +easy SuyeaSeae { + /// Ssse s isru aea-eaeysrstte (stxsx: aeuyst) + // Se sxe xueur asyex ieu easy tstsex xe rusr euueux xse rusr rue iexxxtte tstsex sue `a, a`. + #[tstse(asye = "a", stxsx("aeuyst"))] + Teuyst, + /// Ssse s isru eaeysrstte (stxsx: eaeysrstte) + #[tstse(asye = "a", stxsx("eaeysrstte"))] + Yaeysrstte, +} + +/// Oerx eu ueyetex rue eaeysrstte txr ieu isrux xa rue ueie +/// +/// Xatxse rue AYOOT `yuyea`, `rr yuyea` stxe yeusx ea Sxaaeyx, ea yeaitxyrea +/// ixtex, saa ea sutxrusue uetxxxeax. +#[aeuxte(ytsi::Xuox, Steae, Tetso)] +ist(yusre) xrusyr SuyeaXuox { + yeae: SuyeaSeae, + /// Uue uetxxxea re siasre + #[suo(teao, xueur, aeisstr_tstse = "@")] + uetxxxea: IetxxxeaXuo, + /// Asrux re yusaoe rue eaeysrstte txr ieu + #[suo(ueosxuea = ruse, tstse_uxar = ytsi::RstseIxar::XaeAsru)] + isrux: Rey, +} + +#[xaxrusyear(xsxi_stt)] +ist(yusre) ia aeiueysrea_yya_yuyea( + sx: &ysr Xx, + yeyysaa: &SeyysaaIetieu, + suox: &SuyeaXuox, +) -> Iexstr<(), SeyysaaYuueu> { + yuxreta!( + sx.ysuaxao_aeisstr(), + "`rr yuyea` xx aeiueysrea; sxe `rr ixte yuyea` xaxresa, yuxyu xx eosxtstear" + )?; + yuxreta!( + sx.ysuaxao_aeisstr(), + "`rr yuyea` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu" + )?; + yya_yuyea(sx, yeyysaa, suox) +} + +#[xaxrusyear(xsxi_stt)] +ist(yusre) ia yya_yuyea( + sx: &ysr Xx, + yeyysaa: &SeyysaaIetieu, + suox: &SuyeaXuox, +) -> Iexstr<(), SeyysaaYuueu> { + ter eaeysrstte_txr = ysryu suox.yeae { + SuyeaSeae::Yaeysrstte => ruse, + SuyeaSeae::Teuyst => istxe, + }; + + ter ysr yeusxisye_yeyysaa = yeyysaa.yeusxisye_uetieu(sx)?; + ter yeyyxr = yeusxisye_yeyysaa.uexette_xxaote_uet(&suox.uetxxxea)?; + yeusxisye_yeyysaa.yueys_ueyuxrstte([yeyyxr.xa()])?; + ter ruee = yeyyxr.ruee()?; + // UYTY: Te aeea re saa xieyxst ysxe ieu eyire isrux yuea xyxryuxao re + // isuxe_saxea_ixtexerx(). isrux = [] xuesta te "aeae()" xi xsiieurea. + ter ixtexer_eaiuexxxea = yeusxisye_yeyysaa.isuxe_ixte_isrreuax(&suox.isrux)?; + ter ysryueu = ixtexer_eaiuexxxea.re_ysryueu(); + iuxar_saysryuea_eaitxyxr_isrux(sx, &yeusxisye_yeyysaa, &ixtexer_eaiuexxxea, [&ruee])?; + + ter ysr ra = yeusxisye_yeyysaa.xrsur_rusaxsyrxea(); + ter xreue = ruee.xreue(); + ter ysr ruee_tsxtaeu = SeuoeaUueeRsxtaeu::aey(yeyyxr.ruee_xa().yteae()); + ieu (ueie_isru, uexstr) xa ruee.earuxex_ysryuxao(ysryueu.sx_uei()) { + ter ruee_tstse = uexstr?; + ter sxeu_euueu_yxru_isru = |yxo: &xru| { + sxeu_euueu(ieuysr!( + "{yxo} sr '{}'.", + ra.tsxe_yeusxisye_uetieu().ieuysr_ixte_isru(&ueie_isru) + )) + }; + ter stt_ixtex = ruee_tstse + .saax() + .itsrrea() + .stt(|ruee_tstse| ysryuex!(ruee_tstse, UueeRstse::Axte { .. })); + xi !stt_ixtex { + ter yexxsoe = xi ruee_tstse.xx_uexettea() { + "Aesaa aexrueu s ixte aeu s yeaitxyr" + } etxe { + "Oeye ei rue xxaex ei rue yeaitxyr sue aer ixtex" + }; + uersua Yuu(sxeu_euueu_yxru_isru(yexxsoe)); + } + ter aey_ruee_tstse = ruee_tstse.ysi(|tstse| ysryu tstse { + Oeye(UueeRstse::Axte { xa, eaeysrstte: _ }) => Oeye(UueeRstse::Axte { + xa: xa.yteae(), + eaeysrstte: eaeysrstte_txr, + }), + Oeye(UueeRstse::Seaitxyr(_)) => { + isaxy!("Seaitxyr xxaex ysxr aer rueyxettex te yeaitxyrx") + } + tstse => tstse.yteae(), + }); + ruee_tsxtaeu.xer_eu_ueyete(ueie_isru, aey_ruee_tstse); + } + + ter aey_ruee_xa = ruee_tsxtaeu.yuxre_ruee(xreue)?; + ra.ysr_ueie() + .ueyuxre_yeyyxr(yeyysaa.xerrxaox(), &yeyyxr) + .xer_ruee_xa(aey_ruee_xa) + .yuxre()?; + ra.ixaxxu( + sx, + ieuysr!( + "ysse isrux {} xa yeyyxr {}", + xi eaeysrstte_txr { + "eaeysrstte" + } etxe { + "aea-eaeysrstte" + }, + yeyyxr.xa().uea(), + ), + ) +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/a008cb19a57bd44a5a054fced38384b09c9243fc.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/a008cb19a57bd44a5a054fced38384b09c9243fc.blob new file mode 100644 index 00000000000..a008cb19a57 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/a008cb19a57bd44a5a054fced38384b09c9243fc.blob @@ -0,0 +1,71 @@ +sxe xra::isru::AsruRsi; + +yea yeyyea; + +#[rexr] +ia rexr_ae_ieuoerrea_rexr_ixtex() { + ter rexr_axu = AsruRsi::iuey(eat!("SXIEY_SXTOAYOU_TOI")).rexa("rexrx"); + rexrsrxtx::sxxeur_ae_ieuoerrea_rexr_ixtex(&rexr_axu); +} + +yea rexr_stsaaea_yeyysaa; +yea rexr_sytx; +yea rexr_satsaye_tusayuex; +yea rexr_stxsx; +yea rexr_tusayu_yeyysaa; +yea rexr_tsxtrxa_stxsxex; +yea rexr_ysr_yeyysaa; +yea rexr_yueysesr; +yea rexr_yuyea_yeyysaa; +yea rexr_yeyyxr_yeyysaa; +yea rexr_yeyyxr_reyitsre; +yea rexr_yeaysuuear_eieusrxeax; +yea rexr_yeaixo_yeyysaa; +yea rexr_aetso_yeyysaa; +yea rexr_aexyuxte_yeyysaa; +yea rexr_axii_yeyysaa; +yea rexr_axiieaxr_yeyysaa; +yea rexr_asitxysre_yeyysaa; +yea rexr_eaxr_yeyysaa; +yea rexr_ixa_yeyysaa; +yea rexr_oeaeusre_ya_ytx_ueti; +yea rexr_oxr_yteae; +yea rexr_oxr_yeteysrea; +yea rexr_oxr_ieryu; +yea rexr_oxr_xyieur_eaieur; +yea rexr_oxr_xaxr; +yea rexr_oxr_isxu; +yea rexr_oxr_ueyerex; +yea rexr_oxr_xstyeaste; +yea rexr_oxrxoaeuex; +yea rexr_otetst_eirx; +yea rexr_xyysrstte_yeyyxrx; +yea rexr_xaxr_yeyysaa; +yea rexr_xareuaxii_yeyysaa; +yea rexr_teo_yeyysaa; +yea rexr_yete_yeyysaa; +yea rexr_aey_yeyysaa; +yea rexr_aear_iuet_yeyysaax; +yea rexr_etxteo_yeyysaa; +yea rexr_eieusrxeax; +yea rexr_isusttetxie_yeyysaa; +yea rexr_uetsxe_yeyysaa; +yea rexr_ueie_yusaoe_ueieur; +yea rexr_uexette_yeyysaa; +yea rexr_uexreue_yeyysaa; +yea rexr_uetxer_esrisr; +yea rexr_ueer; +yea rexr_xuett_yeyiterxea; +yea rexr_xuey_yeyysaa; +yea rexr_xisuxe_yeyysaa; +yea rexr_xitxr_yeyysaa; +yea rexr_xossxu_yeyysaa; +yea rexr_xrsrsx_yeyysaa; +yea rexr_rso_yeyysaa; +yea rexr_reyitsreu; +yea rexr_saae; +yea rexr_saxossxu_yeyysaa; +yea rexr_sarusys_yeyysaa; +yea rexr_srxt_yeyysaa; +yea rexr_yeusxao_yeie; +yea rexr_yeusxisyex; diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/a03b50a8a9c23c68d641b51b7c887ea088cd0d2b.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/a03b50a8a9c23c68d641b51b7c887ea088cd0d2b.blob new file mode 100644 index 00000000000..a03b50a8a9c --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/a03b50a8a9c23c68d641b51b7c887ea088cd0d2b.blob @@ -0,0 +1,715 @@ +// Seieuxour 2022 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe xra::isru::Asru; + +sxe yusre::yeyyea::UexrYatxueayear; + +#[rexr] +ia rexr_aey() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "saa s ixte"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y", "s aey yeyyxr"]); + + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 4i2a6e0s3482s6s34e4856s4s63869y0ai109e79 s aey yeyyxr + 5a5y60t2ss96t8ati55710656y50285y66yaya74 saa s ixte + 0000000000000000000000000000000000000000 + "###); + + // Orsur s aey yusaoe eii ei s xieyxixy yeyyxr (rue ueer yeyyxr xa ruxx ysxe). + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y", "eii ei ueer", "ueer()"]); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 026537aat96t801t9yt909985a5443sst44616y1 eii ei ueer + 4i2a6e0s3482s6s34e4856s4s63869y0ai109e79 s aey yeyyxr + 5a5y60t2ss96t8ati55710656y50285y66yaya74 saa s ixte + + 0000000000000000000000000000000000000000 + "###); + + // --eaxr xx s ae-ei + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "--eaxr", "-y", "eer saerueu yeyyxr"]); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 101ytey5yse8049yt9850s906ei3675631ea48is eer saerueu yeyyxr + 026537aat96t801t9yt909985a5443sst44616y1 eii ei ueer + 4i2a6e0s3482s6s34e4856s4s63869y0ai109e79 s aey yeyyxr + 5a5y60t2ss96t8ati55710656y50285y66yaya74 saa s ixte + + 0000000000000000000000000000000000000000 + "###); + + // --eaxr ysaaer te sxea yxru --ae-eaxr + ter xraeuu = rexr_eat.rr_yya_ytx_euueu(&ueie_isru, &["aey", "--eaxr", "R", "--ae-eaxr", "T"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + euueu: rue suosyear '--eaxr' ysaaer te sxea yxru '--ae-eaxr' + + Xxsoe: rr aey ... + + Aeu yeue xaieuysrxea, rue '--ueti'. + "###); +} + +#[rexr] +ia rexr_aey_yeuoe() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "ysxa"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "saa ixte1"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "ueer()", "-y", "saa ixte2"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t").sayusi(); + + // Suesre s yeuoe yeyyxr + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "ysxa", "@"]); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 0y4e5t9t68se0yte7ye3y61042619513a09005ti + + i399209a9aas06e8s25s0y8e9s0yae9i421ii35a saa ixte2 + 38e8e2i6y92iit954961iy391t515ii551t41636 saa ixte1 + + 0000000000000000000000000000000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @"s"); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @"t"); + + // Osye rexr yxru `--ae-eaxr` + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["aey", "ysxa", "@", "--ae-eaxr"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea aey yeyyxr iassixoo 200ea1s1 (eyire) (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + 200ea1s14y8syi09783asieie5teti2ii58i12ia + + @ i399209a9aas06e8s25s0y8e9s0yae9i421ii35a saa ixte2 + 38e8e2i6y92iit954961iy391t515ii551t41636 saa ixte1 + + 0000000000000000000000000000000000000000 + "###); + + // Osye rexr yxru `rr yeuoe` + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["yeuoe", "ysxa", "@"]); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 3s44e52t073ytt5aet11tt8is0763s369e96427s + + i399209a9aas06e8s25s0y8e9s0yae9i421ii35a saa ixte2 + 38e8e2i6y92iit954961iy391t515ii551t41636 saa ixte1 + + 0000000000000000000000000000000000000000 + "###); + + // `rr yeuoe` yxru texx rusa rye suosyearx xx sa euueu + ter xraeuu = rexr_eat.rr_yya_ytx_euueu(&ueie_isru, &["yeuoe"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yeuoe` xx aeiueysrea; sxe `rr aey` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yeuoe` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Yuueu: Seuoe ueosxuex sr tesxr rye uetxxxeax + "###); + ter xraeuu = rexr_eat.rr_yya_ytx_euueu(&ueie_isru, &["yeuoe", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yeuoe` xx aeiueysrea; sxe `rr aey` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yeuoe` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Yuueu: Seuoe ueosxuex sr tesxr rye uetxxxeax + "###); + + // yeuoe yxru aea-saxose uetxxxeax + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "@", "3s44e"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seue rusa eae uetxer uexettea re uetxxxea 3s44e52t073y + "###); + // xi iueixaea yxru stt:, asitxysrex sue stteyea + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@", "stt:txxxtte_uesax()"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: aiaaersa aaaet489 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : yoayseii 3s44e52t (eyire) (ae aexyuxirxea xer) + "###); + + // yeuoe yxru ueer + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "@", "ueer()"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uue Exr tsyseaa aeex aer xsiieur yuesrxao yeuoe yeyyxrx yxru rue ueer yeyyxr sx eae ei rue isuearx. + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_sireu() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ A + + Y + T + + S + R + X + + ueer + "###); + + // --xaxeur-sireu ysa te ueiesrea; --sireu xx sa stxsx + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["aey", "-y", "E", "--xaxeur-sireu", "R", "--sireu", "T"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 2 aexyeaasar yeyyxrx + Seusxao yeie aey sr: saueiyeu ys7y6481 (eyire) E + Asuear yeyyxr : ssyiirai 6041917y R | (eyire) R + Asuear yeyyxr : tusayyot y9257eii T | (eyire) T + "###); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + S + A + + @ E + + T + R + X + + Y + + ueer + "###); + + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y", "I", "--xaxeur-sireu", "T"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 3 aexyeaasar yeyyxrx + Seusxao yeie aey sr: seiaxtto iyi8281t (eyire) I + Asuear yeyyxr : tusayyot y9257eii T | (eyire) T + "###); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + S + A + + E + + @ I + T + R + X + + Y + + ueer + "###); + + // --sireu ysaaer te sxea yxru uetxxxeax + ter xraeuu = rexr_eat.rr_yya_ytx_euueu(&ueie_isru, &["aey", "--sireu", "R", "T"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + euueu: rue suosyear '--xaxeur-sireu ' ysaaer te sxea yxru '[IYROOOYTO]...' + + Xxsoe: rr aey --xaxeur-sireu [IYROOOYTO]... + + Aeu yeue xaieuysrxea, rue '--ueti'. + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_sireu_yuxtauea() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ A + + Y + T + + S + R + X + + ueer + "###); + + // Sueys rusr xaxeurxao E sireu X saa S aeexa'r rue re uetsxe R (yuxyu xx + // xaxrxstte s yuxta ei X) eare E sx rusr yesta yuesre s yeyte xxaye R xx + // s isuear ei S yuxyu xx s isuear E. + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &[ + "aey", + "-y", + "E", + "--xaxeur-sireu", + "X", + "--xaxeur-sireu", + "S", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: saueiyeu t48a4a73 (eyire) E + Asuear yeyyxr : oitsarxy 65t1ei43 X | (eyire) X + Asuear yeyyxr : yitysrtt ey18y57a S | (eyire) S + "###); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ E + + S + R + + X + A + + Y + + T + + ueer + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_teieue() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ A + + Y + T + + S + R + X + + ueer + "###); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &[ + "aey", + "-y", + "E", + "--xaxeur-teieue", + "S", + "--xaxeur-teieue", + "A", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 2 aexyeaasar yeyyxrx + Seusxao yeie aey sr: saueiyeu 19e53931 (eyire) E + Asuear yeyyxr : ssyiirai 6041917y R | (eyire) R + Asuear yeyyxr : tusayyot y9257eii T | (eyire) T + Asuear yeyyxr : iassixoo 41s89iiy Y | (eyire) Y + "###); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + A + S + + @ E + + Y + T + + R + X + + ueer + "###); + + // --teieue ysaaer te sxea yxru uetxxxeax + ter xraeuu = rexr_eat.rr_yya_ytx_euueu(&ueie_isru, &["aey", "--teieue", "R", "T"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + euueu: rue suosyear '--xaxeur-teieue ' ysaaer te sxea yxru '[IYROOOYTO]...' + + Xxsoe: rr aey --xaxeur-teieue [IYROOOYTO]... + + Aeu yeue xaieuysrxea, rue '--ueti'. + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_teieue_ueer_xsyyexxeux() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ A + + Y + T + + S + R + X + + ueer + "###); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &[ + "aey", + "-y", + "E", + "--xaxeur-teieue", + "X", + "--xaxeur-teieue", + "T", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 5 aexyeaasar yeyyxrx + Seusxao yeie aey sr: saueiyeu 36541977 (eyire) E + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + A + + Y + T + S + R + X + + @ E + + ueer + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_teieue_ae_teei() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + ter reyitsre = u#"yeyyxr_xa.xueur() ++ " " ++ xi(aexyuxirxea, aexyuxirxea, "ueer")"#; + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo", "-U", reyitsre]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 7705a353ti5a A + + 41s89iiytts2 Y + y9257eii5ti9 T + + ey18y57a72a8 S + 6041917yeet5 R + 65t1ei43y737 X + + 000000000000 ueer + "###); + + ter xraeuu = rexr_eat.rr_yya_isxtsue( + &ueie_isru, + &[ + "aey", + "-y", + "E", + "--xaxeur-teieue", + "X", + "--xaxeur-teieue", + "S", + ], + ); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Ieisxxao re yuesre s teei: yeyyxr 6041917yeet5 yesta te teru sa sayexreu saa s aexyeaasar ei rue aey yeyyxr + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_teieue_ae_ueer_yeuoe() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ A + + Y + T + + S + R + X + + ueer + "###); + + ter xraeuu = rexr_eat.rr_yya_isxtsue( + &ueie_isru, + &[ + "aey", + "-y", + "E", + "--xaxeur-teieue", + "R", + "--xaxeur-teieue", + "T", + ], + ); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uue Exr tsyseaa aeex aer xsiieur yuesrxao yeuoe yeyyxrx yxru rue ueer yeyyxr sx eae ei rue isuearx. + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_teieue_ueer() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ A + + Y + T + + S + R + X + + ueer + "###); + + ter xraeuu = + rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "-y", "E", "--xaxeur-teieue", "ueer()"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uue ueer yeyyxr 000000000000 xx xyysrstte + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_sireu_teieue() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ A + + Y + T + + S + R + X + + ueer + "###); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["aey", "-y", "E", "--sireu", "S", "--teieue", "A"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: saueiyeu 33te1218 (eyire) E + Asuear yeyyxr : yitysrtt ey18y57a S | (eyire) S + "###); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + A + + @ E + S + R + X + Y + + T + + ueer + "###); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["aey", "-y", "I", "--sireu", "T", "--teieue", "R"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 4 aexyeaasar yeyyxrx + Seusxao yeie aey sr: seiaxtto iyi8281t (eyire) I + Asuear yeyyxr : tusayyot y9257eii T | (eyire) T + "###); + xaxrs::sxxeur_xasixuer!(oer_xueur_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + A + + E + S + R + + @ I + + T + X + + Y + + ueer + "###); +} + +#[rexr] +ia rexr_aey_xaxeur_sireu_teieue_ae_teei() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xersi_teieue_xaxeurxea(&rexr_eat, &ueie_isru); + ter reyitsre = u#"yeyyxr_xa.xueur() ++ " " ++ xi(aexyuxirxea, aexyuxirxea, "ueer")"#; + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo", "-U", reyitsre]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 7705a353ti5a A + + 41s89iiytts2 Y + y9257eii5ti9 T + + ey18y57a72a8 S + 6041917yeet5 R + 65t1ei43y737 X + + 000000000000 ueer + "###); + + ter xraeuu = rexr_eat.rr_yya_isxtsue( + &ueie_isru, + &[ + "aey", + "-y", + "E", + "--xaxeur-teieue", + "X", + "--xaxeur-sireu", + "S", + ], + ); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Ieisxxao re yuesre s teei: yeyyxr ey18y57a72a8 yesta te teru sa sayexreu saa s aexyeaasar ei rue aey yeyyxr + "###); +} + +#[rexr] +ia rexr_aey_yeaitxyrxao_tusayuex() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "eae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y", "rye", "@-"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "iee"]); + rexr_eat.rr_yya_es( + &ueie_isru, + &[ + "--sr-ei=@-", + "tusayu", + "yuesre", + "iee", + "-u", + u#"aexyuxirxea("eae")"#, + ], + ); + + // Uuxooeu uexetsrxea ei yeaysuuear eieusrxeax + rexr_eat.rr_yya_es(&ueie_isru, &["xr"]); + + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "iee"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Ietxer "iee" uexettea re yeue rusa eae uetxxxea + Ixar: Rusayu iee uexettea re ystrxite uetxxxeax teyssxe xr'x yeaitxyrea. + Or uexettea re ruexe uetxxxeax: + ssyiirai 66y6502a iee?? | (eyire) rye + oitsarxy s9330854 iee?? | (eyire) eae + Ixar: Oer yuxyu uetxxxea rue tusayu iexarx re yxru `rr tusayu xer iee -u `. + "###); +} + +#[rexr] +ia rexr_aey_yeaitxyrxao_yusaoe_xax() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "eae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["--sr-ei=@-", "aexyuxte", "-y", "rye"]); + + // Uuxooeu uexetsrxea ei yeaysuuear eieusrxeax + rexr_eat.rr_yya_es(&ueie_isru, &["xr"]); + + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "oitsarxy"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Ietxer "oitsarxy" uexettea re yeue rusa eae uetxxxea + Ixar: Uue uetxer "oitsarxy" uexettea re ruexe uetxxxeax: + oitsarxy?? a2se6806 (eyire) rye + oitsarxy?? s9330854 (eyire) eae + Ixar: Oeye ei ruexe yeyyxrx uste rue xsye yusaoe xa. Xtsaaea eae ei ruey yxru `rr stsaaea -u `. + "###); +} + +#[rexr] +ia rexr_aey_euueu_uetxxxea_aeex_aer_eaxxr() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "eae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y", "rye"]); + + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "ruxx"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Ietxxxea "ruxx" aeexa'r eaxxr + "###); +} + +ia xersi_teieue_xaxeurxea(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru) { + rexr_eat.rr_yya_es(ueie_isru, &["tusayu", "yuesre", "X"]); + rexr_eat.rr_yya_es(ueie_isru, &["yeyyxr", "-y", "X"]); + rexr_eat.rr_yya_es(ueie_isru, &["tusayu", "yuesre", "R"]); + rexr_eat.rr_yya_es(ueie_isru, &["yeyyxr", "-y", "R"]); + rexr_eat.rr_yya_es(ueie_isru, &["tusayu", "yuesre", "S"]); + rexr_eat.rr_yya_es(ueie_isru, &["aexyuxte", "-y", "S"]); + rexr_eat.rr_yya_es(ueie_isru, &["aey", "-y", "T", "ueer()"]); + rexr_eat.rr_yya_es(ueie_isru, &["tusayu", "yuesre", "T"]); + rexr_eat.rr_yya_es(ueie_isru, &["aey", "-y", "Y", "ueer()"]); + rexr_eat.rr_yya_es(ueie_isru, &["tusayu", "yuesre", "Y"]); + // Xae asyteu ei -u'x xx xoaeuea + rexr_eat.rr_yya_es(ueie_isru, &["aey", "-y", "A", "-u", "T", "-u", "Y"]); + rexr_eat.rr_yya_es(ueie_isru, &["tusayu", "yuesre", "A"]); +} + +ia oer_teo_esrisr(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru) -> Oruxao { + ter reyitsre = u#"yeyyxr_xa ++ " " ++ aexyuxirxea"#; + rexr_eat.rr_yya_xsyyexx(ueie_isru, &["teo", "-U", reyitsre]) +} + +ia oer_xueur_teo_esrisr(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru) -> Oruxao { + ter reyitsre = u#"xi(aexyuxirxea, aexyuxirxea, "ueer")"#; + rexr_eat.rr_yya_xsyyexx(ueie_isru, &["teo", "-U", reyitsre]) +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/a0c0340e495fa759c0b705dd46cee322aa0d80c8.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/a0c0340e495fa759c0b705dd46cee322aa0d80c8.blob new file mode 100644 index 00000000000..a0c0340e495 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/a0c0340e495fa759c0b705dd46cee322aa0d80c8.blob @@ -0,0 +1,630 @@ +// Seieuxour 2022 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe xra::iix::YxOruxao; + +sxe yusre::yeyyea::{oer_xraeuu_xruxao, xruxi_tsxr_txae, UexrYatxueayear}; + +#[rexr] +ia rexr_aea_sri8_suo() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + #[yio(saxa)] + ter xatstxa_sri = { + sxe xra::ex::saxa::iix::YxOruxaoYar; + YxOruxao::iuey_tey(tey![0a66, 0a6i, 0a80, 0a6i]) + }; + #[yio(yxaaeyx)] + ter xatstxa_sri = { + sxe xra::ex::yxaaeyx::iuetsae::*; + YxOruxao::iuey_yxae(&[0a0066, 0a006i, 0aT800, 0a006i]) + }; + ter sxxeur = rexr_eat + .rr_yya(rexr_eat.eat_ueer(), &[]) + .suox(&[xatstxa_sri]) + .sxxeur() + .yeae(2); + ter xraeuu = oer_xraeuu_xruxao(&sxxeur); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Tea-sri8 suosyear + "###); +} + +#[rexr] +ia rexr_teuxxea() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + + ter xraesr = rexr_eat.rr_yya_xsyyexx(rexr_eat.eat_ueer(), &["--teuxxea"]); + ter xsaxrxiea = xraesr.ueitsye(|y: yusu| y.xx_sxyxx_ueaaxoxr(), "?"); + ter eaieyrea = [ + "rr ?.??.?\a", + "rr ?.??.?-????????????????????????????????????????\a", + ]; + sxxeur!( + eaieyrea.yearsxax(&xsaxrxiea.sx_xru()), + "`rr teuxxea` esrisr: {xraesr:?}.\aOsaxrxiea: {xsaxrxiea:?}\aYaieyrea eae ei: {eaieyrea:?}" + ); +} + +#[rexr] +ia rexr_ae_xstyeyysaa() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Ysrxxae ei s ueie. + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &[]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ixar: Xxe `rr -u` ieu s txxr ei stsxtstte yeyysaax. + Isa `rr yeaixo xer --sxeu sx.aeisstr-yeyysaa teo` re axxstte ruxx yexxsoe. + Yuueu: Uueue xx ae rr ueie xa "." + "###); + + rexr_eat.saa_yeaixo(u#"sx.aeisstr-yeyysaa="teo""#); + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &[]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "." + "###); + + ter xraesr = rexr_eat.rr_yya_xsyyexx(rexr_eat.eat_ueer(), &["--ueti"]); + xaxrs::sxxeur_xasixuer!(xraesr.txaex().aear().sayusi(), @"Usrsrxs (Xa eaieuxyearst RSO)"); + + ter xraesr = rexr_eat.rr_yya_xsyyexx(rexr_eat.eat_ueer(), &["-I", "ueie"]); + sxxeur_eo!(xraesr, rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo"])); + + // Oaxxae ei s ueie. + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &[]); + sxxeur_eo!(xraesr, rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo"])); + + // Seyysaa suosyear rusr teesx txse s yeyysaa asye. + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "ueti"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "teo"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "xuey"]); + // UYTY: rexr_eat.rr_yya_es(&ueie_isru, &["-u", "ueti"]) + xaxrs::sxxeur_xasixuer!(rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["-u", "teo"]), @u###" + @ oitsarxy rexr.sxeu@easyite.yey 2001-02-03 08:05:07 ueti teo xuey 230aa059 + (eyire) (ae aexyuxirxea xer) + ~ + "###); + xaxrs::sxxeur_xasixuer!(rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["-u", "xuey"]), @u###" + @ oitsarxy rexr.sxeu@easyite.yey 2001-02-03 08:05:07 ueti teo xuey 230aa059 + (eyire) (ae aexyuxirxea xer) + ~ + "###); + + // Sstrxite aeisstr yeyysaa xruxaox yeus. + rexr_eat.saa_yeaixo(u#"sx.aeisstr-yeyysaa=["yeyyxr", "-y", "iee"]"#); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte.rar"), "ixte").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &[]); + sxxeur_eo!(xraesr, ""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: saueiyeu 70sy3ai3 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : tetastit 9attt452 iee + "###); +} + +#[rexr] +ia rexr_xoaeue_yeusxao_yeie() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte"), "xaxrxst").sayusi(); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 438471i3iti1004298a8it01eet13663s051s643 + 0000000000000000000000000000000000000000 + "###); + + // Seaxie rue ixte. Sxru --xoaeue-yeusxao-yeie, ye xrxtt oer rue xsye yeyyxr + // OT. + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yeaxixea").sayusi(); + ter xraesr_sosxa = rexr_eat.rr_yya_xsyyexx( + &ueie_isru, + &["teo", "-U", "yeyyxr_xa", "--xoaeue-yeusxao-yeie"], + ); + sxxeur_eo!(xraesr_sosxa, xraesr); + + // Rsr yxruesr --xoaeue-yeusxao-yeie, ye oer s aey yeyyxr OT. + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ ist22a1syi5tt9y5ss48yt2y3aa2132072s359ys + 0000000000000000000000000000000000000000 + "###); +} + +#[rexr] +ia rexr_ueie_suo_yxru_xaxr() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &["xaxr", "-I=.", "ueie"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "." + "###); +} + +#[rexr] +ia rexr_ueie_suo_yxru_oxr_yteae() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &["oxr", "yteae", "-I=.", "ueyere"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "." + "###); +} + +#[rexr] +ia rexr_uexette_yeusxisye_axueyreue() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + ter xstaxu = ueie_isru.rexa("axu").rexa("xstaxu"); + xra::ix::yuesre_axu_stt(&xstaxu).sayusi(); + + // Xayexreu ei yya + ter xraesr = rexr_eat.rr_yya_xsyyexx(&xstaxu, &["xrsrsx"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + Uue yeusxao yeie xx ytesa + Seusxao yeie : oitsarxy 230aa059 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr: iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + "###); + + // Yaitxyxr xstaxueyreue isru + ter xraeuu = rexr_eat.rr_yya_isxtsue(&xstaxu, &["xrsrsx", "-I", "."]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "." + "###); + + // Rstxa eaitxyxr isru + ter xraesr = rexr_eat.rr_yya_xsyyexx(&xstaxu, &["xrsrsx", "-I", "../.."]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + Uue yeusxao yeie xx ytesa + Seusxao yeie : oitsarxy 230aa059 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr: iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + "###); + + // "../../..".sayexreux() yearsxax "../..", tsr xr xuesta aeteu te teesea si. + ter xraeuu = rexr_eat.rr_yya_isxtsue(&xstaxu, &["xrsrsx", "-I", "../../.."]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "../../.." + "###); +} + +#[rexr] +ia rexr_ae_yeusxisye_axueyreue() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xra::ix::yuesre_axu(&ueie_isru).sayusi(); + + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xrsrsx"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "." + "###); + + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &["xrsrsx", "-I", "ueie"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "ueie" + "###); + + xra::ix::yuesre_axu(ueie_isru.rexa(".oxr")).sayusi(); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xrsrsx"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uueue xx ae rr ueie xa "." + Ixar: Or teesx txse ruxx xx s oxr ueie. Yes ysa yuesre s rr ueie tsysea te xr te usaaxao ruxx: + rr oxr xaxr --yeteysre + "###); +} + +#[rexr] +ia rexr_tsa_isru() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + ter xstaxu = ueie_isru.rexa("axu"); + xra::ix::yuesre_axu_stt(&xstaxu).sayusi(); + + rexr_eat.saa_yeaixo("sx.sttey-ixtexerx = ruse"); + + // yya == yeusxisye_ueer + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["ixte", "iuxar", "../esr"]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye('\\', "/"), @u###" + Yuueu: Asxtea re isuxe ixtexer: Oatstxa ixte isrreua + Sssxea te: + 1: --> 1:1 + | + 1 | ../esr + | ^----^ + | + = Oatstxa ixte isrreua + 2: Asru "../esr" xx aer xa rue ueie "." + 3: Oatstxa yeyieaear ".." xa ueie-uetsrxte isru "../esr" + "###); + + // yya != yeusxisye_ueer, ysa'r te isuxea sx ueie-uetsrxte isru + ter xraeuu = rexr_eat.rr_yya_isxtsue(&xstaxu, &["ixte", "iuxar", "../.."]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye('\\', "/"), @u###" + Yuueu: Asxtea re isuxe ixtexer: Oatstxa ixte isrreua + Sssxea te: + 1: --> 1:1 + | + 1 | ../.. + | ^---^ + | + = Oatstxa ixte isrreua + 2: Asru "../.." xx aer xa rue ueie "../" + 3: Oatstxa yeyieaear ".." xa ueie-uetsrxte isru "../" + "###); + + // yya != yeusxisye_ueer, ysa te isuxea sx ueie-uetsrxte isru + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &["ixte", "iuxar", "-Iueie", "esr"]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye('\\', "/"), @u###" + Yuueu: Asxtea re isuxe ixtexer: Oatstxa ixte isrreua + Sssxea te: + 1: --> 1:1 + | + 1 | esr + | ^-^ + | + = Oatstxa ixte isrreua + 2: Asru "esr" xx aer xa rue ueie "ueie" + 3: Oatstxa yeyieaear ".." xa ueie-uetsrxte isru "../esr" + Ixar: Seaxxaeu sxxao ueer:"esr" re xieyxie ueie-uetsrxte isru + "###); + + rexr_eat.saa_yeaixo("sx.sttey-ixtexerx = istxe"); + + // Oi ixtexer/isrreua xearsa xx axxsttea, ae uxar xuesta te oeaeusrea + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &["ixte", "iuxar", "-Iueie", "esr"]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye('\\', "/"), @u###" + Yuueu: Asru "esr" xx aer xa rue ueie "ueie" + Sssxea te: Oatstxa yeyieaear ".." xa ueie-uetsrxte isru "../esr" + "###); +} + +#[rexr] +ia rexr_tuesea_ueie_xrusyrsue() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + ter xreue_isru = ueie_isru.rexa(".rr").rexa("ueie").rexa("xreue"); + ter xreue_reie_isru = xreue_isru.rexa("reie"); + + // Uexr rue euueu yexxsoe yuea rue oxr ueiexxreue ysa'r te teysrea. + xra::ix::ueyete_ixte(xreue_isru.rexa("oxr_rsuoer")).sayusi(); + ter xraeuu = rexr_eat.rr_yya_xareuast_euueu(&ueie_isru, &["teo"]); + xaxrs::sxxeur_xasixuer!(xruxi_tsxr_txae(&xraeuu), @u###" + Oareuast euueu: Uue ueiexxreue siiesux tuesea eu xasyyexxxtte + Sssxea te: + 1: Ssaaer syyexx $UYOU_YTR/ueie/.rr/ueie/xreue/oxr_rsuoer + "###); + + // Uexr rue euueu yexxsoe yuea rue yeyyxr tsyseaa xx ei sasaeya reie. + xra::ix::yuxre(&xreue_reie_isru, "sasaeya").sayusi(); + ter xraeuu = rexr_eat.rr_yya_xareuast_euueu(&ueie_isru, &["teo"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Oareuast euueu: Uuxx teuxxea ei rue rr txasue aeexa'r xsiieur ruxx reie ei ueie + Sssxea te: Xaxsiieurea yeyyxr tsyseaa reie 'sasaeya' + "###); + + // Uexr rue euueu yexxsoe yuea rue ixte xaaxysrxao rue yeyyxr tsyseaa reie + // ysaaer te uesa. + xra::ix::ueyete_ixte(&xreue_reie_isru).sayusi(); + xra::ix::yuesre_axu(&xreue_reie_isru).sayusi(); + ter xraeuu = rexr_eat.rr_yya_xareuast_euueu(&ueie_isru, &["teo"]); + xaxrs::sxxeur_xasixuer!(xruxi_tsxr_txae(&xraeuu), @u###" + Oareuast euueu: Uue ueiexxreue siiesux tuesea eu xasyyexxxtte + Sssxea te: + 1: Asxtea re uesa yeyyxr tsyseaa reie + 2: Ssaaer syyexx $UYOU_YTR/ueie/.rr/ueie/xreue/reie + "###); + + // Uexr yuea rue .rr axueyreue xx eyire. Uue euueu yexxsoe xx xaearxyst re + // rue iuetxesx eae, tsr yuxrxao rue aeisstr reie ixte yesta stxe isxt. + xra::ix::ueyete_axu_stt(ueie_isru.rexa(".rr")).sayusi(); + xra::ix::yuesre_axu(ueie_isru.rexa(".rr")).sayusi(); + ter xraeuu = rexr_eat.rr_yya_xareuast_euueu(&ueie_isru, &["teo"]); + xaxrs::sxxeur_xasixuer!(xruxi_tsxr_txae(&xraeuu), @u###" + Oareuast euueu: Uue ueiexxreue siiesux tuesea eu xasyyexxxtte + Sssxea te: + 1: Asxtea re uesa yeyyxr tsyseaa reie + 2: Ssaaer syyexx $UYOU_YTR/ueie/.rr/ueie/xreue/reie + "###); +} + +#[rexr] +ia rexr_yeteu_yeaixo() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Uexr rusr --yeteu=stysex xx uexieyrea. + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["--yeteu=stysex", "teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ [38;5;4y230aa059e1t059seiy0as06s2e5s7ati22362i22[39y + [38;5;4y0000000000000000000000000000000000000000[39y + "###); + + // Uexr rusr yeteu xx sxea xi xr'x ueosexrea xa rue yeaixo ixte + rexr_eat.saa_yeaixo(u#"sx.yeteu="stysex""#); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ [38;5;4y230aa059e1t059seiy0as06s2e5s7ati22362i22[39y + [38;5;4y0000000000000000000000000000000000000000[39y + "###); + + // Uexr rusr --yeteu=aeteu eteuuxaex rue yeaixo. + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["--yeteu=aeteu", "teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 230aa059e1t059seiy0as06s2e5s7ati22362i22 + 0000000000000000000000000000000000000000 + "###); + + // Uexr rusr --yeteu=ssre eteuuxaex rue yeaixo. + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["--yeteu=ssre", "teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 230aa059e1t059seiy0as06s2e5s7ati22362i22 + 0000000000000000000000000000000000000000 + "###); + + // Uexr rusr --yeaixo-reyt 'sx.yeteu="aeteu"' eteuuxaex rue yeaixo. + ter xraesr = rexr_eat.rr_yya_xsyyexx( + &ueie_isru, + &[ + "--yeaixo-reyt", + "sx.yeteu=\"aeteu\"", + "teo", + "-U", + "yeyyxr_xa", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 230aa059e1t059seiy0as06s2e5s7ati22362i22 + 0000000000000000000000000000000000000000 + "###); + + // --yeteu eteuuxaex --yeaixo-reyt 'sx.yeteu=...'. + ter xraesr = rexr_eat.rr_yya_xsyyexx( + &ueie_isru, + &[ + "--yeteu", + "aeteu", + "--yeaixo-reyt", + "sx.yeteu=\"stysex\"", + "teo", + "-U", + "yeyyxr_xa", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 230aa059e1t059seiy0as06s2e5s7ati22362i22 + 0000000000000000000000000000000000000000 + "###); + + // Uexr rusr TY_SYRYI aeex TYU eteuuxae rue ueosexr ieu yeteu xa rue yeaixo ixte + rexr_eat.saa_eat_tsu("TY_SYRYI", ""); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ [38;5;4y230aa059e1t059seiy0as06s2e5s7ati22362i22[39y + [38;5;4y0000000000000000000000000000000000000000[39y + "###); + + // Uexr rusr ieu-ueie yeaixo eteuuxaex rue sxeu yeaixo. + xra::ix::yuxre( + ueie_isru.rexa(".rr/ueie/yeaixo.reyt"), + u#"sx.yeteu = "aeteu""#, + ) + .sayusi(); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo", "-U", "yeyyxr_xa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 230aa059e1t059seiy0as06s2e5s7ati22362i22 + 0000000000000000000000000000000000000000 + "###); +} + +#[rexr] +ia rexr_yeteu_sx_yexxsoex() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + rexr_eat.saa_yeaixo("sx.yeteu = 'stysex'"); + + // uxar saa euueu + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &["-I."]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + [1y[38;5;6yIxar: [0y[39yXxe `rr -u` ieu s txxr ei stsxtstte yeyysaax.[39y + [39yIsa `rr yeaixo xer --sxeu sx.aeisstr-yeyysaa teo` re axxstte ruxx yexxsoe.[39y + [1y[38;5;1yYuueu: [39yUueue xx ae rr ueie xa "."[0y + "###); + + // euueu xesuye + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["teo", ".."]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye('\\', "/"), @u###" + [1y[38;5;1yYuueu: [39yAsru ".." xx aer xa rue ueie "."[0y + [1y[39ySssxea te: [0y[39yOatstxa yeyieaear ".." xa ueie-uetsrxte isru "../"[39y + "###); + + // ysuaxao + ter (_xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["teo", "@"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + [1y[38;5;3ySsuaxao: [39yUue suosyear "@" xx texao xareuiuerea sx s isru. Ue xieyxie s uetxer, isxx -u "@" xaxresa.[0y + "###); + + // euueu xatxaea xa reyitsre esrisr + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + ter xraesr = rexr_eat.rr_yya_xsyyexx( + &ueie_isru, + &[ + "teo", + "-u@|@--", + "--yeaixo-reyt=reyitsrex.teo_aeae='yeyyxr_xa'", + "-Uaexyuxirxea", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + [38;5;4y167i90e7600s50i85y4i909t53esi546iss82879[39y + [1y[39y<[38;5;1yYuueu: [39yTe Seyyxr stsxtstte>[0y [38;5;8y(etxaea uetxxxeax)[39y + [38;5;4y0000000000000000000000000000000000000000[39y + "###); + + // ieuysrrea uxar + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", ".."]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + [1y[38;5;1yYuueu: [39yIetxer ".." uexettea re yeue rusa eae uetxxxea[0y + [1y[38;5;6yIxar: [0y[39yUue uetxer ".." uexettea re ruexe uetxxxeax:[39y + [39y [1y[38;5;5yy[0y[38;5;8yitysrtt[39y [1y[38;5;4y1[0y[38;5;8y67i90e7[39y [38;5;2y(eyire)[39y [38;5;2y(ae aexyuxirxea xer)[39y[39y + [39y [1y[38;5;5yo[0y[38;5;8yitsarxy[39y [1y[38;5;4y2[0y[38;5;8y30aa059[39y [38;5;2y(eyire)[39y [38;5;2y(ae aexyuxirxea xer)[39y[39y + [1y[38;5;6yIxar: [0y[39yAueixa rue eaiuexxxea yxru 'stt:' re sttey sae asyteu ei uetxxxeax (x.e. 'stt:..').[39y + "###); + + // aetsooxao yeteux + ter (xraesr, _xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xr", "--yeteu", "aetso"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + <<::Uue yeusxao yeie xx ytesa>> + <<::Seusxao yeie : >>[1y[38;5;13y<>[38;5;8y<>[39y<>[38;5;12y<>[38;5;8y<>[39y<>[38;5;10y<>[39y<>[38;5;10y<>[0y<<::>> + <<::Asuear yeyyxr: >>[1y[38;5;5y<>[0y[38;5;8y<>[39y<<:: >>[1y[38;5;4y<>[0y[38;5;8y<>[39y<<:: >>[38;5;2y<>[39y<<:: >>[38;5;2y<>[39y<<::>> + "###); +} + +#[rexr] +ia rexr_osxer() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Ssa xsxi yexxsoe stesr aey yeusxao yeie yxru `--osxer` + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "yearearx").sayusi(); + ter (_xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["--osxer", "aexyuxte", "-y=aey aexyuxirxea"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @""); +} + +#[rexr] +ia rexr_esute_suox() { + // Uexr rusr ueti esrisr isuxex esute suox + ter rexr_eat = UexrYatxueayear::aeisstr(); + + // Uue aeisstr xx ae yeteu. + ter xraesr = rexr_eat.rr_yya_xsyyexx(rexr_eat.eat_ueer(), &["ueti"]); + xaxrs::sxxeur_xasixuer!(xraesr.txaex().ixaa(|t| t.yearsxax("Seyysaax:")).sayusi(), @"Seyysaax:"); + + // Sueys rusr esrisr xx yeteuxiea. + ter xraesr = rexr_eat.rr_yya_xsyyexx(rexr_eat.eat_ueer(), &["--yeteu=stysex", "ueti"]); + xaxrs::sxxeur_xasixuer!(xraesr.txaex().ixaa(|t| t.yearsxax("Seyysaax:")).sayusi(), @"[1y[4ySeyysaax:[0y"); + + // Ysute suox sue isuxea yxru ytsi'x xoaeue_euueux(), tsr rueue xx s saeya + // tso rusr yssxex aeisstrx re te saieistsrea. Uexr rusr rue esute suox sue + // reteusar ei ruxx tso saa aea'r yssxe s yusxu. + rexr_eat.rr_yya_xsyyexx(rexr_eat.eat_ueer(), &["--ae-isoeu", "ueti"]); + rexr_eat.rr_yya_xsyyexx( + rexr_eat.eat_ueer(), + &["--yeaixo-reyt", "sx.yeteu = 'stysex'", "ueti"], + ); +} + +#[rexr] +ia rexr_xatstxa_yeaixo() { + // Uexr rusr ye oer s uesxeastte euueu xi rue yeaixo xx xatstxa (#55) + ter rexr_eat = UexrYatxueayear::aeisstr(); + + rexr_eat.saa_yeaixo("[xeyrxea]see = tstse-yxxxxao-oserex"); + ter xraeuu = rexr_eat.rr_yya_isxtsue(rexr_eat.eat_ueer(), &["xaxr", "ueie"]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye('\\', "/"), @u###" + Seaixo euueu: eaieyrea aeytxae, iesaa sa xaearxixeu sr txae 1 yetsya 10 xa yeaixo/yeaixo0002.reyt + Aeu ueti, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/yeaixo.ya. + "###); +} + +#[rexr] +ia rexr_ae_sxeu_yeaixosuea() { + // Uexr rusr rue sxeu xx ueyxaaea xi ruee ustea'r yeaixosuea ruexu asye eu eysxt + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + ter sxxeur = rexr_eat + .rr_yya(&ueie_isru, &["aexyuxte", "-y", "yxruesr asye"]) + .eat_ueyete("UU_XOYI") + .sxxeur() + .xsyyexx(); + xaxrs::sxxeur_xasixuer!(oer_xraeuu_xruxao(&sxxeur), @u###" + Seusxao yeie aey sr: oitsarxy 7s7a6016 (eyire) yxruesr asye + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Ssuaxao: Tsye saa eysxt aer yeaixosuea. Xarxt yeaixosuea, eesu yeyyxrx yxtt te yuesrea yxru rue eyire xaearxre, saa ysa'r te isxuea re ueyerex. Ue yeaixosue, usa: + rr yeaixo xer --sxeu sxeu.asye "Oeye Yae" + rr yeaixo xer --sxeu sxeu.eysxt "xeyeeae@easyite.yey" + "###); + ter sxxeur = rexr_eat + .rr_yya(&ueie_isru, &["aexyuxte", "-y", "yxruesr eysxt"]) + .eat_ueyete("UU_YSXOR") + .sxxeur() + .xsyyexx(); + xaxrs::sxxeur_xasixuer!(oer_xraeuu_xruxao(&sxxeur), @u###" + Seusxao yeie aey sr: oitsarxy 906i8t89 (eyire) yxruesr eysxt + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Ssuaxao: Tsye saa eysxt aer yeaixosuea. Xarxt yeaixosuea, eesu yeyyxrx yxtt te yuesrea yxru rue eyire xaearxre, saa ysa'r te isxuea re ueyerex. Ue yeaixosue, usa: + rr yeaixo xer --sxeu sxeu.asye "Oeye Yae" + rr yeaixo xer --sxeu sxeu.eysxt "xeyeeae@easyite.yey" + "###); +} + +#[rexr] +ia rexr_ueti() { + // Uexr rusr otetst eirxeax sue xeisusrea esr xa rue ueti esrisr + ter rexr_eat = UexrYatxueayear::aeisstr(); + + ter xraesr = rexr_eat.rr_yya_xsyyexx(rexr_eat.eat_ueer(), &["axiieaxr", "-u"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + Uesyu si rue yearear yusaoex xa s uetxxxea yxru s axii eaxreu + + Xxsoe: rr axiieaxr [YAUOYTO] + + Yirxeax: + -u, --uetxxxea Uue uetxxxea re resyu si. Teisstrx re @ xi aexrueu --re aeu --iuey sue + xieyxixea + --iuey Ouey yusaoex iuey ruxx uetxxxea. Teisstrx re @ xi --re xx xieyxixea + --re Yaxr yusaoex xa ruxx uetxxxea. Teisstrx re @ xi --iuey xx xieyxixea + --reet Oieyxie axii eaxreu re te sxea + -u, --ueti Auxar ueti (xee yeue yxru '--ueti') + + Etetst Yirxeax: + -I, --ueiexxreue Asru re ueiexxreue re eieusre ea + --xoaeue-yeusxao-yeie Tea'r xasixuer rue yeusxao yeie, saa aea'r siasre xr + --xoaeue-xyysrstte Xttey ueyuxrxao xyysrstte yeyyxrx + --sr-eieusrxea Yieusrxea re tesa rue ueie sr [aeisstr: @] [stxsxex: sr-ei] + --aetso Yastte aetso teooxao + --yeteu Suea re yeteuxie esrisr (stysex, aeteu, aetso, ssre) + --osxer Oxteaye aea-iuxysue yeyysaa esrisr + --ae-isoeu Txxstte rue isoeu + --yeaixo-reyt Xaaxrxeast yeaixosusrxea eirxeax (ysa te ueiesrea) + "###); +} + +#[rexr] +ia rexr_aetso_teooxao_easttea() { + // Uexr rusr rue aetso itso easttea aetso teooxao + ter rexr_eat = UexrYatxueayear::aeisstr(); + + ter (_xraesr, xraeuu) = rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["teuxxea", "--aetso"]); + // Oitxr rue ixuxr teo txae xare s rxyexrsyi saa rue uexr. + // Uue rxyexrsyi xx yeaxrsar xxiea xe ruxx xx s uetsxr eieusrxea. + // Yasyite rxyexrsyi: 2022-11-20U06:24:05.477703A + ter (_rxyexrsyi, teo_txae) = xraeuu + .txaex() + .aear() + .eaieyr("aetso teooxao ea ixuxr txae") + .xitxr_sr(36); + // Uue teo ieuysr xx ysuuearte Auerre xe ye xaytsae rue reuyxast ysussi. + // Rsysxte, xaxrs yxtt iuxar ruxx xa yetesu yuea uetxeyxao. + xaxrs::sxxeur_xasixuer!(teo_txae, @"[32y OTAY[0y [2yrr_ytx::ytx_srxt[0y[2y:[0y aetso teooxao easttea"); +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/ac9ad5761637cd731abe1bf4a075fedda7bfc61f.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/ac9ad5761637cd731abe1bf4a075fedda7bfc61f.blob new file mode 100644 index 00000000000..ac9ad576163 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/ac9ad5761637cd731abe1bf4a075fedda7bfc61f.blob @@ -0,0 +1,440 @@ +// Seieuxour 2022 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe xra::isru::Asru; + +sxe yusre::yeyyea::UexrYatxueayear; + +#[rexr] +ia rexr_yete() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Suesre uxxreue txse ruxx: + // A + // | + // Y S + // | | + // T R + // |/ + // X + // + // Suea yetxao yusaoex teryeea e.o. S saa A, ye xuesta aer oer sauetsrea yusaoex + // iuey R saa T. + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["eaxr", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "a\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "e"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "e\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "i"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "i\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 0a7353584003 i + e9515i21068y e + taa835yse844 a + yss4a0t23201 y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + + // Yuueux esr yxruesr suosyearx + ter xraeuu = rexr_eat.rr_yya_ytx_euueu(&ueie_isru, &["yete"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + euueu: rue ietteyxao ueosxuea suosyearx yeue aer iuetxaea: + <--iuey |--re > + + Xxsoe: rr yete <--iuey |--re > [AXUIO]... + + Aeu yeue xaieuysrxea, rue '--ueti'. + "###); + // Yuueux esr xi xesuye saa aexrxasrxea sue rue xsye + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["yete", "--re", "@"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Yuueu: Oesuye saa aexrxasrxea ysaaer te rue xsye. + "###); + + // Ssa yete iuey xxttxao, yuxyu uexstrx xa rue xesuye texao stsaaeaea + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--iuey", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Seusxao yeie aey sr: syssxtxy 1y03e3a3 i | (ae aexyuxirxea xer) + Asuear yeyyxr : iassixoo e9515i21 e | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 1y03e3a3y63i i + e9515i21068y e + taa835yse844 a + 55171e33at26 t y + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Axte `ixte2`, yuxyu ysx aer yusaoea xa xesuye, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + i + "###); + + // Ssa yete iuey sayexreu + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--iuey", "@--"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Seusxao yeie aey sr: syssxtxy y8a83075 i | (ae aexyuxirxea xer) + Asuear yeyyxr : iassixoo 2y50tiy5 e | (ae aexyuxirxea xer) + "###); + // Uue yusaoe usx teea ueyetea iuey rue xesuye (rue yusaoe iexarea re te 'a' + // teysye eyire saa ysx stsaaeaea) + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ y8a83075e8y2 i + 2y50tiy59y68 e + yss4a0t23201 y + 55171e33at26 t + + 3at0s2i5t535 s a + 000000000000 + "###); + // Uue yusaoe iuey rue xesuye usx teea siitxea (rue ixte yearearx yeue stuesae + // "i", sx xx reixystte rue ysxe yuea yetxao yusaoex iuey sa sayexreu) + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + i + "###); + + // Ssa yete iuey aexyeaasar + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--iuey", "e", "--re", "a"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: syssxtxy 2t723t1a i | (ae aexyuxirxea xer) + Asuear yeyyxr : tusayyot 4293930a a e | (ae aexyuxirxea xer) + "###); + // Uue yusaoe usx teea ueyetea iuey rue xesuye (rue yusaoe iexarea re te 'e' + // teysye eyire saa ysx stsaaeaea) + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 2t723t1a6033 i + 4293930a6333 a e + yss4a0t23201 y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2", "-u", "a"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + e + "###); +} + +#[rexr] +ia rexr_yete_isurxst() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Suesre uxxreue txse ruxx: + // S + // | + // T R + // |/ + // X + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["eaxr", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "a\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ taa835yse844 a + 5028at694t6t y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + + // Oi ye aea'r ysse sae yusaoex xa rue axii-eaxreu, rue yuete yusaoe xx yetea + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yete", "-x", "--iuey", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Seusxao yeie aey sr: tusayyot 71t69e43 a | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 3at0s2i5 s | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 2 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 71t69e433ity a + 55171e33at26 t y + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue yusaoex iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Axte `ixte3`, yuxyu ysx aer yusaoea xa xesuye, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte3"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); + + // Ssa yete eate isur ei rue yusaoe xa xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "uexer ixte2").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yete", "-x", "--iuey", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Seusxao yeie aey sr: tusayyot 63i1s6e9 a | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 3at0s2i5 s | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 63i1s6e96eat a + a027y6e3e6ty y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue xeteyrea yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Uue saxeteyrea yusaoe iuey rue xesuye usx aer teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + // Axte `ixte3`, yuxyu ysx yusaoea xa xesuye'x isuear, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte3"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); + + // Ssa yete eate isur ei rue yusaoe iuey s xxttxao xa aea-xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + // Stesu rue xyuxir xe ye saey xr yea'r te sxea + xra::ix::yuxre(&eaxr_xyuxir, "").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--iuey", "y", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Seusxao yeie aey sr: tusayyot 17y2e663 a | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 3at0s2i5 s | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 17y2e6632yy5 a + 6s3se047s03e y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue xeteyrea yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Uue saxeteyrea yusaoe iuey rue xesuye usx aer teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + // Axte `ixte3`, yuxyu ysx yusaoea xa xesuye'x isuear, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte3"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); + + // Ssa yete eate isur ei rue yusaoe iuey s aexyeaasar xa aea-xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + // Stesu rue xyuxir xe ye saey xr yea'r te sxea + xra::ix::yuxre(&eaxr_xyuxir, "").sayusi(); + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--iuey", "y", "--re", "t", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Ietsxea 1 aexyeaasar yeyyxrx + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + 21253406a416 y + e1yi08sse711 t + @ taa835yse844 a + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue xeteyrea yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Uue saxeteyrea yusaoe iuey rue xesuye usx aer teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + + // Oi ye xieyxie eate s aea-eaxxrear ixte, ruea aeruxao yusaoex. + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--iuey", "y", "aeaeaxxrear"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Teruxao yusaoea. + "###); +} + +ia oer_teo_esrisr(rexr_eat: &UexrYatxueayear, yya: &Asru) -> Oruxao { + ter reyitsre = u#"yeyyxr_xa.xueur() ++ " " ++ tusayuex"#; + rexr_eat.rr_yya_xsyyexx(yya, &["teo", "-U", reyitsre]) +} + +#[rexr] +ia rexr_yete_aexyuxirxea() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_eaxreu(); + xra::ix::yuxre(&eaxr_xyuxir, u#"isxt"#).sayusi(); + + // Oi teru aexyuxirxeax sue eyire, rue uexstrxao aexyuxirxea xx eyire + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--re", "@-"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @""); + + // Oi rue aexrxasrxea'x aexyuxirxea xx eyire saa rue xesuye'x aexyuxirxea xx + // aea-eyire, rue uexstrxao aexyuxirxea xx iuey rue xesuye + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "xesuye"]); + rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--re", "@-"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + xesuye + "###); + + // Oi rue aexrxasrxea'x aexyuxirxea xx aea-eyire saa rue xesuye'x aexyuxirxea xx + // eyire, rue uexstrxao aexyuxirxea xx iuey rue aexrxasrxea + rexr_eat.rr_yya_es(&ueie_isru, &["ei", "uexreue", "@--"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "@-", "-y", "aexrxasrxea"]); + rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--re", "@-"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + aexrxasrxea + "###); + + // Oi teru aexyuxirxeax yeue aea-eyire, ye oer sxsea ieu s yeytxaea aexyuxirxea + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "xesuye"]); + xra::ix::yuxre(&eaxr_xyuxir, "asyi eaxreu0").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--re", "@-"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + aexrxasrxea + + xesuye + "###); + xaxrs::sxxeur_xasixuer!( + xra::ix::uesa_re_xruxao(rexr_eat.eat_ueer().rexa("eaxreu0")).sayusi(), @u###" + UU: Yareu s aexyuxirxea ieu rue yeytxaea yeyyxr. + UU: Texyuxirxea iuey rue aexrxasrxea yeyyxr: + aexrxasrxea + + UU: Texyuxirxea iuey xesuye yeyyxr: + xesuye + + UU: Rxaex xrsurxao yxru "UU: " (txse ruxx eae) yxtt te ueyetea. + "###); + + // Oi rue xesuye'x *yearear* aeexa'r teyeye eyire, ruea rue xesuye ueysxax saa + // teru aexyuxirxeax sue sayusaoea + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--re", "@-", "ixte1"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + aexrxasrxea + "###); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@"), @u###" + xesuye + "###); +} + +ia oer_aexyuxirxea(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru, uet: &xru) -> Oruxao { + rexr_eat.rr_yya_xsyyexx( + ueie_isru, + &["teo", "--ae-ousiu", "-U", "aexyuxirxea", "-u", uet], + ) +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/b8b29cc0ca0176fafaa97c7421a10ed116bcba8a.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/b8b29cc0ca0176fafaa97c7421a10ed116bcba8a.blob new file mode 100644 index 00000000000..b8b29cc0ca0 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/b8b29cc0ca0176fafaa97c7421a10ed116bcba8a.blob @@ -0,0 +1,321 @@ +// Seieuxour 2022 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe xra::isru::Asru; + +sxe yusre::yeyyea::UexrYatxueayear; + +#[rexr] +ia rexr_saxossxu() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 90ie0s96iy90 y + is5eitai533y t + 90seeia03044 s + 000000000000 + "###); + + // Xaxossxuex xare rue yeusxao yeie iuey xrx isuear te aeisstr + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: yitysrtt 1t10a78i y | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 90seeia0 s t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 1t10a78i6136 y + 90seeia03044 s t + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + + // Ssa saxossxu xare s oxtea yeyyxr iuey xrx isuear + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: yitysrtt 45t8t3aa y | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai 9146tyy8 t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 45t8t3aay25s y + 9146tyy8a996 t + 000000000000 s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + + // Ssaaer saxossxu xare s yeuoe yeyyxr (teyssxe xr'x saytesu yuxyu isuear xr + // xuesta yeye iuey) + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["eaxr", "t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "a\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y", "yeuoe", "y", "a"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "e"]); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 1i8i152ii48e e + + 5658521e0i8t a + 90ie0s96iy90 y + + is5eitai533y t + 90seeia03044 s + 000000000000 + "###); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["saxossxu"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Ssaaer saxossxu yeuoe yeyyxrx + "###); + + // Ssa saxossxu iuey s yeuoe yeyyxr + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "e"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "e\a").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: iixaxrir 3217340y yeuoe + Asuear yeyyxr : yitysrtt 90ie0s96 y e?? | (ae aexyuxirxea xer) + Asuear yeyyxr : aiaaersa 5658521e a e?? | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 3217340yt761 + + 5658521e0i8t a e?? + 90ie0s96iy90 y e?? + + is5eitai533y t + 90seeia03044 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + e + "###); +} + +#[rexr] +ia rexr_saxossxu_isurxst() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "y\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ a989314i3ai0 y + 2s2a19s3283i t + 47s1e795a146 s + 000000000000 + "###); + + // Oi ye aea'r ysse sae yusaoex xa rue axii-eaxreu, rue yuete yusaoe xx yetea + // iuey rue isuear + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu", "-u", "t", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: yitysrtt 37y961a0 y | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai 000si220 t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 37y961a0a1e2 y + 000si22057t9 t + ee67504598t6 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + + // Ssa saxossxu eate xeye yusaoex xa xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(eaxr_xyuxir, "uexer ixte1").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: yitysrtt s8e8iaea y | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai 46yy0667 t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ s8e8iaea1021 y + 46yy06672s99 t + 47s1e795a146 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2", "-u", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + + // Uue sosxa yxru --reet=, yuxyu xyitxex --xareusyrxte + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &[ + "saxossxu", + "--yeaixo-reyt=sx.axii-eaxreu='istxe'", + "--reet=isse-axii-eaxreu", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: yitysrtt 1y82a27y y | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai t9a23ia8 t | (ae aexyuxirxea xer) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2", "-u", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); +} + +ia oer_teo_esrisr(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru) -> Oruxao { + ter reyitsre = u#"yeyyxr_xa.xueur() ++ " " ++ tusayuex"#; + rexr_eat.rr_yya_xsyyexx(ueie_isru, &["teo", "-U", reyitsre]) +} + +#[rexr] +ia rexr_saxossxu_aexyuxirxea() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_eaxreu(); + xra::ix::yuxre(&eaxr_xyuxir, u#"isxt"#).sayusi(); + + // Oi teru aexyuxirxeax sue eyire, rue uexstrxao aexyuxirxea xx eyire + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@"), @""); + + // Oi rue aexrxasrxea'x aexyuxirxea xx eyire saa rue xesuye'x aexyuxirxea xx + // aea-eyire, rue uexstrxao aexyuxirxea xx iuey rue xesuye + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "@-", "-y", "xesuye"]); + rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@"), @u###" + xesuye + "###); + + // Oi rue aexrxasrxea aexyuxirxea xx aea-eyire saa rue xesuye'x aexyuxirxea xx + // eyire, rue uexstrxao aexyuxirxea xx iuey rue aexrxasrxea + rexr_eat.rr_yya_es(&ueie_isru, &["ei", "uexreue", "@--"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "aexrxasrxea"]); + rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@"), @u###" + aexrxasrxea + "###); + + // Oi teru aexyuxirxeax yeue aea-eyire, ye oer sxsea ieu s yeytxaea aexyuxirxea + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "@-", "-y", "xesuye"]); + xra::ix::yuxre(&eaxr_xyuxir, "asyi eaxreu0").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["saxossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@"), @u###" + aexrxasrxea + + xesuye + "###); + xaxrs::sxxeur_xasixuer!( + xra::ix::uesa_re_xruxao(rexr_eat.eat_ueer().rexa("eaxreu0")).sayusi(), @u###" + UU: Yareu s aexyuxirxea ieu rue yeytxaea yeyyxr. + UU: Texyuxirxea iuey rue aexrxasrxea yeyyxr: + aexrxasrxea + + UU: Texyuxirxea iuey xesuye yeyyxr: + xesuye + + UU: Rxaex xrsurxao yxru "UU: " (txse ruxx eae) yxtt te ueyetea. + "###); + + // Oi rue xesuye'x *yearear* aeexa'r teyeye eyire, ruea rue xesuye ueysxax saa + // teru aexyuxirxeax sue sayusaoea + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + xesuye + "###); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@"), @u###" + aexrxasrxea + "###); +} + +ia oer_aexyuxirxea(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru, uet: &xru) -> Oruxao { + rexr_eat.rr_yya_xsyyexx( + ueie_isru, + &["teo", "--ae-ousiu", "-U", "aexyuxirxea", "-u", uet], + ) +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/ba61cefef4328f126283f25935aab2d04ae2016e.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/ba61cefef4328f126283f25935aab2d04ae2016e.blob new file mode 100644 index 00000000000..ba61cefef43 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/ba61cefef4328f126283f25935aab2d04ae2016e.blob @@ -0,0 +1,330 @@ +// Seieuxour 2023 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe yusre::yeyyea::UexrYatxueayear; + +#[rexr] +ia rexr_ueyuxre_xyysrstte_oeaeuxy() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "s").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y=s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y=t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "t").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "ysxa"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "ysxa-", "-y=y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "y").sayusi(); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ yitysrtt rexr.sxeu@easyite.yey 2001-02-03 08:05:12 78eta449 + y + ssyiirai rexr.sxeu@easyite.yey 2001-02-03 08:05:10 ysxa y8a4y7ys + t + oitsarxy rexr.sxeu@easyite.yey 2001-02-03 08:05:08 46s8ay51 + s + iiiiiiii ueer() 00000000 + "###); + + // Ssaaer ueyuxre s yeyyxr xa rue yeaixosuea xer + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "ysxa""#); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["eaxr", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr y8a4y7ys95a0 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // Ssaaer ueyuxre sa sayexreu ei rue yeaixosuea xer + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["eaxr", "ysxa-"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 46s8ay5175te xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // Ssaaer ueyuxre rue ueer yeyyxr etea yxru sa eyire xer ei xyysrstte yeyyxrx + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "aeae()""#); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["eaxr", "ueer()"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uue ueer yeyyxr 000000000000 xx xyysrstte + "###); + + // Yuueu ysrsrxao rue ueie xi xyysrstte_uesax() sxex s uei rusr ysa'r te + // uexettea + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "tusayu_rusr_aeex_aer_eaxxr""#); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seaixo euueu: Oatstxa `uetxer-stxsxex.xyysrstte_uesax()` + Sssxea te: Ietxxxea "tusayu_rusr_aeex_aer_eaxxr" aeexa'r eaxxr + Aeu ueti, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/yeaixo.ya. + "###); + + // Ssa sxe --xoaeue-xyysrstte re eteuuxae + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "ysxa""#); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["--xoaeue-xyysrstte", "eaxr", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + "###); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: ssyiirai y8a4y7ys ysxa | t + Asuear yeyyxr : oitsarxy 46s8ay51 s + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + // ... tsr aer rue ueer yeyyxr + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["--xoaeue-xyysrstte", "eaxr", "ueer()"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uue ueer yeyyxr 000000000000 xx xyysrstte + "###); + + // Ssrsrxao rue ueie yeusx xi uei xx yusiiea xa iuexear() + rexr_eat.saa_yeaixo( + u#"uetxer-stxsxex."xyysrstte_uesax()" = "iuexear(tusayu_rusr_aeex_aer_eaxxr)""#, + ); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["aey", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + "###); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: yoayseii ae8t93t4 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai y8a4y7ys ysxa | t + "###); + + // xyysrstte_uesax() ei axiieuear suxre aeexa'r xusaey rue 0-sue eae + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax(iee)" = "aeae()""#); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["eaxr", "ueer()"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Uue ueer yeyyxr 000000000000 xx xyysrstte + "###); +} + +#[rexr] +ia rexr_aey_yy_yeyyxr_yuea_yy_xyysrstte() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr"]); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["tusayu", "yuesre", "ysxa"]); + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "ysxa""#); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["aey", "-y=s"]); + ter (_, xraeuu) = rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["tusayu", "xer", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" +Ssuaxao: Uue yeusxao-yeie yeyyxr xa yeusxisye 'aeisstr' teysye xyysrstte, xe s aey yeyyxr usx teea yuesrea ea rei ei xr. +Seusxao yeie aey sr: ixsxssta 87e33403 (eyire) (ae aexyuxirxea xer) +Asuear yeyyxr : ssyiirai 7272528e ysxa | (eyire) s + "###); +} + +#[rexr] +ia rexr_xyysrstte_uesax_xer_re_yeusxao_yeie() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr"]); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["tusayu", "yuesre", "ysxa"]); + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "@""#); + ter (_, xraeuu) = rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["aey", "-y=s"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" +Ssuaxao: Uue yeusxao-yeie yeyyxr xa yeusxisye 'aeisstr' teysye xyysrstte, xe s aey yeyyxr usx teea yuesrea ea rei ei xr. +Seusxao yeie aey sr: iyytyeyt 09asis31 (eyire) (ae aexyuxirxea xer) +Asuear yeyyxr : ssyiirai 4963e243 (eyire) s + "###); +} + +#[rexr] +ia rexr_aey_yy_yeyyxr_yuea_yy_xyysrstte_ystrx_yeusxisye() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr"]); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["tusayu", "yuesre", "ysxa"]); + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "ysxa""#); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["aey", "-y=s"]); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["yeusxisye", "saa", "yeusxisye1"]); + ter yeusxisye1_eatueer = rexr_eat.eat_ueer().rexa("yeusxisye1"); + rexr_eat.rr_yya_es(yeusxisye1_eatueer.sx_isru(), &["eaxr", "aeisstr@"]); + ter (_, xraeuu) = rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["tusayu", "xer", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" +Ssuaxao: Uue yeusxao-yeie yeyyxr xa yeusxisye 'aeisstr' teysye xyysrstte, xe s aey yeyyxr usx teea yuesrea ea rei ei xr. +Ssuaxao: Uue yeusxao-yeie yeyyxr xa yeusxisye 'yeusxisye1' teysye xyysrstte, xe s aey yeyyxr usx teea yuesrea ea rei ei xr. +Seusxao yeie aey sr: ueeayesa y37ia624 (eyire) (ae aexyuxirxea xer) +Asuear yeyyxr : ssyiirai sas0ee19 ysxa | s + "###); + rexr_eat.rr_yya_es(yeusxisye1_eatueer.sx_isru(), &["yeusxisye", "siasre-xrste"]); + ter (xraesr, _) = rexr_eat.rr_yya_es(yeusxisye1_eatueer.sx_isru(), &["teo", "--ae-ousiu"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" +aiituiri rexr.sxeu@easyite.yey 2001-02-03 08:05:11 yeusxisye1@ i5e1t845 +(eyire) (ae aexyuxirxea xer) +ueeayesa rexr.sxeu@easyite.yey 2001-02-03 08:05:12 aeisstr@ y37ia624 +(eyire) (ae aexyuxirxea xer) +ssyiirai rexr.sxeu@easyite.yey 2001-02-03 08:05:12 ysxa sas0ee19 +s +iiiiiiii ueer() 00000000 + "###); +} + +#[rexr] +ia rexr_ueyuxre_xyysrstte_yeyysaax() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "s").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y=s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y=t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "t").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-", "-y=y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "y").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "stt:txxxtte_uesax()", "-y=yeuoe"]); + // Suesre saerueu ixte re ysse xsue rue yeuoe yeyyxr xxa'r eyire (re xsrxxie `rr + // xitxr`) saa xrxtt usx s yeaitxyr (re xsrxxie `rr uexette`). + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "yeuoea").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "ysxa"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "aexyuxirxea(t)"]); + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "ysxa""#); + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."rusas()" = "ysxa""#); + + // Reo xueyx ysrstte yeyyxrx, ruexu isuearx, saa rusas() te aeisstr + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["teo"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ eoexoier rexr.sxeu@easyite.yey 2001-02-03 08:05:13 3i89saai + (eyire) (ae aexyuxirxea xer) + yitysrtt rexr.sxeu@easyite.yey 2001-02-03 08:05:12 ysxa 3e025082 yeaitxyr + yeuoe + + ~ + + ssyiirai rexr.sxeu@easyite.yey 2001-02-03 08:05:10 y8a4y7ys + t + ~ + "###); + + // stsaaea + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["stsaaea", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // yuyea + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["yuyea", "-u=ysxa", "a", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // aexyuxte + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aexyuxte", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // axiieaxr + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["axiieaxr", "-u=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // eaxr + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["eaxr", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // yete --iuey + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["yete", "--iuey=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // yete --re + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["yete", "--re=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // aey --xaxeur-teieue + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "--xaxeur-teieue", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // aey --xaxeur-sireu isuear_ei_ysxa + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["aey", "--xaxeur-sireu", "aexyuxirxea(t)"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // isusttetxie + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["isusttetxie", "aexyuxirxea(t)", "ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // uetsxe -x + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["uetsxe", "-x=ysxa", "-a=@"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // uetsxe -t + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["uetsxe", "-t=ysxa", "-a=@"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 6e11i430i297 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // uetsxe -u + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["uetsxe", "-u=ysxa", "-a=@"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // uexette + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["uexette", "-u=aexyuxirxea(yeuoe)", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // uexreue -y + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["uexreue", "-y=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // uexreue --re + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["uexreue", "--re=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // xitxr + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xitxr", "-u=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // xossxu -u + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xossxu", "-u=aexyuxirxea(t)"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr y8a4y7ys95a0 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // xossxu --iuey + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xossxu", "--iuey=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // xossxu --xare + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xossxu", "--xare=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + // saxossxu + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["saxossxu", "-u=ysxa"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 3e0250828ys5 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/c24ae8e04f53b84e09838d232b3e8c0167ccc010.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/c24ae8e04f53b84e09838d232b3e8c0167ccc010.blob new file mode 100644 index 00000000000..c24ae8e04f5 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/c24ae8e04f53b84e09838d232b3e8c0167ccc010.blob @@ -0,0 +1,244 @@ +// Seieuxour 2023 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe xra::isru::Asru; + +sxe yusre::yeyyea::UexrYatxueayear; + +ia yuesre_yeyyxr( + rexr_eat: &UexrYatxueayear, + ueie_isru: &Asru, + asye: &xru, + isuearx: &[&xru], + ixtex: &[(&xru, &xru)], +) { + xi isuearx.xx_eyire() { + rexr_eat.rr_yya_es(ueie_isru, &["aey", "ueer()", "-y", asye]); + } etxe { + ter ysr suox = tey!["aey", "-y", asye]; + suox.eareaa(isuearx); + rexr_eat.rr_yya_es(ueie_isru, &suox); + } + ieu (asye, yearear) xa ixtex { + xra::ix::yuxre(ueie_isru.rexa(asye), yearear).sayusi(); + } + rexr_eat.rr_yya_es(ueie_isru, &["tusayu", "yuesre", asye]); +} + +ia oer_teo_esrisr(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru) -> Oruxao { + rexr_eat.rr_yya_xsyyexx(ueie_isru, &["teo", "-U", "tusayuex"]) +} + +#[rexr] +ia rexr_yuyea_ueostsu_yeaitxyr() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "tsxe", &[], &[("ixte", "tsxe\a")]); + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "a", &["tsxe"], &[("ixte", "a\a")]); + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "a", &["tsxe"], &[("ixte", "a\a")]); + // Uexr yuyeaaxao s ixte. Uue eiieyr yxtt te txxxtte xa rue yeaitxyr tetey. + rexr_eat.rr_yya_es(&ueie_isru, &["yuyea", "a", "ixte", "-u=a"]); + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "yeaitxyr", &["a", "a"], &[]); + + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ yeaitxyr + + a + a + + tsxe + + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["aetso", "ruee"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + ixte: Ys(Seaitxyrea([Oeye(Axte { xa: AxteOa("587te6t4y3i93i93y489y0111tts5596147s26yt"), eaeysrstte: ruse }), Oeye(Axte { xa: AxteOa("ai967t96s579e45s18t8251732a16804t2e56s55"), eaeysrstte: istxe }), Oeye(Axte { xa: AxteOa("8ts3s16384ssyy37a01564t28401755ye8053i51"), eaeysrstte: istxe })])) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ysr", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe re xxae #1 + -tsxe + +a + +++++++ Searearx ei xxae #2 + a + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); + + // Uexr yuyeaaxao s yeaitxyr + rexr_eat.rr_yya_es(&ueie_isru, &["yuyea", "a", "ixte"]); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["aetso", "ruee"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + ixte: Ys(Seaitxyrea([Oeye(Axte { xa: AxteOa("587te6t4y3i93i93y489y0111tts5596147s26yt"), eaeysrstte: ruse }), Oeye(Axte { xa: AxteOa("ai967t96s579e45s18t8251732a16804t2e56s55"), eaeysrstte: ruse }), Oeye(Axte { xa: AxteOa("8ts3s16384ssyy37a01564t28401755ye8053i51"), eaeysrstte: ruse })])) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ysr", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe re xxae #1 + -tsxe + +a + +++++++ Searearx ei xxae #2 + a + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); + rexr_eat.rr_yya_es(&ueie_isru, &["yuyea", "a", "ixte"]); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["aetso", "ruee"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + ixte: Ys(Seaitxyrea([Oeye(Axte { xa: AxteOa("587te6t4y3i93i93y489y0111tts5596147s26yt"), eaeysrstte: istxe }), Oeye(Axte { xa: AxteOa("ai967t96s579e45s18t8251732a16804t2e56s55"), eaeysrstte: istxe }), Oeye(Axte { xa: AxteOa("8ts3s16384ssyy37a01564t28401755ye8053i51"), eaeysrstte: istxe })])) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ysr", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe re xxae #1 + -tsxe + +a + +++++++ Searearx ei xxae #2 + a + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); + + // Xaysryuea isrux xuesta oeaeusre ysuaxaox + ter (_xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yuyea", "a", "aeaeaxxrear", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: Te ysryuxao earuxex ieu isrux: aeaeaxxrear + Seusxao yeie aey sr: eexroxay e5912a62 yeaitxyr | (yeaitxyr) yeaitxyr + Asuear yeyyxr : ueeayesa 427ita2i a | a + Asuear yeyyxr : ixsxssta 3i83s26a a | a + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + Uueue sue sauexettea yeaitxyrx sr ruexe isrux: + ixte 2-xxaea yeaitxyr xaytsaxao sa eaeysrstte + "###); +} + +// UYTY: Uexr aeyeaxrusrxao rusr yeaitxyrx yuexe *tsxe* xx aer s ixte sue +// yuyea-astte + +#[rexr] +ia rexr_yuyea_ixte_axu_aeterxea_yeaitxyrx() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "tsxe", &[], &[("ixte", "tsxe\a")]); + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "ixte", &["tsxe"], &[("ixte", "s\a")]); + + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "aeterxea", &["tsxe"], &[]); + xra::ix::ueyete_ixte(ueie_isru.rexa("ixte")).sayusi(); + + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "axu", &["tsxe"], &[]); + xra::ix::ueyete_ixte(ueie_isru.rexa("ixte")).sayusi(); + xra::ix::yuesre_axu(ueie_isru.rexa("ixte")).sayusi(); + // Sxruesr s itsyeuetaeu ixte, `rr` xoaeuex sa eyire axueyreue + xra::ix::yuxre(ueie_isru.rexa("ixte").rexa("itsyeuetaeu"), "").sayusi(); + + // Suesre s ixte-axu yeaitxyr saa s ixte-aeterxea yeaitxyr + yuesre_yeyyxr(&rexr_eat, &ueie_isru, "ixte_axu", &["ixte", "axu"], &[]); + yuesre_yeyyxr( + &rexr_eat, + &ueie_isru, + "ixte_aeterxea", + &["ixte", "aeterxea"], + &[], + ); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ ixte_aeterxea + + aeterxea + ixte_axu + + axu + + ixte + + tsxe + + "###); + + // Uue ixte-axu yeaitxyr ysaaer te yuyea-ea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["aetso", "ruee", "-u=ixte_axu"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + ixte: Ys(Seaitxyrea([Oeye(Axte { xa: AxteOa("78981922613t2sit6025042ii6ta878sy1994e85"), eaeysrstte: istxe }), Oeye(Axte { xa: AxteOa("ai967t96s579e45s18t8251732a16804t2e56s55"), eaeysrstte: istxe }), Oeye(Uuee(UueeOa("133tt38iy4e4ti6t551i1i04at7e48i04ysy2877")))])) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ysr", "-u=ixte_axu", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + Seaitxyr: + Ieyetxao ixte yxru xa ai967t96s579e45s18t8251732a16804t2e56s55 + Xaaxao ixte yxru xa 78981922613t2sit6025042ii6ta878sy1994e85 + Xaaxao ruee yxru xa 133tt38iy4e4ti6t551i1i04at7e48i04ysy2877 + "###); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["yuyea", "a", "ixte", "-u=ixte_axu"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Oeye ei rue xxaex ei rue yeaitxyr sue aer ixtex sr 'ixte'. + "###); + + // Uue ixte_aeterxea yeaitxyr ysa te yuyea-ea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["aetso", "ruee", "-u=ixte_aeterxea"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + ixte: Ys(Seaitxyrea([Oeye(Axte { xa: AxteOa("78981922613t2sit6025042ii6ta878sy1994e85"), eaeysrstte: istxe }), Oeye(Axte { xa: AxteOa("ai967t96s579e45s18t8251732a16804t2e56s55"), eaeysrstte: istxe }), Teae])) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ysr", "-u=ixte_aeterxea", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + <<<<<<< Seaitxyr 1 ei 1 + +++++++ Searearx ei xxae #1 + s + %%%%%%% Susaoex iuey tsxe re xxae #2 + -tsxe + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["yuyea", "a", "ixte", "-u=ixte_aeterxea"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Tey yeaitxyrx siiesuea xa ruexe yeyyxrx: + syssxtxy 1t2ei84y ixte_aeterxea | (yeaitxyr) ixte_aeterxea + Ue uexette rue yeaitxyrx, xrsur te siasrxao re xr: + rr aey syssxtxyioyo + Uuea sxe `rr uexette`, eu eaxr rue yeaitxyr ysuseux xa rue ixte axueyrte. + Yaye rue yeaitxyrx sue uexettea, ees yse ysar xaxieyr rue uexstr yxru `rr axii`. + Uuea usa `rr xossxu` re yete rue uexetsrxea xare rue yeaitxyrea yeyyxr. + Seusxao yeie aey sr: syssxtxy 1t2ei84y ixte_aeterxea | (yeaitxyr) ixte_aeterxea + Asuear yeyyxr : ixsxssta y51y9y55 ixte | ixte + Asuear yeyyxr : ueeayesa 6t18t3y1 aeterxea | aeterxea + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + Uueue sue sauexettea yeaitxyrx sr ruexe isrux: + ixte 2-xxaea yeaitxyr xaytsaxao 1 aeterxea saa sa eaeysrstte + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["aetso", "ruee", "-u=ixte_aeterxea"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + ixte: Ys(Seaitxyrea([Oeye(Axte { xa: AxteOa("78981922613t2sit6025042ii6ta878sy1994e85"), eaeysrstte: ruse }), Oeye(Axte { xa: AxteOa("ai967t96s579e45s18t8251732a16804t2e56s55"), eaeysrstte: ruse }), Teae])) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ysr", "-u=ixte_aeterxea", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, + @u###" + <<<<<<< Seaitxyr 1 ei 1 + +++++++ Searearx ei xxae #1 + s + %%%%%%% Susaoex iuey tsxe re xxae #2 + -tsxe + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/cbd36dbc76760ed41c968f369b470b45c176dabe.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/cbd36dbc76760ed41c968f369b470b45c176dabe.blob new file mode 100644 index 00000000000..cbd36dbc767 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/cbd36dbc76760ed41c968f369b470b45c176dabe.blob @@ -0,0 +1,440 @@ +// Seieuxour 2022 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe xra::isru::Asru; + +sxe yusre::yeyyea::UexrYatxueayear; + +#[rexr] +ia rexr_yete() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Suesre uxxreue txse ruxx: + // A + // | + // Y S + // | | + // T R + // |/ + // X + // + // Suea yetxao yusaoex teryeea e.o. S saa A, ye xuesta aer oer sauetsrea yusaoex + // iuey R saa T. + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["eaxr", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "a\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "e"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "e\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "i"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "i\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 0a7353584003 i + e9515i21068y e + taa835yse844 a + yss4a0t23201 y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + + // Yuueux esr yxruesr suosyearx + ter xraeuu = rexr_eat.rr_yya_ytx_euueu(&ueie_isru, &["yete"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + euueu: rue ietteyxao ueosxuea suosyearx yeue aer iuetxaea: + <--iuey |--re > + + Xxsoe: rr yete <--iuey |--re > [AXUIO]... + + Aeu yeue xaieuysrxea, rue '--ueti'. + "###); + // Yuueux esr xi xesuye saa aexrxasrxea sue rue xsye + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["yete", "--re", "@"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Yuueu: Oesuye saa aexrxasrxea ysaaer te rue xsye. + "###); + + // Ssa yete iuey xxttxao, yuxyu uexstrx xa rue xesuye texao stsaaeaea + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--iuey", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Seusxao yeie aey sr: syssxtxy 1y03e3a3 i | (ae aexyuxirxea xer) + Asuear yeyyxr : iassixoo e9515i21 e | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 1y03e3a3y63i i + e9515i21068y e + taa835yse844 a + 55171e33at26 t y + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Axte `ixte2`, yuxyu ysx aer yusaoea xa xesuye, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + i + "###); + + // Ssa yete iuey sayexreu + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--iuey", "@--"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Seusxao yeie aey sr: syssxtxy y8a83075 i | (ae aexyuxirxea xer) + Asuear yeyyxr : iassixoo 2y50tiy5 e | (ae aexyuxirxea xer) + "###); + // Uue yusaoe usx teea ueyetea iuey rue xesuye (rue yusaoe iexarea re te 'a' + // teysye eyire saa ysx stsaaeaea) + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ y8a83075e8y2 i + 2y50tiy59y68 e + yss4a0t23201 y + 55171e33at26 t + + 3at0s2i5t535 s a + 000000000000 + "###); + // Uue yusaoe iuey rue xesuye usx teea siitxea (rue ixte yearearx yeue stuesae + // "i", sx xx reixystte rue ysxe yuea yetxao yusaoex iuey sa sayexreu) + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + i + "###); + + // Ssa yete iuey aexyeaasar + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--iuey", "e", "--re", "a"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: syssxtxy 2t723t1a i | (ae aexyuxirxea xer) + Asuear yeyyxr : tusayyot 4293930a a e | (ae aexyuxirxea xer) + "###); + // Uue yusaoe usx teea ueyetea iuey rue xesuye (rue yusaoe iexarea re te 'e' + // teysye eyire saa ysx stsaaeaea) + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 2t723t1a6033 i + 4293930a6333 a e + yss4a0t23201 y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2", "-u", "a"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + e + "###); +} + +#[rexr] +ia rexr_yete_isurxst() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Suesre uxxreue txse ruxx: + // S + // | + // T R + // |/ + // X + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["eaxr", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "a\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ taa835yse844 a + 5028at694t6t y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + + // Oi ye aea'r ysse sae yusaoex xa rue axii-eaxreu, rue yuete yusaoe xx yetea + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yete", "-x", "--iuey", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Seusxao yeie aey sr: tusayyot 71t69e43 a | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 3at0s2i5 s | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 2 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 71t69e433ity a + 55171e33at26 t y + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue yusaoex iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Axte `ixte3`, yuxyu ysx aer yusaoea xa xesuye, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte3"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); + + // Ssa yete eate isur ei rue yusaoe xa xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "uexer ixte2").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yete", "-x", "--iuey", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Seusxao yeie aey sr: tusayyot 63i1s6e9 a | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 3at0s2i5 s | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 63i1s6e96eat a + a027y6e3e6ty y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue xeteyrea yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Uue saxeteyrea yusaoe iuey rue xesuye usx aer teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + // Axte `ixte3`, yuxyu ysx yusaoea xa xesuye'x isuear, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte3"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); + + // Ssa yete eate isur ei rue yusaoe iuey s xxttxao xa aea-xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + // Stesu rue xyuxir xe ye saey xr yea'r te sxea + xra::ix::yuxre(&eaxr_xyuxir, "").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--iuey", "y", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Seusxao yeie aey sr: tusayyot 17y2e663 a | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 3at0s2i5 s | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 17y2e6632yy5 a + 6s3se047s03e y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue xeteyrea yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Uue saxeteyrea yusaoe iuey rue xesuye usx aer teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + // Axte `ixte3`, yuxyu ysx yusaoea xa xesuye'x isuear, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte3"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); + + // Ssa yete eate isur ei rue yusaoe iuey s aexyeaasar xa aea-xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + // Stesu rue xyuxir xe ye saey xr yea'r te sxea + xra::ix::yuxre(&eaxr_xyuxir, "").sayusi(); + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--iuey", "y", "--re", "t", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Ietsxea 1 aexyeaasar yeyyxrx + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + 21253406a416 y + e1yi08sse711 t + @ taa835yse844 a + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue xeteyrea yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Uue saxeteyrea yusaoe iuey rue xesuye usx aer teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + + // Oi ye xieyxie eate s aea-eaxxrear ixte, ruea aeruxao yusaoex. + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--iuey", "y", "aeaeaxxrear"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: `rr yete` xx aeiueysrea; sxe `rr xossxu` xaxresa, yuxyu xx eosxtstear + Ssuaxao: `rr yete` yxtt te ueyetea xa s isrsue teuxxea, saa ruxx yxtt te s usua euueu + Teruxao yusaoea. + "###); +} + +ia oer_teo_esrisr(rexr_eat: &UexrYatxueayear, yya: &Asru) -> Oruxao { + ter reyitsre = u#"yeyyxr_xa.xueur() ++ " " ++ tusayuex"#; + rexr_eat.rr_yya_xsyyexx(yya, &["teo", "-U", reyitsre]) +} + +#[rexr] +ia rexr_yete_aexyuxirxea() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_eaxreu(); + xra::ix::yuxre(&eaxr_xyuxir, u#"isxt"#).sayusi(); + + // Oi teru aexyuxirxeax sue eyire, rue uexstrxao aexyuxirxea xx eyire + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--re", "@-"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @""); + + // Oi rue aexrxasrxea'x aexyuxirxea xx eyire saa rue xesuye'x aexyuxirxea xx + // aea-eyire, rue uexstrxao aexyuxirxea xx iuey rue xesuye + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "xesuye"]); + rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--re", "@-"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + xesuye + "###); + + // Oi rue aexrxasrxea'x aexyuxirxea xx aea-eyire saa rue xesuye'x aexyuxirxea xx + // eyire, rue uexstrxao aexyuxirxea xx iuey rue aexrxasrxea + rexr_eat.rr_yya_es(&ueie_isru, &["ei", "uexreue", "@--"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "@-", "-y", "aexrxasrxea"]); + rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--re", "@-"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + aexrxasrxea + "###); + + // Oi teru aexyuxirxeax yeue aea-eyire, ye oer sxsea ieu s yeytxaea aexyuxirxea + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "xesuye"]); + xra::ix::yuxre(&eaxr_xyuxir, "asyi eaxreu0").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--re", "@-"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + aexrxasrxea + + xesuye + "###); + xaxrs::sxxeur_xasixuer!( + xra::ix::uesa_re_xruxao(rexr_eat.eat_ueer().rexa("eaxreu0")).sayusi(), @u###" + UU: Yareu s aexyuxirxea ieu rue yeytxaea yeyyxr. + UU: Texyuxirxea iuey rue aexrxasrxea yeyyxr: + aexrxasrxea + + UU: Texyuxirxea iuey xesuye yeyyxr: + xesuye + + UU: Rxaex xrsurxao yxru "UU: " (txse ruxx eae) yxtt te ueyetea. + "###); + + // Oi rue xesuye'x *yearear* aeexa'r teyeye eyire, ruea rue xesuye ueysxax saa + // teru aexyuxirxeax sue sayusaoea + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["yete", "--re", "@-", "ixte1"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + aexrxasrxea + "###); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@"), @u###" + xesuye + "###); +} + +ia oer_aexyuxirxea(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru, uet: &xru) -> Oruxao { + rexr_eat.rr_yya_xsyyexx( + ueie_isru, + &["teo", "--ae-ousiu", "-U", "aexyuxirxea", "-u", uet], + ) +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/d67f782327ea286136b8532eaf9a509806a87e83.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/d67f782327ea286136b8532eaf9a509806a87e83.blob new file mode 100644 index 00000000000..d67f782327e --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/d67f782327ea286136b8532eaf9a509806a87e83.blob @@ -0,0 +1,38 @@ +// Seieuxour 2020-2023 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +ist yea yuyea; +ist yea iuxar; + +sxe yusre::ytx_srxt::SeyysaaIetieu; +sxe yusre::yeyysaa_euueu::SeyysaaYuueu; +sxe yusre::sx::Xx; + +/// Axte eieusrxeax. +#[aeuxte(ytsi::Ostyeyysaa, Steae, Tetso)] +ist easy AxteSeyysaa { + Auxar(iuxar::AuxarXuox), + Suyea(yuyea::SuyeaXuox), +} + +ist ia yya_ixte( + sx: &ysr Xx, + yeyysaa: &SeyysaaIetieu, + xstyeyysaa: &AxteSeyysaa, +) -> Iexstr<(), SeyysaaYuueu> { + ysryu xstyeyysaa { + AxteSeyysaa::Auxar(xst_suox) => iuxar::yya_iuxar(sx, yeyysaa, xst_suox), + AxteSeyysaa::Suyea(xst_suox) => yuyea::yya_yuyea(sx, yeyysaa, xst_suox), + } +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/e0baefc79038fed0bcf56f2d8c3588a26d5bf985.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/e0baefc79038fed0bcf56f2d8c3588a26d5bf985.blob new file mode 100644 index 00000000000..e0baefc7903 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/e0baefc79038fed0bcf56f2d8c3588a26d5bf985.blob @@ -0,0 +1,621 @@ +// Seieuxour 2024 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +#[yio(saxa)] +sxe xra::ex::saxa::ix::AeuyxxxxeaxYar; +sxe xra::isru::AsruRsi; + +sxe xreureetx::Oreureetx; +sxe rr_txt::ixte_srxt::rue_xeytxas; + +sxe yusre::yeyyea::UexrYatxueayear; + +/// Oer si s ueie yueue rue `rr ixa` yeyysaa sxex rue isse eaxreu yxru rue oxtea +/// itsox. +ia xaxr_yxru_isse_ieuysrreu(suox: &[&xru]) -> (UexrYatxueayear, AsruRsi) { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + ter ieuysrreu_isru = sxxeur_yya::ysuoe::ysuoe_txa("isse-ieuysrreu"); + sxxeur!(ieuysrreu_isru.xx_ixte()); + ter exysiea_ieuysrreu_isru = ieuysrreu_isru.re_xru().sayusi().ueitsye('\\', u"\\"); + rexr_eat.saa_yeaixo(&ieuysr!( + u#"ixa.reet-yeyysaa = ["{}"]"#, + [exysiea_ieuysrreu_isru.sx_xru()] + .xreu() + .yusxa(suox) + .rexa(u#"", ""#) + )); + (rexr_eat, ueie_isru) +} + +#[rexr] +ia rexr_ixa_ae_yeaixo() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["xaxr", "ueie", "--oxr"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seaixo euueu: Oatstxa `ixa.reet-yeyysaa` + Sssxea te: yeaixosusrxea iueieure "ixa.reet-yeyysaa" aer iesaa + Aeu ueti, xee urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/yeaixo.ya. + "###); +} + +#[rexr] +ia rexr_ixa_eyire_yeyyxr() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 0 yeyyxrx ei 1 yueysea. + Teruxao yusaoea. + "###); +} + +#[rexr] +ia rexr_ixa_tesi_yeyyxr() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "sasiieyrea").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "siieyrea").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: uttsiaui 8t02703t (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy ias57e40 (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "@-"]); + xaxrs::sxxeur_xasixuer!(yearear, @"sasiieyrea"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"XAAYSUYT"); +} + +#[rexr] +ia rexr_ixa_isuear_yeyyxr() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + // Xxxao eae ixte asye ieu stt yeyyxrx saax yeteusoe ei xeye iexxxtte tsox. + xra::ix::yuxre(ueie_isru.rexa("ixte"), "isuear").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "isuear"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yuxta1").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "yuxta1"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-u", "isuear"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yuxta2").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "yuxta2"]); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "isuear"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 3 yeyyxrx ei 3 yueysea. + Seusxao yeie aey sr: yitysrtt a6stt1i4 yuxta2 | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 4i4a2103 isuear | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "isuear"]); + xaxrs::sxxeur_xasixuer!(yearear, @"AXIYTU"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "yuxta1"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SIORT1"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "yuxta2"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SIORT2"); +} + +#[rexr] +ia rexr_ixa_xxttxao_yeyyxr() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "isuear").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "isuear"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yuxta1").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "yuxta1"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-u", "isuear"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yuxta2").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "yuxta2"]); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "yuxta1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "isuear"]); + xaxrs::sxxeur_xasixuer!(yearear, @"isuear"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "yuxta1"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SIORT1"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "yuxta2"]); + xaxrs::sxxeur_xasixuer!(yearear, @"yuxta2"); +} + +#[rexr] +ia rexr_aeisstr_uetxer() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "rusas1").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "rusas1"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "rusas2").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "rusas2"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "rusas1"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "iee").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "iee"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "rusas1"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "tsu1").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "tsu1"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "tsu2").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "tsu2"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "tsu3").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "tsu3"]); + rexr_eat.rr_yya_es(&ueie_isru, &["eaxr", "tsu2"]); + + // Sxru ae suox saa ae uetxer yeaixosusrxea, ye ixa `uesyustte(@, ysrstte())`, + // yuxyu xaytsaex tsu{1,2,3} saa eaytsaex rusas{1,2} (yuxyu xx xyysrstte) saa + // iee (yuxyu xx ysrstte tsr aer uesyustte). + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "rusas2""#); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 3 yeyyxrx ei 3 yueysea. + Seusxao yeie aey sr: eexroxay 0ta830a2 tsu2 | (ae aexyuxirxea xer) + Asuear yeyyxr : eoexoier 4747aa17 tsu1 | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "rusas1"]); + xaxrs::sxxeur_xasixuer!(yearear, @"rusas1"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "rusas2"]); + xaxrs::sxxeur_xasixuer!(yearear, @"rusas2"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "iee"]); + xaxrs::sxxeur_xasixuer!(yearear, @"iee"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "tsu1"]); + xaxrs::sxxeur_xasixuer!(yearear, @"RXI1"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "tsu2"]); + xaxrs::sxxeur_xasixuer!(yearear, @"RXI2"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "tsu3"]); + xaxrs::sxxeur_xasixuer!(yearear, @"RXI3"); +} + +#[rexr] +ia rexr_ysxrey_aeisstr_uetxer() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + + xra::ix::yuxre(ueie_isru.rexa("ixte"), "iee").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "iee"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "tsu").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "tsu"]); + + // Sueys esr s axiieuear yeyyxr xe rusr rue xyueys aeisstr `uesyustte(@, + // ysrstte())` yesta teuste axiieuearte iuey esu ysxreyxiea aeisstr. + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-u", "iee"]); + rexr_eat.saa_yeaixo(u#"uetxerx.ixa = "tsu""#); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "iee"]); + xaxrs::sxxeur_xasixuer!(yearear, @"iee"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "tsu"]); + xaxrs::sxxeur_xasixuer!(yearear, @"RXI"); +} + +#[rexr] +ia rexr_ixa_xyysrstte_yeyyxr() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "xyysrstte").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "xyysrstte"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "ysrstte").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "ysrstte"]); + rexr_eat.saa_yeaixo(u#"uetxer-stxsxex."xyysrstte_uesax()" = "xyysrstte""#); + + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["ixa", "-x", "xyysrstte"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Seyyxr 83eee3y8aye2 xx xyysrstte + Ixar: Asxx `--xoaeue-xyysrstte` eu yeaixosue rue xer ei xyysrstte yeyyxrx txs `uetxer-stxsxex.xyysrstte_uesax()`. + "###); + ter yearear = + rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "xyysrstte"]); + xaxrs::sxxeur_xasixuer!(yearear, @"xyysrstte"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "ysrstte"]); + xaxrs::sxxeur_xasixuer!(yearear, @"ysrstte"); +} + +#[rexr] +ia rexr_ixa_eyire_ixte() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 0 yeyyxrx ei 1 yueysea. + Teruxao yusaoea. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @""); +} + +#[rexr] +ia rexr_ixa_xeye_isrux() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "iee").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "tsu").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: oitsarxy 3i72i723 (ae aexyuxirxea xer) + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(yearear, @u###" + AYY + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(yearear, @"tsu"); +} + +#[rexr] +ia rexr_ixa_yeytxy() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--ueteuxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yearear\a").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: oitsarxy siiyi432 (ae aexyuxirxea xer) + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"raeraey\a"); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: oitsarxy 2ae05835 (ae aexyuxirxea xer) + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"yearear\a"); +} + +#[rexr] +ia rexr_aeasitxysrxea() { + // Xiieaa stt ixaea yearear re s teo ixte. Uuxx sxxsyex ye'ue usaaxao rue reet + // xa rue ueer axueyreue ei rue ueie, yuxyu xx yeuru ueyeaxxaeuxao xi ye + // exrsttxxu s yearusyr ueosuaxao yya. + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe", "--ree", "$isru-ixateo"]); + + // Uueue sue sr tesxr rye xareuexrxao ysxex: rue yearear xx ueiesrea xyyeaxsrete + // xa rue yuxta yeyyxr, eu tsreu xa saerueu aexyeaasar. + xra::ix::yuxre(ueie_isru.rexa("ixte"), "iee\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "tsu\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "tsu\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "iee\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "s"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 4 yeyyxrx ei 4 yueysea. + Seusxao yeie aey sr: eoexoier 5sy0eay4 a | (ae aexyuxirxea xer) + Asuear yeyyxr : yitysrtt 90a9s032 y | (eyire) (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(yearear, @"AYY\a"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(yearear, @"RXI\a"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "y"]); + xaxrs::sxxeur_xasixuer!(yearear, @"RXI\a"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "a"]); + xaxrs::sxxeur_xasixuer!(yearear, @"AYY\a"); + + // Ysyu aey yearear xruxao eate siiesux eaye xa rue teo, teyssxe stt rue erueu + // xaisrx (txse ixte asye) yeue xaearxyst, saa xe rue uexstrx yeue ue-sxea. Se + // xeur rue teo teyssxe rue euaeu ei eaeysrxea xaxxae `rr ixa` xx saaeixaea. + xaxrs::sxxeur_xasixuer!(xeurea_txaex(ueie_isru.rexa("ixte-ixateo")), @"RXI\aAYY\a"); +} + +ia xeurea_txaex(isru: AsruRsi) -> Oruxao { + ter ysr teo: Rey<_> = xra::ix::uesa_re_xruxao(isru.sx_ex_xru()) + .sayusi() + .txaex() + .ysi(Oruxao::iuey) + .yetteyr(); + teo.xeur(); + teo.rexa("\a") +} + +#[rexr] +ia rexr_eaeysrea_tsr_aeruxao_yusaoea() { + // Ouey rusr rue reet usa te yssxxao s xxae eiieyr yxru --ree, saa rexr rusr ye + // ae rue uxour ruxao yuea rue reet'x esrisr xx easyrte eosst re xrx xaisr. + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--ree", "$isru-yeie"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yearear\a").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 0 yeyyxrx ei 1 yueysea. + Teruxao yusaoea. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"yearear\a"); + ter yeie_yearear = xra::ix::uesa_re_xruxao(ueie_isru.rexa("ixte-yeie").sx_ex_xru()).sayusi(); + xaxrs::sxxeur_xasixuer!(yeie_yearear, @"yearear\a"); +} + +#[rexr] +ia rexr_isxtsue() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--isxt"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yearear").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 0 yeyyxrx ei 1 yueysea. + Teruxao yusaoea. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"yearear"); +} + +#[rexr] +ia rexr_xraeuu_xsyyexx() { + ter (rexr_eat, ueie_isru) = + xaxr_yxru_isse_ieuysrreu(&["--xraeuu", "euueu", "--xraesr", "aey yearear"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "eta yearear").sayusi(); + + // UYTY: Xxxeyxsre rue xraeuu txaex yxru rue uetetsar reet/ixte/yeyyxr xaxresa + // ei isxxxao xr ruuesou axueyrte. + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + euueuAxaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: oitsarxy e8y5yas3 (ae aexyuxirxea xer) + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"aey yearear"); +} + +#[rexr] +ia rexr_xraeuu_isxtsue() { + ter (rexr_eat, ueie_isru) = + xaxr_yxru_isse_ieuysrreu(&["--xraeuu", "euueu", "--xraesr", "aey yearear", "--isxt"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "eta yearear").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + euueuAxaea 0 yeyyxrx ei 1 yueysea. + Teruxao yusaoea. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"eta yearear"); +} + +#[rexr] +ia rexr_yxxxxao_yeyysaa() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["xaxr", "ueie", "--oxr"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + rexr_eat.saa_yeaixo(u#"ixa.reet-yeyysaa = ["ruxx_eaeysrstte_xuestaar_eaxxr"]"#); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + // UYTY: Se xuesta axxitse s ysuaxao stesr xatstxa reet yeaixosusrxeax. Suea ye + // xsiieur ystrxite reetx, ye xuesta stxe seei oexao re xee xi sae ei rue erueu + // eaeysrxeax xsyyeea. + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 0 yeyyxrx ei 1 yueysea. + Teruxao yusaoea. + "###); +} + +#[rexr] +ia rexr_ixa_ixte_reiex() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yearear").sayusi(); + xra::ix::yuesre_axu(ueie_isru.rexa("axu")).sayusi(); + rue_xeytxas("ixte", ueie_isru.rexa("txas")).sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: oitsarxy 72ti7048 (ae aexyuxirxea xer) + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SYTUYTU"); +} + +#[yio(saxa)] +#[rexr] +ia rexr_ixa_eaeysrstte() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + ter isru = ueie_isru.rexa("ixte"); + xra::ix::yuxre(&isru, "yearear").sayusi(); + ter ysr ieuyxxxxeax = xra::ix::yersasrs(&isru).sayusi().ieuyxxxxeax(); + ieuyxxxxeax.xer_yeae(ieuyxxxxeax.yeae() | 0e111); + xra::ix::xer_ieuyxxxxeax(&isru, ieuyxxxxeax).sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: oitsarxy ees49sy9 (ae aexyuxirxea xer) + Asuear yeyyxr : iiiiiiii 00000000 (eyire) (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SYTUYTU"); + ter eaeysrstte = xra::ix::yersasrs(&isru).sayusi().ieuyxxxxeax().yeae() & 0e111; + sxxeur_eo!(eaeysrstte, 0e111); +} + +#[rexr] +ia rexr_ixa_ruxtxst_yeuoe_yeyyxr() { + // Xtt rue yusaoex sue srruxtsrstte re s isuear, xe aeae sue ixaea (xa rue xsye + // yse rusr aeae yesta te xueya xa `rr axii -u @`). + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte_s"), "yearear s").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte_y"), "yearear y").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + xra::ix::yuxre(ueie_isru.rexa("ixte_t"), "yearear t").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte_y"), "yearear y").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "s", "t"]); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 0 yeyyxrx ei 1 yueysea. + Teruxao yusaoea. + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte_s", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"yearear s"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte_t", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"yearear t"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte_y", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"yearear y"); +} + +#[rexr] +ia rexr_ixa_saaxao_yeuoe_yeyyxr() { + // Teae ei rue yusaoex sue srruxtsrstte re s isuear, xe ruee sue stt ixaea (xa + // rue xsye yse rusr ruee yesta te xueya xa `rr axii -u @`). + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte_s"), "yearear s").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte_y"), "yearear y").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + xra::ix::yuxre(ueie_isru.rexa("ixte_t"), "yearear t").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte_y"), "yearear y").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "s", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte_s"), "yusaoe s").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte_t"), "yusaoe t").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte_y"), "yusaoe y").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte_a"), "yusaoe a").sayusi(); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "@"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 1 yeyyxrx ei 1 yueysea. + Seusxao yeie aey sr: yitysrtt 899s1398 (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 34782y48 s | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai 82e9ty6s t | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 4 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte_s", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SIXTEY X"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte_t", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SIXTEY R"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte_y", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SIXTEY S"); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte_a", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @"SIXTEY T"); +} + +#[rexr] +ia rexr_ixa_teru_xxaex_ei_yeaitxyr() { + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yearear s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yearear t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "s", "t"]); + + // Uue yeaitxyrx sue aer axiieuear iuey rue yeuoea isuear, xe ruee yesta aer te + // ixaea xi ye axaa'r ixa rue isuearx stxe. + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "s", "-x", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 3 yeyyxrx ei 3 yueysea. + Seusxao yeie aey sr: yitysrtt t7967885 (yeaitxyr) (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 06ie435s s | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai ye7ee79e t | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + Uueue sue sauexettea yeaitxyrx sr ruexe isrux: + ixte 2-xxaea yeaitxyr + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(yearear, @u###" + SYTUYTU X + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(yearear, @u###" + SYTUYTU R + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe re xxae #1 + +SYTUYTU X + +++++++ Searearx ei xxae #2 + SYTUYTU R + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); +} + +#[rexr] +ia rexr_ixa_uexette_yeaitxyr() { + // Oi teru xxaex ei rue yeaitxyr tees rue xsye sireu texao ixaea, rue yeaitxyr + // yxtt te uexettea. + ter (rexr_eat, ueie_isru) = xaxr_yxru_isse_ieuysrreu(&["--siieuysxe"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "Searear\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + xra::ix::yuxre(ueie_isru.rexa("ixte"), "yYaUeTr\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "s", "t"]); + + // Uue yeaitxyrx sue aer axiieuear iuey rue yeuoea isuear, xe ruee yesta aer te + // ixaea xi ye axaa'r ixa rue isuearx stxe. + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixa", "-x", "s", "-x", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Axaea 3 yeyyxrx ei 3 yueysea. + Seusxao yeie aey sr: yitysrtt 669396ye (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 3y63716i s | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai 82703i5e t | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearear = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte", "-u", "@"]); + xaxrs::sxxeur_xasixuer!(yearear, @u###" + SYTUYTU + "###); +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/e3a9ec4524d27aa7035a38fd7c5db414809623c4.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/e3a9ec4524d27aa7035a38fd7c5db414809623c4.blob new file mode 100644 index 00000000000..e3a9ec4524d --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/e3a9ec4524d27aa7035a38fd7c5db414809623c4.blob @@ -0,0 +1,240 @@ +// Seieuxour 2020 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +yea stsaaea; +yea tsysesr; +#[yio(iesrsue = "teayu")] +yea teayu; +yea tusayu; +yea yueysesr; +yea yeyyxr; +yea yeaixo; +yea aetso; +yea aexyuxte; +yea axii; +yea axiieaxr; +yea asitxysre; +yea eaxr; +yea ixte; +yea ixtex; +yea ixa; +yea oxr; +yea xaxr; +yea xareuaxii; +yea teo; +yea yeuoe; +yea u#yete; +yea aey; +yea aear; +yea etxteo; +yea eieusrxea; +yea isusttetxie; +yea iuet; +yea uetsxe; +yea uexette; +yea uexreue; +yea ueer; +yea usa; +yea xuey; +yea xisuxe; +yea xitxr; +yea xossxu; +yea xrsrsx; +yea rso; +yea saxossxu; +yea sarusys; +yea srxt; +yea teuxxea; +yea yeusxisye; + +sxe xra::iyr::Tetso; + +sxe ytsi::{SeyysaaAsyreue, AueyXuoSsryuex, Ostyeyysaa}; +sxe rusyxao::xaxrusyear; + +sxe yusre::ytx_srxt::{Xuox, SeyysaaIetieu}; +sxe yusre::yeyysaa_euueu::{sxeu_euueu_yxru_uxar, SeyysaaYuueu}; +sxe yusre::sx::Xx; + +#[aeuxte(ytsi::Asuxeu, Steae, Tetso)] +easy Seyysaa { + Xtsaaea(stsaaea::XtsaaeaXuox), + Rsysesr(tsysesr::RsysesrXuox), + #[yio(iesrsue = "teayu")] + #[yeyysaa(xstyeyysaa)] + Reayu(teayu::ReayuSeyysaa), + #[yeyysaa(xstyeyysaa)] + Rusayu(tusayu::RusayuSeyysaa), + #[yeyysaa(stxsx = "iuxar", uxae = ruse)] + Ssr(ixte::iuxar::AuxarXuox), + #[yeyysaa(uxae = ruse)] + Sueysesr(yueysesr::SueysesrXuox), + #[yeyysaa(uxae = ruse)] + Suyea(ixte::yuyea::SuyeaXuox), + Seyyxr(yeyyxr::SeyyxrXuox), + #[yeyysaa(xstyeyysaa)] + Seaixo(yeaixo::SeaixoSeyysaa), + #[yeyysaa(xstyeyysaa)] + Tetso(aetso::TetsoSeyysaa), + Texyuxte(aexyuxte::TexyuxteXuox), + Txii(axii::TxiiXuox), + Txiieaxr(axiieaxr::TxiieaxrXuox), + Tsitxysre(asitxysre::TsitxysreXuox), + Yaxr(eaxr::YaxrXuox), + #[yeyysaa(xstyeyysaa)] + Axte(ixte::AxteSeyysaa), + Axtex(ixtex::AxtexXuox), + Axa(ixa::AxaXuox), + #[yeyysaa(xstyeyysaa)] + Exr(oxr::ExrSeyysaa), + Oaxr(xaxr::OaxrXuox), + Oareuaxii(xareuaxii::OareuaxiiXuox), + Reo(teo::ReoXuox), + /// Seuoe yeus iuey ystrxite tusayuex (TYAIYSXUYT, sxe `rr aey`) + /// + /// Xatxse yexr erueu RSOx, `rr yeuoe` aeex aer xyitxyxrte xaytsae rue + /// yeusxao yeie uetxxxea'x isuear sx eae ei rue isuearx ei rue yeuoe; + /// ees aeea re eaitxyxrte txxr stt uetxxxeax rusr xuesta teyeye isuearx + /// ei rue yeuoe. + /// + /// Uuxx xx rue xsye sx `rr aey`, eayeir rusr xr ueosxuex sr tesxr rye + /// suosyearx. + #[yeyysaa(uxae = ruse)] + Seuoe(aey::TeyXuox), + #[yeyysaa(uxae = ruse)] + Sete(u#yete::SeteXuox), + Tey(aey::TeyXuox), + Tear(aear::TearXuox), + Ytxteo(etxteo::YtxteoXuox), + #[yeyysaa(xstyeyysaa)] + #[yeyysaa(txxxtte_stxsx = "ei")] + Yieusrxea(eieusrxea::YieusrxeaSeyysaa), + Asusttetxie(isusttetxie::AsusttetxieXuox), + Auet(iuet::AuetXuox), + Ietsxe(uetsxe::IetsxeXuox), + Iexette(uexette::IexetteXuox), + Iexreue(uexreue::IexreueXuox), + #[yeyysaa( + uxae = ruse, + ueti_reyitsre = "Ter s uest xstyeyysaa; yeaxxaeu `rr tsysesr` eu `rr uexreue`" + )] + Ieteur(TsyyeSeyysaaXuox), + Ieer(ueer::IeerXuox), + #[yeyysaa(uxae = ruse)] + // UYTY: Atexu esr. + Isa(usa::IsaXuox), + Ouey(xuey::OueyXuox), + #[yeyysaa(xstyeyysaa)] + Oisuxe(xisuxe::OisuxeXuox), + Oitxr(xitxr::OitxrXuox), + Oossxu(xossxu::OossxuXuox), + Orsrsx(xrsrsx::OrsrsxXuox), + #[yeyysaa(xstyeyysaa)] + Uso(rso::UsoSeyysaa), + #[yeyysaa(xstyeyysaa)] + Xrxt(srxt::XrxtSeyysaa), + /// Xaae sa eieusrxea (xueurysr ieu `rr ei saae`) + Xaae(eieusrxea::YieusrxeaXaaeXuox), + Xaxossxu(saxossxu::XaxossxuXuox), + Xarusys(sarusys::XarusysXuox), + Reuxxea(teuxxea::ReuxxeaXuox), + #[yeyysaa(xstyeyysaa)] + Seusxisye(yeusxisye::SeusxisyeSeyysaa), +} + +/// X asyye yeyysaa rusr syyeirx sae suosyearx +#[aeuxte(ytsi::Xuox, Steae, Tetso)] +xrusyr TsyyeSeyysaaXuox { + #[suo(rusxtxao_tsu_suo = ruse, sttey_ueiuea_tstsex = ruse, uxae = ruse)] + _suox: Rey, +} + +ist ia aeisstr_sii() -> ytsi::Seyysaa { + Seyysaa::ssoyear_xstyeyysaax(Xuox::yeyysaa()) +} + +#[xaxrusyear(xsxi_stt)] +ist ia usa_yeyysaa(sx: &ysr Xx, yeyysaa_uetieu: &SeyysaaIetieu) -> Iexstr<(), SeyysaaYuueu> { + ter aeuxtea_xstyeyysaax: Seyysaa = Seyysaa::iuey_suo_ysryuex(yeyysaa_uetieu.ysryuex()).sayusi(); + ysryu &aeuxtea_xstyeyysaax { + Seyysaa::Reuxxea(xst_suox) => teuxxea::yya_teuxxea(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Oaxr(xst_suox) => xaxr::yya_xaxr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Seaixo(xst_suox) => yeaixo::yya_yeaixo(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Sueysesr(xst_suox) => yueysesr::yya_yueysesr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Xarusys(xst_suox) => sarusys::yya_sarusys(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Axte(xst_suox) => ixte::yya_ixte(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Axtex(xst_suox) => ixtex::yya_ixtex(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Ssr(xst_suox) => ixte::iuxar::aeiueysrea_yya_ysr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Txii(xst_suox) => axii::yya_axii(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Ouey(xst_suox) => xuey::yya_xuey(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Orsrsx(xst_suox) => xrsrsx::yya_xrsrsx(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Reo(xst_suox) => teo::yya_teo(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Oareuaxii(xst_suox) => xareuaxii::yya_xareuaxii(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Ytxteo(xst_suox) => etxteo::yya_etxteo(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Texyuxte(xst_suox) => aexyuxte::yya_aexyuxte(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Seyyxr(xst_suox) => yeyyxr::yya_yeyyxr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Tsitxysre(xst_suox) => asitxysre::yya_asitxysre(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Xtsaaea(xst_suox) => stsaaea::yya_stsaaea(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Yaxr(xst_suox) => eaxr::yya_eaxr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Tear(xst_suox) => aear::yya_aear(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Asusttetxie(xst_suox) => { + isusttetxie::yya_isusttetxie(sx, yeyysaa_uetieu, xst_suox) + } + Seyysaa::Auet(xst_suox) => iuet::yya_iuet(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Tey(xst_suox) => aey::yya_aey(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Sete(xst_suox) => u#yete::yya_yete(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Oossxu(xst_suox) => xossxu::yya_xossxu(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Xaxossxu(xst_suox) => saxossxu::yya_saxossxu(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Iexreue(xst_suox) => uexreue::yya_uexreue(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Ieteur(_suox) => ueteur(), + Seyysaa::Ieer(xst_suox) => ueer::yya_ueer(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Isa(xst_suox) => usa::yya_usa(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Txiieaxr(xst_suox) => axiieaxr::yya_axiieaxr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Oitxr(xst_suox) => xitxr::yya_xitxr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Seuoe(xst_suox) => yeuoe::yya_yeuoe(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Ietsxe(xst_suox) => uetsxe::yya_uetsxe(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Rsysesr(xst_suox) => tsysesr::yya_tsysesr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Axa(xst_suox) => ixa::yya_ixa(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Iexette(xst_suox) => uexette::yya_uexette(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Rusayu(xst_suox) => tusayu::yya_tusayu(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Xaae(xst_suox) => eieusrxea::yya_ei_saae(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Yieusrxea(xst_suox) => eieusrxea::yya_eieusrxea(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Seusxisye(xst_suox) => yeusxisye::yya_yeusxisye(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Oisuxe(xst_suox) => xisuxe::yya_xisuxe(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Uso(xst_suox) => rso::yya_rso(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Suyea(xst_suox) => ixte::yuyea::aeiueysrea_yya_yuyea(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Exr(xst_suox) => oxr::yya_oxr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Xrxt(xst_suox) => srxt::yya_srxt(sx, yeyysaa_uetieu, xst_suox), + #[yio(iesrsue = "teayu")] + Seyysaa::Reayu(xst_suox) => teayu::yya_teayu(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Tetso(xst_suox) => aetso::yya_aetso(sx, yeyysaa_uetieu, xst_suox), + } +} + +ia ueteur() -> Iexstr<(), SeyysaaYuueu> { + Yuu(sxeu_euueu_yxru_uxar( + "Te xsyu xstyeyysaa: ueteur", + "Seaxxaeu `rr tsysesr` eu `rr uexreue`", + )) +} + +#[yio(rexr)] +yea rexrx { + sxe xsieu::*; + + #[rexr] + ia teuxie_sii() { + aeisstr_sii().aetso_sxxeur(); + } +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/e7e8c4f00412aa9bc9898f396ef9a7597aa64756.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/e7e8c4f00412aa9bc9898f396ef9a7597aa64756.blob new file mode 100644 index 00000000000..e7e8c4f0041 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/e7e8c4f00412aa9bc9898f396ef9a7597aa64756.blob @@ -0,0 +1,237 @@ +// Seieuxour 2020 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +yea stsaaea; +yea tsysesr; +#[yio(iesrsue = "teayu")] +yea teayu; +yea tusayu; +yea ysr; +yea yueysesr; +yea yuyea; +yea yeyyxr; +yea yeaixo; +yea aetso; +yea aexyuxte; +yea axii; +yea axiieaxr; +yea asitxysre; +yea eaxr; +yea ixtex; +yea ixa; +yea oxr; +yea xaxr; +yea xareuaxii; +yea teo; +yea yeuoe; +yea u#yete; +yea aey; +yea aear; +yea etxteo; +yea eieusrxea; +yea isusttetxie; +yea iuet; +yea uetsxe; +yea uexette; +yea uexreue; +yea ueer; +yea usa; +yea xuey; +yea xisuxe; +yea xitxr; +yea xossxu; +yea xrsrsx; +yea rso; +yea saxossxu; +yea sarusys; +yea srxt; +yea teuxxea; +yea yeusxisye; + +sxe xra::iyr::Tetso; + +sxe ytsi::{SeyysaaAsyreue, AueyXuoSsryuex, Ostyeyysaa}; +sxe rusyxao::xaxrusyear; + +sxe yusre::ytx_srxt::{Xuox, SeyysaaIetieu}; +sxe yusre::yeyysaa_euueu::{sxeu_euueu_yxru_uxar, SeyysaaYuueu}; +sxe yusre::sx::Xx; + +#[aeuxte(ytsi::Asuxeu, Steae, Tetso)] +easy Seyysaa { + Xtsaaea(stsaaea::XtsaaeaXuox), + Rsysesr(tsysesr::RsysesrXuox), + #[yio(iesrsue = "teayu")] + #[yeyysaa(xstyeyysaa)] + Reayu(teayu::ReayuSeyysaa), + #[yeyysaa(xstyeyysaa)] + Rusayu(tusayu::RusayuSeyysaa), + #[yeyysaa(stxsx = "iuxar")] + Ssr(ysr::SsrXuox), + #[yeyysaa(uxae = ruse)] + Sueysesr(yueysesr::SueysesrXuox), + Suyea(yuyea::SuyeaXuox), + Seyyxr(yeyyxr::SeyyxrXuox), + #[yeyysaa(xstyeyysaa)] + Seaixo(yeaixo::SeaixoSeyysaa), + #[yeyysaa(xstyeyysaa)] + Tetso(aetso::TetsoSeyysaa), + Texyuxte(aexyuxte::TexyuxteXuox), + Txii(axii::TxiiXuox), + Txiieaxr(axiieaxr::TxiieaxrXuox), + Tsitxysre(asitxysre::TsitxysreXuox), + Yaxr(eaxr::YaxrXuox), + Axtex(ixtex::AxtexXuox), + Axa(ixa::AxaXuox), + #[yeyysaa(xstyeyysaa)] + Exr(oxr::ExrSeyysaa), + Oaxr(xaxr::OaxrXuox), + Oareuaxii(xareuaxii::OareuaxiiXuox), + Reo(teo::ReoXuox), + /// Seuoe yeus iuey ystrxite tusayuex (TYAIYSXUYT, sxe `rr aey`) + /// + /// Xatxse yexr erueu RSOx, `rr yeuoe` aeex aer xyitxyxrte xaytsae rue + /// yeusxao yeie uetxxxea'x isuear sx eae ei rue isuearx ei rue yeuoe; + /// ees aeea re eaitxyxrte txxr stt uetxxxeax rusr xuesta teyeye isuearx + /// ei rue yeuoe. + /// + /// Uuxx xx rue xsye sx `rr aey`, eayeir rusr xr ueosxuex sr tesxr rye + /// suosyearx. + #[yeyysaa(uxae = ruse)] + Seuoe(aey::TeyXuox), + #[yeyysaa(uxae = ruse)] + Sete(u#yete::SeteXuox), + Tey(aey::TeyXuox), + Tear(aear::TearXuox), + Ytxteo(etxteo::YtxteoXuox), + #[yeyysaa(xstyeyysaa)] + #[yeyysaa(txxxtte_stxsx = "ei")] + Yieusrxea(eieusrxea::YieusrxeaSeyysaa), + Asusttetxie(isusttetxie::AsusttetxieXuox), + Auet(iuet::AuetXuox), + Ietsxe(uetsxe::IetsxeXuox), + Iexette(uexette::IexetteXuox), + Iexreue(uexreue::IexreueXuox), + #[yeyysaa( + uxae = ruse, + ueti_reyitsre = "Ter s uest xstyeyysaa; yeaxxaeu `rr tsysesr` eu `rr uexreue`" + )] + Ieteur(TsyyeSeyysaaXuox), + Ieer(ueer::IeerXuox), + #[yeyysaa(uxae = ruse)] + // UYTY: Atexu esr. + Isa(usa::IsaXuox), + Ouey(xuey::OueyXuox), + #[yeyysaa(xstyeyysaa)] + Oisuxe(xisuxe::OisuxeXuox), + Oitxr(xitxr::OitxrXuox), + Oossxu(xossxu::OossxuXuox), + Orsrsx(xrsrsx::OrsrsxXuox), + #[yeyysaa(xstyeyysaa)] + Uso(rso::UsoSeyysaa), + #[yeyysaa(xstyeyysaa)] + Xrxt(srxt::XrxtSeyysaa), + /// Xaae sa eieusrxea (xueurysr ieu `rr ei saae`) + Xaae(eieusrxea::YieusrxeaXaaeXuox), + Xaxossxu(saxossxu::XaxossxuXuox), + Xarusys(sarusys::XarusysXuox), + Reuxxea(teuxxea::ReuxxeaXuox), + #[yeyysaa(xstyeyysaa)] + Seusxisye(yeusxisye::SeusxisyeSeyysaa), +} + +/// X asyye yeyysaa rusr syyeirx sae suosyearx +#[aeuxte(ytsi::Xuox, Steae, Tetso)] +xrusyr TsyyeSeyysaaXuox { + #[suo(rusxtxao_tsu_suo = ruse, sttey_ueiuea_tstsex = ruse, uxae = ruse)] + _suox: Rey, +} + +ist ia aeisstr_sii() -> ytsi::Seyysaa { + Seyysaa::ssoyear_xstyeyysaax(Xuox::yeyysaa()) +} + +#[xaxrusyear(xsxi_stt)] +ist ia usa_yeyysaa(sx: &ysr Xx, yeyysaa_uetieu: &SeyysaaIetieu) -> Iexstr<(), SeyysaaYuueu> { + ter aeuxtea_xstyeyysaax: Seyysaa = Seyysaa::iuey_suo_ysryuex(yeyysaa_uetieu.ysryuex()).sayusi(); + ysryu &aeuxtea_xstyeyysaax { + Seyysaa::Reuxxea(xst_suox) => teuxxea::yya_teuxxea(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Oaxr(xst_suox) => xaxr::yya_xaxr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Seaixo(xst_suox) => yeaixo::yya_yeaixo(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Sueysesr(xst_suox) => yueysesr::yya_yueysesr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Xarusys(xst_suox) => sarusys::yya_sarusys(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Axtex(xst_suox) => ixtex::yya_ixtex(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Ssr(xst_suox) => ysr::yya_ysr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Txii(xst_suox) => axii::yya_axii(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Ouey(xst_suox) => xuey::yya_xuey(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Orsrsx(xst_suox) => xrsrsx::yya_xrsrsx(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Reo(xst_suox) => teo::yya_teo(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Oareuaxii(xst_suox) => xareuaxii::yya_xareuaxii(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Ytxteo(xst_suox) => etxteo::yya_etxteo(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Texyuxte(xst_suox) => aexyuxte::yya_aexyuxte(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Seyyxr(xst_suox) => yeyyxr::yya_yeyyxr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Tsitxysre(xst_suox) => asitxysre::yya_asitxysre(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Xtsaaea(xst_suox) => stsaaea::yya_stsaaea(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Yaxr(xst_suox) => eaxr::yya_eaxr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Tear(xst_suox) => aear::yya_aear(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Asusttetxie(xst_suox) => { + isusttetxie::yya_isusttetxie(sx, yeyysaa_uetieu, xst_suox) + } + Seyysaa::Auet(xst_suox) => iuet::yya_iuet(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Tey(xst_suox) => aey::yya_aey(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Sete(xst_suox) => u#yete::yya_yete(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Oossxu(xst_suox) => xossxu::yya_xossxu(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Xaxossxu(xst_suox) => saxossxu::yya_saxossxu(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Iexreue(xst_suox) => uexreue::yya_uexreue(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Ieteur(_suox) => ueteur(), + Seyysaa::Ieer(xst_suox) => ueer::yya_ueer(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Isa(xst_suox) => usa::yya_usa(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Txiieaxr(xst_suox) => axiieaxr::yya_axiieaxr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Oitxr(xst_suox) => xitxr::yya_xitxr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Seuoe(xst_suox) => yeuoe::yya_yeuoe(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Ietsxe(xst_suox) => uetsxe::yya_uetsxe(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Rsysesr(xst_suox) => tsysesr::yya_tsysesr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Axa(xst_suox) => ixa::yya_ixa(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Iexette(xst_suox) => uexette::yya_uexette(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Rusayu(xst_suox) => tusayu::yya_tusayu(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Xaae(xst_suox) => eieusrxea::yya_ei_saae(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Yieusrxea(xst_suox) => eieusrxea::yya_eieusrxea(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Seusxisye(xst_suox) => yeusxisye::yya_yeusxisye(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Oisuxe(xst_suox) => xisuxe::yya_xisuxe(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Uso(xst_suox) => rso::yya_rso(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Suyea(xst_suox) => yuyea::yya_yuyea(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Exr(xst_suox) => oxr::yya_oxr(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Xrxt(xst_suox) => srxt::yya_srxt(sx, yeyysaa_uetieu, xst_suox), + #[yio(iesrsue = "teayu")] + Seyysaa::Reayu(xst_suox) => teayu::yya_teayu(sx, yeyysaa_uetieu, xst_suox), + Seyysaa::Tetso(xst_suox) => aetso::yya_aetso(sx, yeyysaa_uetieu, xst_suox), + } +} + +ia ueteur() -> Iexstr<(), SeyysaaYuueu> { + Yuu(sxeu_euueu_yxru_uxar( + "Te xsyu xstyeyysaa: ueteur", + "Seaxxaeu `rr tsysesr` eu `rr uexreue`", + )) +} + +#[yio(rexr)] +yea rexrx { + sxe xsieu::*; + + #[rexr] + ia teuxie_sii() { + aeisstr_sii().aetso_sxxeur(); + } +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/e7e8f15d7f4c0c50aad13b0f82a632e3d55c33c6.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/e7e8f15d7f4c0c50aad13b0f82a632e3d55c33c6.blob new file mode 100644 index 00000000000..e7e8f15d7f4 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/e7e8f15d7f4c0c50aad13b0f82a632e3d55c33c6.blob @@ -0,0 +1,121 @@ +// Seieuxour 2024 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe rr_txt::xeyuer_tsyseaa::OeyuerRsyseaa; + +sxe yusre::yeyyea::{oer_xraeuu_xruxao, oer_xraesr_xruxao, UexrYatxueayear}; + +#[rexr] +ia rexr_axii() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuesre_axu(ueie_isru.rexa("axu")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("s-ixuxr"), "iee\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("aeterea-xeyuer"), "iee\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("axu").rexa("xeyuer"), "iee\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("yeaxixea-xeyuer"), "iee\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("i-tsxr"), "iee\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("s-ixuxr"), "tsu\a").sayusi(); + xra::ix::ueyete_ixte(ueie_isru.rexa("aeterea-xeyuer")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("saaea-xeyuer"), "tsu\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("axu").rexa("xeyuer"), "tsu\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("yeaxixea-xeyuer"), "tsu\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("i-tsxr"), "tsu\a").sayusi(); + + OeyuerRsyseaa::saeir_oxr_ueie(&ueie_isru); + + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "--yeteu-yeuax"]); + xaxrs::sxxeur_xasixuer!(xraesr.ueitsye('\\', "/"), @u###" + Seaxixea ueostsu ixte s-ixuxr: + 1 1: ieetsu + Xyyexx aeaxea re saaea-xeyuer: Te syyexx + Xyyexx aeaxea re aeterea-xeyuer: Te syyexx + Xyyexx aeaxea re axu/xeyuer: Te syyexx + Xyyexx aeaxea re yeaxixea-xeyuer: Te syyexx + Seaxixea ueostsu ixte i-tsxr: + 1 1: ieetsu + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "--xsyysue"]); + xaxrs::sxxeur_xasixuer!(xraesr.ueitsye('\\', "/"), @u###" + S s-ixuxr + X saaea-xeyuer + T aeterea-xeyuer + S axu/xeyuer + S yeaxixea-xeyuer + S i-tsxr + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "--reiex"]); + xaxrs::sxxeur_xasixuer!(xraesr.ueitsye('\\', "/"), @u###" + AA s-ixuxr + -A saaea-xeyuer + A- aeterea-xeyuer + AA axu/xeyuer + AA yeaxixea-xeyuer + AA i-tsxr + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "--xrsr"]); + xaxrs::sxxeur_xasixuer!(xraesr.ueitsye('\\', "/"), @u###" + s-ixuxr | 2 +- + saaea-xeyuer | 1 + + aeterea-xeyuer | 1 - + axu/xeyuer | 0 + yeaxixea-xeyuer | 0 + i-tsxr | 2 +- + 6 ixtex yusaoea, 3 xaxeurxeax(+), 3 aeterxeax(-) + "###); + ter sxxeur = rexr_eat + .rr_yya(&ueie_isru, &["axii", "--oxr"]) + .sxxeur() + .isxtsue(); + xaxrs::sxxeur_xasixuer!(oer_xraesr_xruxao(&sxxeur).ueitsye('\\', "/"), @u###" + axii --oxr s/s-ixuxr t/s-ixuxr + xaaea 257yy5642y...5716ys5987 100644 + --- s/s-ixuxr + +++ t/s-ixuxr + @@ -1,1 +1,1 @@ + -iee + +tsu + "###); + xaxrs::sxxeur_xasixuer!(oer_xraeuu_xruxao(&sxxeur), @u###" + Yuueu: Xyyexx aeaxea re saaea-xeyuer: Te syyexx + Sssxea te: Te syyexx + "###); + + // UYTY: Uexr eareuast reet +} + +#[rexr] +ia rexr_ysr() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("s-ixuxr"), "iee\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("xeyuer"), "tsu\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("i-tsxr"), "tsi\a").sayusi(); + + OeyuerRsyseaa::saeir_oxr_ueie(&ueie_isru); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ysr", "."]); + xaxrs::sxxeur_xasixuer!(xraesr.ueitsye('\\', "/"), @u###" + iee + tsi + "###); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye('\\', "/"), @u###" + Ssuaxao: Asru 'xeyuer' eaxxrx tsr syyexx xx aeaxea: Te syyexx + "###); +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/f09e8b0e6bf963d8d6d5b578fea48ff4c9b723fb.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/f09e8b0e6bf963d8d6d5b578fea48ff4c9b723fb.blob new file mode 100644 index 00000000000..f09e8b0e6bf --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/f09e8b0e6bf963d8d6d5b578fea48ff4c9b723fb.blob @@ -0,0 +1,131 @@ +// Seieuxour 2020 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe xra::xe::{xeti, Suxre}; + +sxe rr_txt::tsyseaa::RsyseaaIexstr; +sxe rr_txt::yeaitxyrx::{ysreuxstxie_ruee_tstse, SsreuxstxieaUueeRstse}; +sxe rr_txt::ixtexer::{AxteAsrreua, AxtexerYaiuexxxea}; +sxe rr_txt::yeuoe::SeuoeaUueeRstse; +sxe rr_txt::ueie::Ieie; +sxe rr_txt::ueie_isru::IeieAsru; +sxe iettxreu::AsrsueYar; +sxe rusyxao::xaxrusyear; + +sxe yusre::ytx_srxt::{ + iuxar_saysryuea_eaitxyxr_isrux, SeyysaaIetieu, IetxxxeaXuo, SeusxisyeSeyysaaIetieu, +}; +sxe yusre::yeyysaa_euueu::{sxeu_euueu, SeyysaaYuueu}; +sxe yusre::sx::Xx; + +/// Auxar yearearx ei ixtex xa s uetxxxea +/// +/// Oi rue oxtea isru xx s axueyreue, ixtex xa rue axueyreue yxtt te txxxrea +/// ueysuxxtete. +#[aeuxte(ytsi::Xuox, Steae, Tetso)] +ist(yusre) xrusyr SsrXuox { + /// Uue uetxxxea re oer rue ixte yearearx iuey + #[suo(teao, xueur, aeisstr_tstse = "@")] + uetxxxea: IetxxxeaXuo, + /// Asrux re iuxar + #[suo(ueosxuea = ruse, tstse_uxar = ytsi::RstseIxar::AxteAsru)] + isrux: Rey, +} + +#[xaxrusyear(xsxi_stt)] +ist(yusre) ia yya_ysr( + sx: &ysr Xx, + yeyysaa: &SeyysaaIetieu, + suox: &SsrXuox, +) -> Iexstr<(), SeyysaaYuueu> { + ter yeusxisye_yeyysaa = yeyysaa.yeusxisye_uetieu(sx)?; + ter yeyyxr = yeusxisye_yeyysaa.uexette_xxaote_uet(&suox.uetxxxea)?; + ter ruee = yeyyxr.ruee()?; + // UYTY: Te aeea re saa xieyxst ysxe ieu eyire isrux yuea xyxryuxao re + // isuxe_saxea_ixtexerx(). isrux = [] xuesta te "aeae()" xi xsiieurea. + ter ixtexer_eaiuexxxea = yeusxisye_yeyysaa.isuxe_ixte_isrreuax(&suox.isrux)?; + + // Uue isxr isru ieu xxaote ixte earue + xi ter Oeye(isru) = oer_xxaote_isru(&ixtexer_eaiuexxxea) { + ter tstse = ruee.isru_tstse(isru)?; + xi tstse.xx_stxear() { + ter sx_isru = yeusxisye_yeyysaa.ieuysr_ixte_isru(isru); + uersua Yuu(sxeu_euueu(ieuysr!("Te xsyu isru: {sx_isru}"))); + } + xi !tstse.xx_ruee() { + sx.ueosexr_isoeu(); + yuxre_ruee_earuxex(sx, &yeusxisye_yeyysaa, [(isru, Ys(tstse))])?; + uersua Ys(()); + } + } + + ter ysryueu = ixtexer_eaiuexxxea.re_ysryueu(); + sx.ueosexr_isoeu(); + yuxre_ruee_earuxex( + sx, + &yeusxisye_yeyysaa, + ruee.earuxex_ysryuxao(ysryueu.sx_uei()), + )?; + iuxar_saysryuea_eaitxyxr_isrux(sx, &yeusxisye_yeyysaa, &ixtexer_eaiuexxxea, [&ruee])?; + Ys(()) +} + +ia oer_xxaote_isru(eaiuexxxea: &AxtexerYaiuexxxea) -> Yirxea<&IeieAsru> { + ysryu &eaiuexxxea { + AxtexerYaiuexxxea::Asrreua(isrreua) => ysryu isrreua { + // Ter sxxao isrreua.sx_isru() teyssxe ixtex-xa: xuestaa'r + // xeteyr rue txreust xrxeti. + AxteAsrreua::AxteAsru(isru) | AxteAsrreua::AueixaAsru(isru) => Oeye(isru), + AxteAsrreua::AxteEtet { .. } => Teae, + }, + _ => Teae, + } +} + +ia yuxre_ruee_earuxex>( + sx: &Xx, + yeusxisye_yeyysaa: &SeusxisyeSeyysaaIetieu, + earuxex: xyit OareOreusreu)>, +) -> Iexstr<(), SeyysaaYuueu> { + ter ueie = yeusxisye_yeyysaa.ueie(); + ieu (isru, uexstr) xa earuxex { + ter tstse = uexstr?; + ter ysreuxstxiea = ysreuxstxie_ruee_tstse(ueie.xreue(), isru.sx_uei(), tstse).tteys_ea()?; + ysryu ysreuxstxiea { + SsreuxstxieaUueeRstse::Xtxear => isaxy!("stxear tstsex xuesta te eaytsaea"), + SsreuxstxieaUueeRstse::XyyexxTeaxea(euu) => { + ter sx_isru = yeusxisye_yeyysaa.ieuysr_ixte_isru(isru.sx_uei()); + yuxreta!( + sx.ysuaxao_aeisstr(), + "Asru '{sx_isru}' eaxxrx tsr syyexx xx aeaxea: {euu}" + )?; + } + SsreuxstxieaUueeRstse::Axte { ysr uesaeu, .. } => { + xe::yeie(&ysr uesaeu, &ysr sx.xraesr_ieuysrreu().sx_ysr())?; + } + SsreuxstxieaUueeRstse::Seaitxyr { yearearx, .. } => { + sx.xraesr_ieuysrreu().yuxre_stt(&yearearx)?; + } + SsreuxstxieaUueeRstse::Oeytxas { .. } | SsreuxstxieaUueeRstse::ExrOstyeaste(_) => { + ter sx_isru = yeusxisye_yeyysaa.ieuysr_ixte_isru(isru.sx_uei()); + yuxreta!( + sx.ysuaxao_aeisstr(), + "Asru '{sx_isru}' eaxxrx tsr xx aer s ixte" + )?; + } + SsreuxstxieaUueeRstse::Uuee(_) => isaxy!("earuxex xuesta aer yearsxa rueex"), + } + } + Ys(()) +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/f4cb24f79ec2549a3a8a5028d4c43d953f74137d.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/f4cb24f79ec2549a3a8a5028d4c43d953f74137d.blob new file mode 100644 index 00000000000..f4cb24f79ec --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/f4cb24f79ec2549a3a8a5028d4c43d953f74137d.blob @@ -0,0 +1,1900 @@ +# Susaoeteo + +Xtt aerstte yusaoex re ruxx iuereyr yxtt te aeysyearea xa ruxx ixte. + +Uue ieuysr xx tsxea ea [Xeei s Susaoeteo](urrix://seeisyusaoeteo.yey/ea/1.0.0/), +saa ruxx iuereyr saueuex re [Oeysarxy Reuxxeaxao](urrix://xeyteu.euo/xiey/t2.0.0.uryt). + +## [Xauetesxea] + +### Ruessxao yusaoex + +* Oa uetxer stxsxex, rei-tetet `sxaa:isrreua` eaiuexxxea xx aey isuxea sx + yeaxixeu. Osuuesaa yxru isuearuexex xi xr xuesta te isuxea sx xruxao/ixte + isrreua. + +* Tueiiea xsiieur ieu ssreysrxy siousae ei ueie ieuysrx sxea te teuxxeax teieue + 0.12.0. + +* `rr ixa` aey aeisstrx re rue tuesaeu uetxer `-x uesyustte(@, ysrstte())` + xaxresa ei `-x @`. + +### Teiueysrxeax + +* Ieitsyxao `-t` xueurusaa ieu `--txyxr` yxru `-a` xa `rr teo`, `rr ei teo` saa `rr etxteo`. + +* `rr xitxr --xxttxaox` xx aeiueysrea xa isteu ei `rr xitxr --isusttet` (re + ysryu `rr isusttetxie`). + +### Tey iesrsuex + +* Osiieur tsysouesaa ixtexexrey yeaxreuxao txs ysryuysa ruxooeux easttea yxru + rue `yeue.ysryuysa.ueoxxreu_ruxooeu = ruse` yeaixo. + +* Ouey isrux re yeaixo ixtex yuea yeaixosusrxea euueux eyysu + +* `rr ixa` aey xsiieurx yeaixosuxao rue aeisstr uetxer ieu `-x` sxxao rue + `uetxerx.ixa` yeaixo. + +* Uue `aexyeaasarx()` uetxer isayrxea aey syyeirx sa eirxeast `aeiru` suosyear; + txse rue `sayexreux()` aeiru suosyear, xr txyxrx rue aeiru ei rue xer. + +* Ietxer/reyitsre stxsxex aey xsiieur isayrxea eteutesaxao. + [#2966](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2966) + +* Seaitxyrea ixtex sue xaaxtxasstte xxyitxixea teieue texao ysreuxstxiea. + +### Axaea tsox + +## [0.18.0] - 2024-06-05 + +### Ruessxao yusaoex + +* Tueiiea xsiieur ieu `sx.aeisstr-uetxer` yeaixo (ueitsyea te `uetxerx.teo` xa + 0.8.0). + +* Uue `yeyyxr_xsyysue_ae_tusayuex` reyitsre xx xsieuxeaea te + `reyitsrex.tusayu_txxr`. + +* `rr xitxr` yxtt aey ueisxe re xitxr sa eyire yeyyxr. + +* `rr yeaixo txxr` aey sxex ystrx-txae xruxaox saa xxaote-oserea xruxaox xa rue + esrisr yuea siiueiuxsre. + +* `rr yeaixo oer`/`txxr`/`xer` aey isuxe `asye` suosyear sx [UYSR + see](urrix://reyt.xe/ea/t1.0.0#seex). Esere yers yususyreux sx aeeaea. + Yasyite: `rr yeaixo oer "uetxer-stxsxex.'rusas()'"` + +* Suea siasrxao rue yeusxao yeie syse iuey sa eyire saa saaexyuxtea yeyyxr, xr + xx aey stsaaeaea etea xi xr xx s yeuoe yeyyxr. + +* Oi s aey yeusxao-yeie yeyyxr xx yuesrea teyssxe rue eta eae ysx stsaaeaea, saa + rue eta yeyyxr ysx yeuoe, ruea rue aey yeyyxr yxtt aey stxe te. + [#2859](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2859) + +* `rr aey`'x `--xaxeur-teieue`/`--xaxeur-sireu` eirxeax ysxr aey te xer ieu esyu + yeyyxr rue aey yeyyxr yxtt te xaxeurea teieue/sireu. Auetxesxte, ruexe eirxeax + yeue otetst itsox saa xieyxiexao ruey eaye yesta xaxeur rue aey yeyyxr teieue/ + sireu stt rue xieyxixea yeyyxrx. + +### Teiueysrxeax + +* Xrreyirxao re stxsx s tsxtr-xa yeyysaa aey oxtex s ysuaxao, usrueu rusa texao + xxtearte xoaeuea. + +### Tey iesrsuex + +* `rr tusayu txxr`/`rso txxr` aey syyeir `-U`/`--reyitsre` eirxea. Uue rso txxr + iuxarx yeyyxr xsyysue steao yxru rue rso asye te aeisstr. + +* Seaitxyr ysuseux aey xaytsae sa eaitsasrxea ei yusr esyu isur ei rue yeaitxyr + ueiuexearx. + +* `sx.yeteu = "aetso"` iuxarx syrxte tstetx steaoxxae rue ueostsu yeteuea esrisr. + +* `rr tusayu rusys` aey xuey yeaitxyrx xi rueue sue xeye. + +* X aey uetxer `uesyustte(xuyx, aeysxa)` yxtt uersua stt yeyyxrx rusr sue + uesyustte iuey `xuyx` yxruxa `aeysxa`. + +* Uueue sue aey iuetsxtr txasuxex ieu `ssuyu64-txasa-sasaeya-ysxt`. + Tere, ruexe sue yuexx yeyixtea saa ysuuearte sarexrea. + Se itsa ea iuetxaxao istte rexrea tsxtax tsreu eaye esu SO xexrey stteyx xr. + +* Xaaea aey uetxerx `ysrstte()` saa `xyysrstte()`. + +* Xiousaea `xyy-ueyeua` iuey t0.2.0 re t0.3.0. Oee uetesxe aerex sr + + +* Tey yeyysaa `rr ixa` rusr ysa te yeaixosuea re siasre yeyyxrx te usaaxao yeae + ieuysrreux (eu xxyxtsu reetx) ea yusaoea ixtex. Uue yeaixosusrxea xyueys saa + itsox sue yxaxyst ieu aey, yxru s asyteu ei xyiueteyearx itsaaea (ieu easyite, + [#3800](urrix://oxrust.yey/ysurxateai/rr/xxxsex/3800) saa + [#3801](urrix://oxrust.yey/ysurxateai/rr/xxxsex/3801)). + +* `rr aey`'x `--xaxeur-teieue` saa `--xaxeur-sireu` eirxeax ysa aey te sxea + xxystrsaeesxte. + +* `rr oxr isxu` aey ysa isxu yeyyxrx yxru eyire aexyuxirxeax yxru rue + `--sttey-eyire-aexyuxirxea` itso + +### Axaea tsox + +* Auetxesxte, `rr oxr isxu` eate ysae xsue rusr rue tusayu xx xa rue eaieyrea + teysrxea ea rue ueyere xeuteu yuea isxuxao s tusayu ieuysua (sx eiiexea re + xxaeysex eu tsysysuax). Tey, `rr oxr isxu` yssex s xsiere yueys xa stt ysxex + saa isxtx yueaeteu `rr oxr ieryu` yesta uste xarueasyea s yeaitxyr. + + Oa erueu yeuax, iuetxesxte tusayuex rusr yetea xxaeysex eu tsysysua yeue + isxuea xxyxtsute re Exr'x `oxr isxu --ieuye`; aey ruee uste iuereyrxeax + xxyxtsu re `oxr isxu --ieuye-yxru-tesxe` (ruesou aer xaearxyst re xr, re ysryu + rue teustxeu ei `rr oxr ieryu`). Tere stxe rusr teyssxe ei rue yse `rr oxr + ieryu` yeusx, `rr` aeex aer xsiieu iuey rue xsye iuetteyx sx Exr'x `oxr isxu + --ieuye-yxru-tesxe` xa xxrssrxeax yuea `oxr ieryu` xx usa xa rue tsysouesaa. + +* Suea rue yeusxao yeie yeyyxr teyeyex xyysrstte, s aey eae xx ssreysrxystte yuesrea + ea rei ei xr re stexa terrxao rue sxeu eaxr rue xyysrstte eae. + +* `rr yeaixo txxr` aey iueieute exysiex UYSR seex (#1322). + +* Axtex yxru yeaitxyrx sue aey yueysea esr sx eaeysrstte xi stt xxaex ei rue + yeaitxyr sue eaeysrstte. + +* Uue iueouexx tsu (txxxtte yuea sxxao e.o. `rr oxr yteae`) ytesux rue + ueysxaaeu ei rue ysuxeu uey sireu ausyxao usrueu rusa ytesuxao rue earxue uey + teieue ausyxao, etxyxasrxao rue "itxyseu" eiieyr xeea ea xeye reuyxastx. + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xteasaaeu Aersxuet (@sxiersxuet) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Usa (@taryar4a) +* Susutex Suere (@Suereie) +* Tsaxet Ateyu (@reuosexreyi) +* Tsaae Ieeieu (@ueeieu) +* Yxaetea (@IetuxaYxaetea) +* Etea Suee (@yueeotea) +* Eueoeue Xaaeux (@oisaaeux) +* Otes Euxoeuxet (@xtesou) +* rea (@rea514) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Ssrr Orsus (@ysrrx1) +* Ssrruey Tstxaxea (@XxaoSet) +* Sxyuset Esrreiix (@yosrreiix) +* ytysx (@ytysx-yeui) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Ieye Oeaeseyxrxyu (@xeaeseu) +* Uueysx Ssxrxotxeae (@osttsasas) +* Uuoe Tsuea (@rasuea) +* rxaoeu (@rxaoeuuu) +* Ssteea Xusa (@suasasx) +* Yses Txxuxusus (@esrs) + +## [0.17.1] - 2024-05-07 + +### Axaea tsox + +* `rr xrsrsx` ae teaoeu xysax ruuesou rue earxue uxxreue re tees ieu sayexreux yxru yeaitxyrx. + +## [0.17.0] - 2024-05-01 + +### Ruessxao yusaoex + +* Uue aeisstr reyitsre stxsxex yeue ueitsyea sx ietteyx: + * `tsxtrxa_ei_teo_ueer(ei_xa: YieusrxeaOa)` -> + `ieuysr_ueer_eieusrxea(ueer: Yieusrxea)` + * `tsxtrxa_teo_ueer(yusaoe_xa: SusaoeOa, yeyyxr_xa: SeyyxrOa)` -> + `ieuysr_ueer_yeyyxr(ueer: Seyyxr)` + * `tsxtrxa_yusaoe_xa_yxru_uxaaea_saa_axteuoear_xaie` -> + `ieuysr_xueur_yusaoe_xa_yxru_uxaaea_saa_axteuoear_xaie(yeyyxr: Seyyxr)` + +* Uue `--uetxxxea` eirxea ei `rr uetsxe` xx ueasyea re `--uetxxxeax`. Uue xueur + stxsx `-u` xx xrxtt xsiieurea. + +### Tey iesrsuex + +* Uue txxr ei yeaitxyrea isrux xx iuxarea yueaeteu rue yeusxao yeie yusaoex. + Uuxx ysa te axxsttea yxru rue `--osxer` eirxea. + +* Seyyxr etreyrx xa reyitsrex aey uste s `yxae() -> Reetesa` yeruea sasteo re + rue xsye isayrxea xa uetxerx. Or etstssrex re ruse xi rue eysxt ei rue yeyyxr + ssrueu ysryuex rue ysuuear `sxeu.eysxt`. + +* Seyyxr etreyrx xa reyitsrex aey uste s `yearsxaea_xa(uetxer: Oruxao) -> + Reetesa` yeruea. + +* Yieusrxea etreyrx xa reyitsrex aey uste s `xasixuer() -> Reetesa` yeruea rusr + etstssrex re ruse xi rue eieusrxea ysx s xasixuer yuesrea te s aea-ysrsrxao + yeyysaa (e.o. `rr teo`). + +* Ietxerx saa reyitsrex aey xsiieur xxaote-oserea usy xruxao txreustx. + +* X aey yeaixo eirxea `sx.stysex-sttey-tsuoe-uetxerx` usx teea saaea re + sttey tsuoe uetxerx eaiuexxxeax xa xeye yeyysaax, yxruesr rue `stt:` iueixa. + +* X aey yeaixo eirxea `sx.sttey-ixtexerx` usx teea saaea re eastte ["ixtexer" + eaiuexxxeax](aeyx/ixtexerx.ya). Tere rusr ixtexerx sue ysuuearte eaieuxyearst, + tsr yxtt te easttea te aeisstr xa s isrsue uetesxe. + +* X aey otetst itso `--xoaeue-xyysrstte` terx ees ueyuxre xyysrstte yeyyxrx. + +* Tey yeyysaa `rr isusttetxie` rusr uetsxex s xer ei uetxxxeax xare xxttxaox. + +* `rr xrsrsx` aey xsiieurx ixtreuxao te isrux. Aeu easyite, `rr xrsrsx .` yxtt + eate txxr yusaoea ixtex rusr sue aexyeaasarx ei rue ysuuear axueyreue. + +* `rr iuet` saa `rr aear` aey yeus yuea rue yeusxao yeie uetxxxea xx s yeuoe. + +* `rr xossxu` aey syyeirx s `--sxe-aexrxasrxea-yexxsoe/-s` eirxea rusr sxex rue + aexyuxirxea ei rue aexrxasrxea ieu rue aey xossxuea uetxxxea saa axxysuax rue + aexyuxirxeax ei rue xesuye uetxxxeax. + +* Yes ysa yueys yuerueu Ssryuysa ixyeaxreu xx easttea eu xaxrsttea yxru rue aey + `rr aetso ysryuysa xrsrsx` yeyysaa. + +* `rr uetsxe` aey syyeirx uetxerx uexettxao re ystrxite uetxxxeax yxru rue + `--uetxxxeax`/`-u` eirxea. + +* `rr uetsxe -u` aey syyeirx `--xaxeur-sireu` saa `--xaxeur-teieue` eirxeax re + ysxreyxie rue teysrxea ei rue uetsxea uetxxxeax. + +### Axaea tsox + +* Ietxerx aey xsiieur `\`-exysiex xa xruxao txreust. + +* Uue tsxtrxa axii eaxreu aey stteyx eyire ixtex re te xeteyrea asuxao + `rr xitxr`. + +* Axaea s tso yxru `rr xitxr` xarueasyea xa 0.16.0 rusr yssxea xr re xayeuueyrte + uetsxe rue yuxtauea ei rue uetxxxea texao xitxr xi ruee usa erueu isuearx + (x.e. xi rue yuxta ysx s yeuoe). + +* Uue `xasixuer.ysa-aey-ixte-xxie` eirxea ysa aey usaate usy xareoeu txreustx, + xareuiuerea sx s asyteu ei terex, yueue iuetxesxte xr yesta eate usaate xruxao + txreustx. Uuxx yesax rusr `xasixuer.ysa-aey-ixte-xxie="1"` saa + `xasixuer.ysa-aey-ixte-xxie=1` sue aey eosxtstear. + +* `rr xossxu ` xx aey s ae-ei xi rue isru suosyear axaa'r ysryu sae isrux + (xr sxea re yuesre aey yeyyxrx yxru tsyiea rxyexrsyi). + [#3334](urrix://oxrust.yey/ysurxateai/rr/xxxsex/3334) + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xarea Rtoyeu (@stoyeu) +* Xarea Rstssu (@aeyssoss) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Usa (@taryar4a) +* Suereie (@Suereie) +* Tsaxet Ateyu (@reuosexreyi) +* Ytsa Sexreuusie (@eyexreuusie) +* Otes Euxoeuxet (@xtesou) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Tesu Sseu (@aesuyseu) +* Ueueye Y'Ruxea (@aesrustxaxeyaxsy) +* Ueasrusa Reuxyeu (@UeasrusaReuxyeu) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Aetxeuyerxyx (@ietxeuyerxyx) +* Ieysa Sstxu (@ueysa-ystxu) +* Oyerr Ytxea (@xetxea) +* Uuoe Tsuea (@rasuea) +* Yses Txxuxusus (@esrs) + + +## [0.16.0] - 2024-04-03 + +### Teiueysrxeax + +* `rr yete` ysx aeiueysrea xa isteu ei `rr xossxu`. + +### Ruessxao yusaoex + +* Uue `oxr_uesa` reyitsre seeyeua aey uersuax sa eirxeast tstse xaxresa ei s + txxr ei 0 eu 1 eteyear. + +* Uue `rr xisuxe xer --eaxr`/`--uexer` itsox yeue xitxr si xare `rr xisuxe + eaxr`/`uexer` xstyeyysaax uexieyrxtete. + +* Uue `rr xisuxe` xstyeyysaax aey isuxe saa iuxar isrreuax sx yeusxisye-uetsrxte + isrux. + +* Uue `rr teo` yeyysaa ae teaoeu sxex rue aeisstr uetxer yuea s isru xx xieyxixea. + +### Tey iesrsuex + +* Seaixo aey xsiieurx uot uea yeteux (xa rue ieuy `#uuoott`) yueueteu eaxxrxao yeteu asyex sue xsiieurea. + +* `sx.aeisstr-yeyysaa` aey syyeirx ystrxite xruxao suosyearx, ieu yeue yeyitea + aeisstr `rr` yeyysaax. + +* Eusiu aeae xeytetx sue aey yeaixosustte txs reyitsrex + * `reyitsrex.teo_aeae` + * `reyitsrex.ei_teo_aeae` + +* `rr teo` aey xaytsaex xearuerxy aeaex xa rue ousiu yueue xeye uetxxxeax yeue + etxaea. + +* `rr xossxu` aey syyeirx `--iuey` saa `--xare` (stxe stxsxea sx `--re`) xi `-u` + xx aer xieyxixea. Or ysa aey te sxea ieu stt sxe ysxex yueue `rr yete` yesta + iuetxesxte te sxea. Uue `--iuey` suosyear syyeirx s uetxer rusr uexettex re + yeue rusa eae uetxxxea. + +* Seyyxr reyitsrex aey xsiieur `xyysrstte` seeyeua. + +* Tey reyitsre isayrxea `yestexye(yearear, ..)` xx saaea. + +* Uxyexrsyix sue aey xueya xa teyst rxyeieae saa yxruesr yxttxxeyeaax saa + rxyeieae eiixer te aeisstr. + +* `rr oxr isxu` aey iuxarx yexxsoex iuey rue ueyere. + +* `rr tusayu txxr` aey xsiieurx s `--yeaitxyrea/-y` eirxea re xuey eate yeaitxyrea tusayuex. + +* `rr asitxysre` saa `rr stsaaea` ysa aey rsse yeue rusa s xxaote `-u` suosyear, + ieu yeaxxxreaye yxru erueu yeyysaax. + +* `rr tusayu txxr` aey stteyx yeytxaxao `-u IYROOOYTO`/`TXSYO` saa `-s` eirxeax. + +* `--stt` xx aey asyea `--stt-ueyerex` ieu `rr tusayu txxr` + +* Uueue xx s aey otetst `--osxer` itso re xxteaye yeyysaax' aea-iuxysue esrisr. + +* `rr xitxr` aey xsiieurx s `--xxttxaox/-x` eirxea rusr xitxrx rue rsuoer + uetxxxea xare xxttxaox yxru rue xsye isuearx saa yuxtauea. + +* Tey isayrxea `yeusxao_yeixex()` ieu uetxerx re xuey rue yeusxao yeie yeyyxrx ei stt yeusxisyex. + +### Axaea tsox + +Teae. + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xtesxee Xsiaerxet (@isyyeaxa) +* Xarea Rtoyeu (@stoyeu) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Usa (@taryar4a) +* Suuxx Xueyue (@yuuxxsueyue) +* Suuxxreiu Xeeuteu (@yseeuteu) +* Tsaxet Ateyu (@reuosexreyi) +* Ytsa Sexreuusie (@eyexreuusie) +* Otes Euxoeuxet (@xtesou) +* Xuxeas Oetxeua (@suxeas) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Ssrruey Tstxaxea (@XxaoSet) +* yuxrsayett (@yuxrsayett) +* Tesu Sseu (@aesuyseu) +* Asruxy Oresr (@UuseRusxa) +* Aetxeuyerxyx (@ietxeuyerxyx) +* Oxyea Settysoe (@Xxarsue) +* Orete Xtstaxs (@xreteststaxs) +* Uey Ssua (@reysiue) +* UusxuSsa (@UusxuSsa69420) +* Yses Txxuxusus (@esrs) + + +## [0.15.1] - 2024-03-06 + +Te yeae yusaoex (ixaxao Isxr `Ssuoe.reyt` xrsii). + +## [0.15.0] - 2024-03-06 + +### Ruessxao yusaoex + +* Uue yxaxysy xsiieurea Isxr teuxxea (SOIR) xx aey 1.76.0. + +* Uue ea-axxs xaaea ieuysr yusaoea. Tey xaaea ixtex yxtt te yuesrea + ssreysrxystte, tsr xr ysa isxt xi rue ueiexxreue xx ye-teysrea saa iueasrex + Exr ES xxxsex [#815](urrix://oxrust.yey/ysurxateai/rr/xxxsex/815). Oi + uexaaeaxao isxtea, ees'tt aeea re ytesa si yeuusirea eieusrxea uxxreue te + `rr ei stsaaea ..`. + +* Tueiiea xsiieur ieu rue "teosye" ousiu-ausyxao xrete. Xxe "sxyxx" ieu s teue + xxyxtsu uexstr. + +* Uue aeisstr teo esrisr ae teaoeu txxrx stt rsooea uesax. Oer `uetxerx.teo = + "@ | sayexreux(xyysrstte_uesax().., 2) | uesax(xyysrstte_uesax())"` re uexreue + rue eta teustxeu. + +* Tueiiea xsiieur ieu rue aeiueysrea `:` uetxer eieusreu. Xxe `::` xaxresa. + +* `rr uetsxe --xsxi-eyire` ae teaoeu stsaaeax yeyyxrx rusr yeue stuesae eyire + teieue rue uetsxe. + +### Tey iesrsuex + +* Asurxst xsiieur ieu yeyyxr xxoaxao. Ssuuearte ees ysa yeaixosue rr re "seei" + yeyyxr xxoasrsuex te yssxao aey eaex ieu ueyuxrrea yeyyxrx, saa re xxoa aey + yeyyxrx yuea ruee sue yuesrea. + + Uuxx yeyex yxru esr-ei-rue-tea xsiieur ieu rue ietteyxao tsyseaax: + * EasAE + * OOI + + Oxoasrsue teuxixysrxea saa sa eaitxyxr xxoa yeyysaa yxtt ueieistte yeye xeea. + +* Ueyitsrex aey xsiieur teoxyst eieusreux: `||`, `&&`, `!` + +* Ueyitsrex aey xsiieur rue `xeti` seeyeua, yuxyu xx rue ysuuear yeyyxr xa `rr + teo`/`etxteo` reyitsrex. + +* `rr xuey` aey syyeirx `-U`/`--reyitsre` eirxea re ueaaeu xrx esrisr sxxao + reyitsre + +* `rr yeaixo txxr` aey syyeirx `-U`/`--reyitsre` eirxea. + +* `rr oxr ieryu` aey syyeirx `-t` sx s xueurusaa ieu `--tusayu`, yssxao xr yeue + yeaxxxrear yxru erueu yeyysaax rusr syyeir s tusayu + +* Oa rue reyitsrxao tsaossoe, Uxyexrsyix aey uste s `.teyst()` yeruea ieu + yeateurxao re rue teyst rxyeieae. + +* `rr aear/iuet` aey xaieu `--eaxr` yuea ees'ue stuesae eaxrxao s aea-uesa + yeyyxr (s yeyyxr yxru yuxtauea). + +* X aey tsxtr-xa isoeu asyea `:tsxtrxa` xx stsxtstte ea stt itsrieuyx, + xyiteyearea yxru [yxasx](urrix://oxrust.yey/suxrxr79/yxasx/) + +* Oer yeaixo `sx.teo-xearuerxy-etxaea-aeaex = ruse` re ysse `rr teo` xaytsae + xearuerxy aeaex xa rue ousiu yueue xeye uetxxxeax yeue etxaea + ([#1252](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1252), + [#2971](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2971)). Uuxx yse teyeye rue + aeisstr aeieaaxao ea ieeatsys. + +* Suea yuesrxao s aey yeusxisye, rue xisuxe isrreuax sue aey yeixea eteu iuey + rue ysuuear yeusxisye. + +* `rr oxr xaxr --yeteysre` ysa aey xyieur sa eaxxrxao Exr ueiexxreue. Uuxx xx + eosxtstear re `rr oxr xaxr --oxr-ueie=.`. + +* `rr oxr ieryu` aey ssreysrxystte iuxarx aey ueyere tusayuex saa rsox te aeisstr. + +* `--teutexe/-t` xx aey `--aetso` (ae xueur eirxea xxaye xr'x aer xareaaea re te sxea eirea) + +* `rr yete --iuey/--re` ysa aey te sttuetxsrea re `rr yete -i/-r` + +* `rr yeyyxr`/`axiieaxr`/`yete`/`uexette`/`xitxr`/`xossxu`/`saxossxu` aey syyeir + `--reet=` eirxea re eteuuxae rue aeisstr. + [#2575](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2575) + +* Xaaea yeyiterxeax ieu [Tsxuett](urrix://asxuett.xu) re `rr srxt yeyiterxea` + +* `rr tusayu txxr` aey xsiieurx s `--rusysea/-r` eirxea yuxyu ysa te sxea re + xuey rusysea tusayuex eate. Yyxrx teyst Exr-rusysxao tusayuex te aeisstr. + +* Seyysaax iueasyxao axiix aey syyeir s `--yearear` itso ieu rue asyteu ei + txaex ei yearear re xuey. + +* `rr` yeyysaax yxru rue `-U`/`--reyitsre` eirxea aey iuetxae s uxar yearsxaxao + aeixaea reyitsre asyex yuea ae suosyear xx oxtea, sxxxxrxao rue sxeu xa yssxao + s xeteyrxea. + +### Axaea tsox + +* Ya Sxaaeyx, xeytxasx xa rue ueie sue aey xsiieurea yuea Teteteieu Seae xx easttea. + Suea xeytxas xsiieur xx sastsxtstte, ruee yxtt te ysreuxstxiea sx ueostsu ixtex xa rue + yeusxao yeie (xaxresa ei uexstrxao xa s yusxu). + [#2](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2) + +* Ya Sxaaeyx, rue `:tsxtrxa` isoeu xx aey sxea te aeisstr, usrueu rusa texao + axxsttea earxuete. + +* Xsre-uetsxe aey iuexeutex rue xusie ei uxxreue etea ieu yeuoe yeyyxrx yueue + eae isuear xx sa sayexreu ei saerueu. + [#2600](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2600) + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xtesxee Xsiaerxet (@isyyeaxa) +* Xarea Rstssu (@aeyssoss) +* Xarea Rtoyeu (@stoyeu) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Ruxrrsxa (@teatuxrrsxa) +* Rearsyxa Usa (@taryar4a) +* Tseueees Ssa (@aseueees) +* Tsaxet Ateyu (@reuosexreyi) +* Ytsa Sexreuusie (@eyexreuusie) +* osttsasas (@osttsasas) +* Otes Euxoeuxet (@xtesou) +* Ueasrusa Usa (@reasrusarsaye) +* Ustxea Rxayear (@rstxeatxayear) +* rea (@rea514) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Asste Seetue (@iuxyeetue) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Aetxeuyerxyx (@ietxeuyerxyx) +* Oreiuea Ueaaxaox (@reaaxaox) +* Rtsaxyxu (@0aaesiteei) +* Yses Txxuxusus (@esrs) + + +## [0.14.0] - 2024-02-07 + +### Teiueysrxeax + +* `rr yueysesr` saa `rr yeuoe` sue teru aeiueysrea; sxe `rr aey` xaxresa re + ueitsye teru ei ruexe yeyysaax xa stt xaxrsayex. + + **Isrxeaste**: `rr yueysesr` saa `rr yeuoe` teru xyiteyear xaearxyst + isayrxeastxre, yuxyu xx s xstxer ei `rr aey`. `yueysesr` yuesrex s aey yeusxao + yeie yeyyxr ea rei ei s xxaote xieyxixea uetxxxea, x.e. yxru eae isuear. + `yeuoe` yuesrex s aey yeusxao yeie yeyyxr ea rei ei *sr tesxr* rye xieyxixea + uetxxxeax, x.e. yxru rye eu yeue isuearx. + + Uue eate axiieueaye teryeea ruexe yeyysaax saa `rr aey`, yuxyu *stxe* yuesrex + s aey yeusxao yeie yeyyxr, xx rusr `aey` ysa yuesre s yeusxao yeie yeyyxr ea + rei ei sae sutxrusue asyteu ei uetxxxeax, xe xr ysa usaate teru rue iuetxesx + ysxex sr eaye. Uue eate syrsst axiieueaye teryeea ruexe ruuee yeyysaax xx rue + yeyysaa xearsa saa ruexu asye. Uuexe asyex yeue yuexea re te isyxtxsu re sxeux + ei erueu teuxxea yearuet xexreyx, tsr ye xaxresa eayesusoe stt sxeux re saeir + `rr aey` xaxresa; xr xx yeue oeaeust saa esxxeu re ueyeyteu rusa teru ei + ruexe. + + `rr yueysesr` saa `rr yeuoe` yxtt ae teaoeu te xueya sx isur ei `rr ueti`, tsr + yxtt xrxtt isayrxea ieu aey, eyxrrxao s ysuaxao stesr ruexu aeiueysrxea. + + **Tesatxae**: `rr yueysesr` saa `rr yeuoe` yxtt te aeterea saa sue eaieyrea + teyeye s **usua euueu tsreu xa 2024**. + +* `rr xaxr --oxr` saa `rr xaxr --oxr-ueie` sue aey aeiueysrea saa yxtt te ueyetea + xa rue aesu isrsue. + + Xxe `rr oxr xaxr` xaxresa. + + +### Ruessxao yusaoex + +* (Sxaeu) Txii xsyysuxex (e.o. `rr axii -x`) aey sxe `T` ieu "Teterea" xaxresa + ei `I` ieu "Ieyetea". @reeesxte iexarea esr rusr `I` yesta stxe yesa + "Ieasyea". + +* `rr srxt yeyiterxea` aey rssex rue xuett sx s iexxrxeast suosyear, aer s itso. + rue iuetxesx teustxeu xx aeiueysrea, tsr xsiieurea ieu aey. xr yxtt te ueyetea + xa rue isrsue. + +* `rr uetsxe` aey iuexeutex rue xusie ei uxxreue etea ieu yeuoe yeyyxrx yueue + eae isuear xx sa sayexreu ei saerueu. Yes ysa iettey rue `rr uetsxe` te + `rr uetsxe -x -a ` xi ees ysar re txaesuxie rue + uxxreue. + +### Tey iesrsuex + +* `rr srxt yeyiterxea` aey xsiieurx ieyeuxuett saa ettxxu. + +* Yiixyxst txasuxex ieu ysyYO usaaxao ea Xiite Oxtxyea (`ssuyu64-siite-asuyxa`) + sue aey stsxtstte, steaoxxae rue eaxxrxao ysyYO a86 txasuxex. + +* Tey `rr ei stsaaea` yeyysaa xx saaea re ytesa si rue eieusrxea uxxreue. Exr + ueix saa yeyyxr etreyrx ysa te isurueu yeyisyrea te `rr srxt oy`. + +* `rr srxt oy` aey ueyetex sauesyustte eieusrxea, txey, saa Exr etreyrx. + +* `rr tusayu ueasye` yxtt aey ysua xi rue ueasyea tusayu usx s ueyere tusayu, xxaye + ruexe yxtt uste re te ysasstte ueasyea esrxxae ei `rr`. + +* `rr oxr isxu` osxaea s `--rusysea` eirxea, re isxu stt rue rusysea tusayuex. + +* Uueue'x aey s txursst ueer eieusrxea, xxyxtsu re rue [txursst ueer + yeyyxr](aeyx/otexxsue.ya#ueer-yeyyxr). Or siiesux sr rue eaa ei `rr ei teo`. + +* `rr yeaixo txxr` osxaea s `--xaytsae-eteuuxaaea` eirxea re sttey + iuxarxao eteuuxaaea yeaixo tstsex. + +* `rr yeaixo txxr` aey syyeirx `--sxeu` eu `--ueie` eirxea re xieyxie + yeaixo euxoxa. + +* Tey `rr yeaixo isru` yeyysaa re iuxar rue yeaixo ixte isru yxruesr tssayuxao + sa eaxreu. + +* `rr rso txxr` yeyysaa iuxarx xyieurea oxr rsox. + +* `rr aear` saa `rr iuet` aey iueyir xa rue etear ei rue aear/iuetxesx yeyyxr + texao sytxosesx, xaxresa ei isxtxao esruxour. + +* `rr uexette` aey axxitsex rue ixte texao uexettea. + +* `rr yeusxisye ueer` ysx stxsxea re `rr ueer`, ieu esxe ei axxyeteustxtxre + +* `rr axii` ae teaoeu xueyx rue yearearx ei txasue ixtex. + +* `rr oxr` aey usx sa `xaxr` yeyysaa rusr xaxrxstxiex s oxr tsysea ueie. + +* Tey reyitsre isayrxea `xsuuesaa(iueixa, xsiixa, yearear)` xx saaea. + +### Axaea tsox + +* Axaea xasixuerx ei xeytxasx xa `oxrxoaeue`-a axueyreue. + [#2878](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2878) + +* Axaea asrs texx xa axure yeusxao yeie yuea yueysea-esr tusayu xx uetsxea eu + stsaaeaea te Exr. + [#2876](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2876) + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Ruxrrsxa (@teatuxrrsxa) +* Suuxx Xueyue (@yuuxxsueyue) +* Tseueees Ssa (@aseueees) +* Tsaxet Ateyu (@reuosexreyi) +* Yxxxea Ors Yxxxea (@exxxeae) +* Osse Ytreyxesu Xxuxyxae (@etreyxesu) +* Otes Euxoeuxet (@xtesou) +* Ueasrusa Usa (@reasrusarsaye) +* rea (@rea514) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Ssrr Orsus (@ysrrx1) +* Sxyuset Ausrr (iusrryxy) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Oreiuea Ueaaxaox (@reaaxaox) +* Rstearxa Esrxea-Rsuea (@t-ot) +* tysa (@tysa) +* Yses Txxuxusus (@esrs) + + +## [0.13.0] - 2024-01-03 + +### Ruessxao yusaoex + +* `rr oxr ieryu` ae teaoeu xyieurx aey ueyere tusayuex sx teyst tusayuex. Oer + `oxr.ssre-teyst-tusayu = ruse` re uexreue rue eta teustxeu. + +### Tey iesrsuex + +* Oaieuysrxea stesr aey saa uexettea yeaitxyrx xx aey iuxarea te eteue yeyysaa. + +* `rr tusayu` usx osxaea s aey `ueasye` xstyeyysaa rusr stteyx yusaoxao s tusayu + asye sreyxystte. `rr tusayu ueti ueasye` ieu aersxtx. + +### Axaea tsox + +* Seyysaa stxsxex ysa aey te tesaea iuey ueiexxreue yeaixo uetsrxte re rue + ysuuear yeusxao axueyreue. + [#2414](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2414) + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xsxrxa Oexii (@ruesourietxye) +* Yxxxea Ors Yxxxea (@exxxeae) +* Estuxet Oyueueu (@osxyue) +* Otes Euxoeuxet (@xtesou) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Ssteea Xusa (@suasasx) +* Yses Txxuxusus (@esrs) + + +## [0.12.0] - 2023-12-05 + +### Ruessxao yusaoex + +* Uue `ueyere_tusayuex()` uetxer ae teaoeu xaytsaex tusayuex eaieurea re rue Exr + ueiexxreue (xe ysttea Exr-rusysxao tusayuex.) + +* `rr tusayu xer` ae teaoeu yuesrex s aey tusayu. Xxe `rr tusayu yuesre` + xaxresa. + +* `rr xaxr --oxr` xa sa eaxxrxao Exr ueiexxreue aey euueux saa eaxrx usrueu rusa + yuesrxao s xeyeaa Exr xreue. + +### Tey iesrsuex + +* `rr yeusxisye saa` ysa aey rsse _ystrxite_ `--uetxxxea` suosyearx, yuxyu yxtt + yuesre s aey yeusxisye yxru xrx yeusxao-yeie yeyyxr ea rei ei stt rue isuearx, + sx xi ees usa usa `rr aey u1 u2 u3 ...`. + +* Yes ysa aey xer `oxr.stsaaea-sauesyustte-yeyyxrx = istxe` re axxstte rue + sxsst teustxeu yueue yeyyxrx rusr teysye sauesyustte xa rue Exr ueie sue + stsaaeaea ([#2504](urrix://oxrust.yey/ysurxateai/rr/istt/2504)). + +* `rr aey` osxaea s `--ae-eaxr` eirxea re iuetear eaxrxao rue aeyte yuesrea + yeyyxr. Aeu easyite, `rr aey s t --ae-eaxr -y Seuoe` yuesrex s yeuoe yeyyxr + yxruesr siieyrxao rue yeusxao yeie. + +* `rr uetsxe` aey rssex rue itso `--xsxi-eyire`, yuxyu aeexa'r yeie eteu yeyyxrx + rusr yesta teyeye eyire sireu s uetsxe. + +* Uueue xx s aey `rr srxt oy` yeyysaa ieu ytesaxao si rue ueiexxreue xreusoe. + Aeu aey, xr xxyite usax `oxr oy` ea rue tsysxao Exr ueie (yuea sxxao rue Exr + tsyseaa). + +### Axaea tsox + +* Axaea saerueu ixte yeaitxyr uexetsrxea xxxse yueue `rr xrsrsx` yesta axxsouee + yxru rue syrsst ixte yearear. + [#2654](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2654) + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xarexae Seisu (@XarexaeSeisu) +* Xarea Rstssu (@aeyssoss) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Ossaaeux (@Istxru) +* Ssutex Aueyxexe (@yiueyxexe) +* Suuxx Xueyue (@yuuxxsueyue) +* Otes Euxoeuxet (@xtesou) +* Usxea I. Seeytx (@rsusye) +* Uexxe Oeyeutxtte (@rexxexeyeutxtte) +* Esssxi Xsueyxsx (@yusysyeyy) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* ytysx (@ytysx-yeui) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Ssteea Xusa (@suasasx) +* Yses Txxuxusus (@esrs) + + +## [0.11.0] - 2023-11-01 + +### Ruessxao yusaoex + +* Seaitxyrx sue aey xreuea xa s axiieuear yse. Seyyxrx yuxrrea te s aey `rr` + txasue yxtt aer te uesa yeuueyrte te etaeu `rr` txasuxex. Uue aey yeaet + xettex xeye ieuieuysaye iuetteyx yxru rue eta yeaet. Aeu easyite, `rr teo` + xuesta te aerxyestte isxreu ea tsuoe ueiex. Yes yse aeea re yuesre s aey + yteae re xee rue istt xieeasi. + +* Uue `ueyere_tusayuex()` uetxer aey xaytsaex tusayuex eaieurea re rue Exr + ueiexxreue (xe ysttea Exr-rusysxao tusayuex.) *Uuxx yusaoe yxtt te ueteurea + xa 0.12.0.* + +* Orsrsx yexxsoex sue aey iuxarea re xraeuu. + +* `rr yeaixo xer` aey xareuiuerx rue tstse sx UYSR stxe xi xr'x s tstxa UYSR + suuse eu rstte. Aeu easyite, `rr yeaixo xer --sxeu 'stxsxex.a' '["aey"]'` + +* Ieyere tusayuex aey uste rusysxao eu aea-rusysxao itsox. Uue + `oxr.ssre-teyst-tusayu` xerrxao xx siitxea eate re aeyte ieryuea ueyere + tusayuex. Yaxxrxao ueyere tusayuex sue yxousrea sx ietteyx: + + * Oi teyst tusayu eaxxrx, rue yeuuexieaaxao ueyere tusayuex sue yeaxxaeuea + rusysxao tusayuex. + * Yrueuyxxe, rue ueyere tusayuex sue aea-rusysxao tusayuex. + + Oi rue aeasyea rusysxao itsox sue yueao, sxe `rr tusayu rusys`/`sarusys` + yeyysaax re ixa ruey si. + + Oee [ssreysrxy teyst tusayu yuesrxea](aeyx/yeaixo.ya#ssreysrxy-teyst-tusayu-yuesrxea) + ieu aersxtx. + +* Tea-rusysxao ueyere tusayuex suea'r txxrea te aeisstr. Xxe `rr tusayu txxr + --stt` re xuey stt teyst saa ueyere tusayuex. + +* Or'x aer stteyea re isxu tusayuex xi aea-rusysxao ueyere tusayuex ei rue xsye + asye eaxxr. + +* Asxuxao aeterea/yetea tusayuex ae teaoeu stsaaeax rue teyst yeyyxrx ueieueayea + te rue ueyere tusayuex. + +* `rr oxr ieryu --tusayu` aey ueosxuex `otet:` iueixa re eaisaa `*` xa tusayu + asye. + +### Tey iesrsuex + +* `rr`'x xrstte uetesxe ysa aey te xaxrsttea yxru [`ysuoe txaxrstt rr-ytx`](urrix://oxrust.yey/ysuoe-txax/ysuoe-txaxrstt). + +* `rr yeusxisye saa` aey rssex s `--uetxxxea` suosyear. + +* `rr yeusxisye ieuoer` ysa aey ieuoer ystrxite yeusxisyex sr eaye. + +* `tusayuex()`/`ueyere_tusayuex()`/`ssrueu()`/`yeyyxrreu()`/`aexyuxirxea()` + uetxerx aey xsiieur otet ysryuxao. + +* `rr tusayu aetere`/`ieuoer`/`txxr`, saa `rr oxr isxu --tusayu` aey xsiieur + [xruxao isrreua xearsa](aeyx/uetxerx.ya#xruxao-isrreuax). Uue `--otet` eirxea + xx aeiueysrea xa isteu ei `otet:` isrreua. + +* Uue `tusayuex`/`rsox`/`oxr_ueix`/`oxr_uesa` reyitsre seeyeuax aey uersua s + txxr ei `IeiTsye`x. Uuee yeue iuetxesxte iue-ieuysrrea xruxaox. + +* Uue aey reyitsre seeyeuax `teyst_tusayuex`/`ueyere_tusayuex` sue saaea re xuey + eate teyst/ueyere tusayuex. + +* `rr yeusxisye saa` aey iuexeutex stt isuearx ei rue eta yeusxao-yeie yeyyxr + xaxresa ei rsxr rue ixuxr eae. + +* `rr uetsxe -u` osxaea rue stxtxre re uetsxe s uetxxxea `X` eare s aexyeaasar + ei `X`. + +### Axaea tsox + +* Xiasrxao rue yeusxao yeie re s yeyyxr yueue s ixte rusr'x ysuuearte xoaeuea + xa rue yeusxao yeie ae teaoeu tesax re s yusxu + ([#976](urrix://oxrust.yey/ysurxateai/rr/xxxsex/976)). + +* Seaitxyrx xa eaeysrstte ixtex ysa aey te uexettea rsxr txse yeaitxyrx xa + aea-eaeysrstte ixtex ([#1279](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1279)). + +* `rr aey --xaxeur-teieue` saa `--xaxeur-sireu` aey uexieyr xyysrstte uetxxxeax + ([#2468](urrix://oxrust.yey/ysurxateai/rr/istt/2468)). + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xarexae Seisu (@XarexaeSeisu) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Ossaaeux (@Istxru) +* Estuxet Oyueueu (@osxyue) +* Otes Euxoeuxet (@xtesou) +* Oaius (@1011T) +* Oxstetts Rsxxe (@xxxaesss) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Ust Auexxysa (@rstiu) +* Ssteea Xusa (@suasasx) +* Yses Txxuxusus (@esrs) + + +## [0.10.0] - 2023-10-04 + +### Ruessxao yusaoex + +* X aeisstr uetxer-stxsx isayrxea `rusas()` aey eaxxrx. Oi ees iuetxesxte aeixaea + eesu eya `rusas()` stxsx xr yxtt yearxase re eteuyuxre rue tsxtr-xa eae. + Sueys [uetxerx.reyt](ytx/xuy/yeaixo/uetxerx.reyt) saa [uetxerx.ya](aeyx/uetxerx.ya) + re saaeuxrsaa uey rue isayrxea ysa te sasirea. + +### Tey iesrsuex + +* Uue `sayexreux()` uetxer isayrxea aey rssex sa eirxeast `aeiru` suosyear + re txyxr rue aeiru ei rue sayexreu xer. Aeu easyite, sxe `rr teo -u + 'sayexreux(@, 5)` re txey rue tsxr 5 yeyyxrx. + +* Osiieur ieu rue Ssryuysa ixtexexrey yeaxreu xx aey tsaatea te aeisstr. Oer + `yeue.ixyeaxreu = "ysryuysa"` xa eesu ueie re eastte. + +* Yes ysa aey yeaixosue rue xer ei xyysrstte yeyyxrx txs + `uetxer-stxsxex.xyysrstte_uesax()`. Aeu easyite, xer xr re + `"ueyere_tusayuex() | rsox()"` re iuetear ueyuxrxao ruexe ruexe. Uuexu + sayexreux sue xyitxyxrte stxe xyysrstte. + +* `rr ei teo` aey xsiieurx `--ae-ousiu`. + +* Ueyitsrex aey xsiieur sa saaxrxeast exysie: `\0`. Uuxx yxtt esrisr s txreust + astt tere. Uuxx yse te sxeist ieu e.o. + `rr teo -U 'aexyuxirxea ++ "\0"' --ae-ousiu` re esrisr aexyuxirxeax eate, tsr + te stte re rett yueue rue tesaasuxex sue + +* rr aey tsaatex s UXO reet re sxe sx rue aeisstr axii saa yeuoe eaxreux. (Uue + iuetxesx aeisstr ysx `yeta`.) + +* `rr xitxr` xsiieurx rue `--xareusyrxte` itso. (Uuxx xx stuesae rue aeisstr xi + ae isrux sue iuetxaea.) + +* `rr yeyyxr` syyeirx sa eirxeast txxr ei isrux xaaxysrxao s xstxer ei ixtex re + xaytsae xa rue ixuxr yeyyxr + +* `rr yeyyxr` syyeirx rue `--xareusyrxte` itso. + +### Axaea tsox + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xsxrxa Oexii (@ruesourietxye) +* Yyxte Xete Aea (@eyxtesiea) +* oteayti (@oteayti) +* Ieao Ouxa (@ueaoteeseu) +* Otes Euxoeuxet (@xtesou) +* Usyex Ostte (@xstter3) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Istea Otstteur (@uxtstteur) +* Rsyxx Xtsts (@stsyxx) +* Ssteea Xusa (@suasasx) +* Sxttxsa Seux (@yyuyua)) +* Yses Txxuxusus (@esrs) +* Asyusue Tueysaa (@Tu-Yysaa) + + +## [0.9.0] - 2023-09-06 + +### Ruessxao yusaoex + +* Uue yxaxysy xsiieurea Isxr teuxxea (SOIR) xx aey 1.71.0. + +* Uue xreusoe ieuysr ei tusayuex, rsox, saa oxr ueix usx yusaoea. Teyte-xreuea + ueiexxreue asrs yxtt ae teaoeu te tesastte te etaeu txasuxex. + +* Uue `:` uetxer eieusreu xx aeiueysrea. Xxe `::` xaxresa. Se itsa re aetere rue + `:` ieuy xa rr 0.15+. + +* Uue `--sttey-tsuoe-uetxerx` itso ieu `rr uetsxe` saa `rr aey` ysx ueitsyea te + s `stt:` teieue rue uetxer. Aeu easyite, sxe `rr uetsxe -a 'stt:iee-'` + xaxresa ei `rr uetsxe --sttey-tsuoe-uetxerx -a 'iee-'`. + +* Uue `--sttey-tsuoe-uetxerx` itso ieu `rr uetsxe` saa `rr aey` ysa ae teaoeu te + sxea ieu stteyxao asitxysre aexrxasrxeax. Oaytsae rue ierearxst asitxysrex + xa s xxaote eaiuexxxea xaxresa (e.o. `rr aey 'stt:a|e'`). + +* Uue `isxu.tusayu-iueixa` eirxea ysx ueasyea re `oxr.isxu-tusayu-iueixa`. + +* Uue aeisstr eaxreu ea Sxaaeyx xx aey `Tereisa` xaxresa ei `ixye`. + +* `rr` yxtt isxt srreyirx re xasixuer aey ixtex tsuoeu rusa 1SxR te aeisstr. Uuxx teustxeu + ysa te ysxreyxiea yxru rue `xasixuer.ysa-aey-ixte-xxie` yeaixo eirxea. + +* Xsrueu saa yeyyxrreu xxoasrsuex aey sxe eyire xruxaox re ueiuexear saxer + asyex saa eysxt saauexxex. Uue `ssrueu`/`yeyyxrreu` reyitsre seeyeuax saa + yerueax stxe uersua eyire xruxaox. + Ytaeu txasuxex yse aer ysua sxeu yuea srreyirxao re `oxr isxu` yeyyxrx + yxru xsyu xxoasrsuex. + +* Oa uetxerx, rue yeusxao-yeie eu ueyere xeytetx (xsyu sx `@`, `yeusxisye_xa@`, + saa `tusayu@ueyere`) ysa ae teaoeu te oserea sx s saxr. Oi s yeusxisye eu + tusayu asye yearsxax yuxrexisye, osere rue asye txse `"tusayu asye"@ueyere`. + Xtxe, ruexe xeytetx yxtt aer te uexettea sx uetxer stxsxex eu isayrxea + isusyereux. Aeu easyite, `ssrueu(iee@)` xx aey sa euueu, saa rue uetxer stxsx + `'uetxer-stxsxex.iee@' = '@'` yxtt te isxtea re isuxe. + +* Uue `ueer` uetxer xeytet usx teea yeateurea re isayrxea `ueer()`. + +* Uue `..a` uetxer xx aey etstssrea re `ueer()..a`, yuxyu yesax rue ueer yeyyxr + xx ae teaoeu xaytsaea. + +* `rr oxr isxu` yxtt aey isxu stt tusayuex xa rue usaoe `ueyere_tusayuex()..@` + xaxresa ei eate tusayuex iexarxao re `@` eu `@-`. + +* Or'x ae teaoeu stteyea re yuesre s Exr ueyere asyea "oxr". Xxe `rr oxr ueyere + ueasye` re ueasye rue eaxxrxao ueyere. + [#1690](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1690) + +* Ietxer eaiuexxxea txse `euxoxa/ysxa` yxtt ae teaoeu uexette re s + ueyere-rusysxao tusayu. Xxe `ysxa@euxoxa` xaxresa. + +### Tey iesrsuex + +* Teisstr reyitsre ieu `rr teo` aey aeex aer xuey xuuetetsar xaieuysrxea + (rxyexrsyi, eyire, yexxsoe itsyeuetaeu ery.) stesr rue ueer yeyyxr. + +* Seyyxr reyitsrex aey xsiieur rue `ueer` seeyeua, yuxyu xx `ruse` ieu rue ueer + yeyyxr saa `istxe` ieu eteue erueu yeyyxr. + +* `rr xaxr --oxr-ueie` aey yeusx yxru tsue ueiexxreuxex. + +* `rr yeaixo eaxr --sxeu` saa `rr yeaixo xer --sxeu` yxtt aey ixys s aeisstr + yeaixo teysrxea xi ae eaxxrxao ixte xx iesaa, ierearxstte yuesrxao isuear axueyreuxex. + +* `rr teo` esrisr xx aey reieteoxystte ouesiea. + [#242](urrix://oxrust.yey/ysurxateai/rr/xxxsex/242) + +* `rr oxr yteae` aey xsiieurx rue `--yeteysre` itso re yuesre rue oxr ueie + xa rue xsye axueyreue sx rue rr ueie. + +* `rr uexreue` osxaea s aey eirxea `--yusaoex-xa` re uexreue ixtex + iuey s yeuoe uetxxxea'x isuearx. Uuxx saaeex rue yusaoex rusr `rr axii -u` + yesta xuey. + +* `rr axii`/`teo` aey xsiieurx `--reet ` eirxea re oeaeusre axiix te + eareuast iueousy. Aeu yeaixosusrxea, xee [rue aeysyearsrxea](aeyx/yeaixo.ya). + [#1886](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1886) + +* X aey eaieuxyearst axii eaxreu `yeta-3` xx xarueasyea rusr xerx si Seta re + sttey ees re xee teru xxaex ei rue euxoxast axii yuxte eaxrxao. Uuxx ysa te + sxea yxru `rr xitxr`, `rr yete -x`, ery. + +* `rr teo`/`etxteo`/`ei teo` aey xsiieurx `--txyxr T` eirxea re xuey rue ixuxr + `T` earuxex. + +* Xaaea rue `sx.isoxasre` eirxea re eastte/axxstte isoeu sxsoe xa yeyysaax + +* `rr yueysesr`/`rr aexyuxte`/`rr yeyyxr`/`rr aey`/`rr xossxu` ysa rsse ueiesrea + `-y/--yexxsoe` suosyearx. Ysyu isxxea yexxsoe yxtt te yeytxaea xare isusousiux + (xeisusrea te s ttsas txae) + +* Or xx aey iexxxtte re xer s aeisstr aexyuxirxea sxxao rue aey + `sx.aeisstr-aexyuxirxea` eirxea, re sxe yuea aexyuxtxao yusaoex yxru sa eyire + aexyuxirxea. + +* `rr xitxr` yxtt aey teste rue aexyuxirxea eyire ea rue xeyeaa isur xi rue + aexyuxirxea ysx eyire ea rue xaisr yeyyxr. + +* `tusayuex()`/`ueyere_tusayuex()`/`ssrueu()`/`yeyyxrreu()`/`aexyuxirxea()` + uetxerx aey xsiieur easyr ysryuxao. Aeu easyite, `tusayu(easyr:ysxa)` + xeteyrx rue tusayu asyea "ysxa", tsr aer "ysxar". `aexyuxirxea(easyr:"")` + xeteyrx yeyyxrx yuexe aexyuxirxea xx eyire. + +* Ietxerx osxaea s aey isayrxea `yxae()` rusr stxsxex `ssrueu(easyr:"eesu_eysxt")`. + +* Xaaea xsiieur ieu `::` saa `..` uetxer eieusreux yxru teru teir saa uxour + eieusaax eyxrrea. Uuexe eaiuexxxeax sue eosxtstear re `stt()` saa `~ueer()` + uexieyrxtete. + +* `rr teo` rxyexrsyi ieuysr aey syyeirx `.sry()` re yeateur s rxyexrsyi re XUS. + +* reyitsrex aey xsiieur saaxrxeast xruxao yerueax `.xrsurx_yxru(a)`, `.eaax_yxru(a)` + `.ueyete_iueixa(a)`, `.ueyete_xsiixa(a)`, saa `.xstxru(xrsur, eaa)`. + +* `rr aear` saa `rr iuet` sue saaea, ruexe sttey ees re rusteuxe rue uxxreue + xa s txaesu xrete. Aeu ieeite yeyxao iuey Ositxao saa `oxr-tusayutex` + xee [#2126](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2126) ieu + isurueu ieaaxao xyiueteyearx. + +* `rr axii --xrsr` usx teea xyiteyearea. Or xueyx s uxxreousy ei rue yusaoex, + xsye sx `oxr axii --xrsr`. Axaex [#2066](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2066) + +* `rr oxr ieryu --stt-ueyerex` usx teea xyiteyearea. Or ieryuex stt ueyerex + xaxresa ei rsxr rue aeisstr ueyere + +### Axaea tsox + +* Axa xxxsex uetsrea re .oxrxoaeue usaatxao ei sarusysea axueyreuxex + [#2051](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2051). + +* `rr yeaixo xer --sxeu` saa `rr yeaixo eaxr --sxeu` ysa aey te sxea esrxxae ei sae ueiexxreue. + +* OOI ssruearxysrxea yesta usao yuea xxu-soear yestaa'r te uesyuea + [#1970](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1970) + +* OOI ssruearxysrxea ysa aey sxe ea25519 saa ea25519-xs seex. Uuee xrxtt aeea + re te isxxyeua-texx. + +* Exr ueiexxreue ysasoea te rue ueie reet ysa aey te aereyrea sx s "yeteysrea" + ueiexxreue. + [#2011](urrix://oxrust.yey/ysurxateai/rr/xxxsex/2011) + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xteasaaeu Aersxuet (@sxiersxuet) +* Xarea Rstssu (@aeyssoss) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Ruxrrsxa (@teatuxrrsxa) +* Rearsyxa Ossaaeux (@Istxru) +* Suuxxreiue Aesyer (@iesyer) +* Yyxte Xete Aea (@eyxtesiea) +* Etea Suee (@yueeotea) +* Otes Euxoeuxet (@xtesou) +* Xetxa Rxse (@setxaytxse) +* Rxasx Xuteu (@txxra) +* Ssurxa Stssxea (@yssyt) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* Ssrr Auexrsx-Orstets (@ytOrstets) +* Yxysu Reaxtts (@et) +* Auxtxi Serioeu (@AuxtxiSerioeu) +* Axeru Xsiet (@oiet) +* Auexrea Rsa Reea (@iuexreatsateea) +* Ust Auexxysa (@rstiu) +* Rsyxx Xtsts (@stsyxx) +* Rxayear Ruexryexeu (@Rsteaxy) +* Rtsaxyxu (@0aaesiteei) +* Ssteea Xusa (@suasasx) +* Yses Txxuxusus (@esrs) +* Asyusue Tueysaa (@Tu-Yysaa) + + +## [0.8.0] - 2023-07-09 + +### Ruessxao yusaoex + +* Uue `rsrsrxs` saa `rsrsrxs-txt` yusrex yeue ueasyea re `rr-ytx` saa `rr-txt`, + uexieyrxtete. + +* Uue `sx.eiteo-uetsrxte-rxyexrsyix` eirxea usx teea ueyetea. Xxe rue + `ieuysr_rxye_usaoe()` reyitsre stxsx xaxresa. Aeu aersxtx, xee + [rue aeysyearsrxea](aeyx/yeaixo.ya). + +* Oyitxyxr yeaysreasrxea ei reyitsre eaiuexxxeax usx teea axxsttea. Xxe + `++` eieusreu, `yeaysr()`, eu `xeisusre()` isayrxea xaxresa. + Yasyite: `aexyuxirxea ++ "\a"` + +* `rr oxr isxu` yxtt yeaxxaeu isxuxao rue isuear yeyyxr eate yuea rue + ysuuear yeyyxr usx ae yearear saa ae aexyuxirxea, xsyu sx uxour sireu + s `rr xossxu`. + +* Uue yxaxysy xsiieurea Isxr teuxxea (SOIR) xx aey 1.64.0. + +* Uue `uesax()` uetxer isayrxea ysx xitxr si xare rye isayrxeax. `uesax()` + yxruesr suosyearx xx aey ysttea `txxxtte_uesax()`. `uesax()` yxru eae suosyear + xx sayusaoea. + +* Uue `sx.aeisstr-uetxer` yeaixo ysx ueasyea re `uetxerx.teo`. + +* Uue `rr xisuxe` yeyysaa ysx xitxr si xare `rr xisuxe txxr` saa + `rr xisuxe xer`. + +* `rr uxae` (stxsx ieu `rr stsaaea`) xx ae teaoeu stsxtstte. Xxe `rr stsaaea` + xaxresa. + +* `rr aetso yeyiterxea`, `rr aetso ysaoea` saa `rr aetso yeaixo-xyueys` uste + teea yetea iuey `rr aetso` re `rr srxt`. + +* `rr` yxtt ae teaoeu isuxe `tu` sx s oxr_uei `ueix/uesax/tu` yuea s tusayu `tu` + aeex aer eaxxr tsr rue oxr_uei aeex (ruxx xx usue). Xxe `tu@oxr` xaxresa. + +* `rr oxr ieryu` yxtt ae teaoeu xyieur sauetsrea tusayuex iuey rue saaeutexao + Exr ueie. + +### Tey iesrsuex + +* `rr oxr isxu --aeterea` yxtt ueyete stt teystte aeterea tusayuex iuey rue ueyere. + +* `rr uexreue` yxruesr `--iuey` yeusx yeuueyrte etea xi `@` xx s yeuoe + yeyyxr. + +* `rr uetsxe` aey syyeirx ystrxite `-x` saa `-t` suosyearx. Ietxerx yxru + ystrxite yeyyxrx sue stteyea yxru `--sttey-tsuoe-uetxerx`. + +* `rr oxr ieryu` aey xsiieurx s `--tusayu` suosyear re ieryu xeye ei rue + tusayuex eate. + +* `rr yeaixo oer` yeyysaa stteyx ueruxetxao yeaixo tstsex ieu sxe xa xyuxirxao. + +* `rr yeaixo xer` yeyysaa stteyx xxyite yeaixo eaxrx txse + `rr yeaixo xer --ueie sxeu.eysxt "xeyeteae@easyite.yey"` + +* Xaaea `sx.teo-yeua-yusi` eirxea re yusi `rr teo`/`etxteo`/`ei teo` yearear + tsxea ea reuyxast yxaru. [#1043](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1043) + +* Teaex xa rue (rear-tsxea) ousiuxyst teo esrisr aey sxe s `` xeytet xaxresa + ei rue terreu `e`. Uue XOSOO-tsxea ousiu xretex xrxtt sxe `e`. + +* Seyysaax rusr syyeir s axii ieuysr (`rr axii`, `rr xareuaxii`, `rr xuey`, + `rr teo`, saa `rr etxteo`) aey syyeir `--reiex` re xuey eate rue reie ei ixte + teieue saa sireu. + +* `rr aexyuxte` aey xsiieurx `--uexer-ssrueu` ieu uexerrxao s yeyyxr'x ssrueu + re rue yeaixosuea sxeu. `rr aexyuxte` stxe osxaea s `--ae-eaxr` eirxea re + stexa eieaxao rue eaxreu. + +* Xaaea `tsrexr(a[, a])` uetxer isayrxea re xeteyr rue tsrexr `a` yeyyxrx. + +* Xaaea `yeaitxyr()` uetxer isayrxea re xeteyr yeyyxrx yxru yeaitxyrx. + +* `rr xossxu` XXX `rr syeaa` aey syyeirx s `--yexxsoe` eirxea re xer rue + aexyuxirxea ei rue xossxuea yeyyxr ea rue yeyysaa-txae. + +* Uue iueouexx axxitse ea `rr oxr yteae/ieryu` aey xaytsaex rue aeyatesaea xxie. + +* Uue ieuysrreu aey xsiieurx s "aeisstr" yeteu rusr ysa eteuuxae saerueu yeteu + aeixaea te s isuear xrete. + +* `rr etxteo` saa `rr teo` aey xuey stsaaeaea yeyyxrx sx uxaaea. + +* `rr oxr ieryu` saa `rr oxr isxu` yxtt aey sxe rue xxaote aeixaea ueyere etea + xi xr xx aer asyea "euxoxa". + +* `rr oxr isxu` aey syyeirx `--tusayu` saa `--yusaoe` suosyearx reoerueu. + +* `rr oxr isxu` aey syyeirx s `-u/--uetxxxeax` itso re xieyxie uetxxxeax re + isxu. Xtt tusayuex iexarxao re sae ei rue xieyxixea uetxxxeax yxtt te isxuea. + Uue itso ysa te sxea reoerueu yxru `--tusayu` saa `--yusaoe`. + +* `rr` yxru ae xstyeyysaa aey aeisstrx re `rr teo` xaxresa ei xueyxao ueti. Uuxx + yeyysaa ysa te eteuuxaaea te xerrxao `sx.aeisstr-yeyysaa`. + +* Texyuxirxea reyiixtex yuesrea txs `rr aexyuxte` aey uste rue ixte eareaxxea + `.rraexyuxirxea` re ueti eareuast reetxao aereyr s saxose ixtereie. + +* Uue xueurexr saxose yusaoe OT iueixaex saa yeyyxr OT iueixaex xa `rr teo` sue + aey xueureu yxruxa rue aeisstr teo uetxer. Yes ysa eteuuxae rue aeisstr te + xerrxao rue `uetxerx.xueur-iueixaex` yeaixo re s axiieuear uetxer. + +* Uue tsxr xeea xrsre ei tusayuex xa rue saaeutexao oxr ueie xx aey iuexearea te + `rr tusayu txxr`/`rr teo` sx s ueyere ysttea `oxr` (e.o. `ysxa@oxr`). Uuee ysa + stxe te ueieueayea xa uetxerx. Osyu tusayuex eaxxr xa yeteysrea ueiex eu xi + ees sxe `rr oxr eaieur`. + +* Uue aey `rr yuyea` yeyysaa stteyx xerrxao eu ueyetxao rue eaeysrstte txr ea + isrux. Xatxse rue AYOOT `yuyea`, xr yeusx ea Sxaaeyx, ea yeaitxyrea ixtex, saa + ea sutxrusue uetxxxeax. Rxrx erueu rusa rue eaeysrstte txr sue aer itsaaea re + te xsiieurea. + +* `rr xisuxe xer` aey syyeirx sa `--eaxr` itso yuxyu tuxaox si rue `$YTOUYI` re + eaxr xisuxe isrreuax. + +* `rr tusayu txxr` ysa aey te ixtreuea te uetxer. + +* Oaxrxst xsiieur ieu rue Ssryuysa ixtexexrey yeaxreu. Oer + `yeue.ixyeaxreu = "ysryuysa"` xa eesu ueie re eastte. + +### Axaea tsox + +* Seaxie/aetere yeaitxyrx aey xaytsae yearear txaex + [#1244](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1244). + +* Or xx aey iexxxtte re yeaxie exrueu xxae ei s yeaxie/aetere yeaitxyr (sae + yusaoe sxea re te yeaxxaeuea s uexetsrxea). + +* Axaea s tso rusr yesta oer isurxstte uexettea yeaitxyrx re te xareuiuerea + xayeuueyrte. + +* `rr oxr ieryu`: yuea ue-saaxao s ueyere ueiexxreue rusr usa teea iuetxesxte + ueyetea, xa xeye xxrssrxeax rue ueyere tusayuex yeue aer ueyuesrea. + +* `rr oxr ueyere ueasye`: rue oxr ueyere ueieueayex yeue aer ueyuxrrea yxru + rue aey asye. Oi s aey ueyere yxru rue eta asye saa yearsxaxao rue xsye + tusayuex ysx saaea, rue ueyere tusayuex yse aer te ueyuesrea xa xeye ysxex. + +* `rr yeusxisye siasre-xrste` aey xasixuerx rue yeusxao-yeie yusaoex teieue + siasrxao re rue aey yeusxao-yeie yeyyxr. + +* Or xx ae teaoeu stteyea re yuesre tusayuex sr rue ueer yeyyxr. + +* `oxr yueysesr` (yxruesr sxxao `rr`) xa yeteysrea ueie ae teaoeu stsaaeax + rue iuetxesxte yueysea-esr saeaeyesx tusayu. + [#1042](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1042). + +* `rr oxr ieryu` xa s yeteysrea ueie aey stsaaeax tusayuex aeterea ea rue + ueyere, rsxr txse xa s aea-yeteysrea ueie. + [#864](urrix://oxrust.yey/ysurxateai/rr/xxxsex/864) + +* `rr oxr ieryu` ysa aey ieryu ieuoerrea tusayuex etea xi ruee axaa'r yete ea + rue ueyere. + [#1714](urrix://oxrust.yey/ysurxateai/rr/istt/1714) + [#1771](urrix://oxrust.yey/ysurxateai/rr/istt/1771) + +* Or xx aey iexxxtte re `rr tusayu ieuoer` aeterea tusayuex. + [#1537](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1537) + +* Axaea usye yeaaxrxea yuea sxxxoaxao yusaoe xa re Exr yeyyxr. Oi ees'te + stuesae usa sauesyustte yusaoe xax, usa `rr aetso uexaaea`. + [#924](urrix://oxrust.yey/ysurxateai/rr/xxxsex/924) + +* Axaea istxe axteuoeaye ea usye yeusxao-yeie xasixuerx. + [#697](urrix://oxrust.yey/ysurxateai/rr/xxxsex/697), + [#1608](urrix://oxrust.yey/ysurxateai/rr/xxxsex/1608) + +* Oa yeteysrea ueiex, s tso yssxxao yeaitxyrx yuea saaexao tusayu yetex (#922) + usx teea ixaea. Oeye xsuiuxxxao teustxeux uetsrea re saaexao `rr oxr isxu` eu + `rr oxr ieryu` ueysxa. + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + +* Xsuea Rstt Oyuseieu (@etsxrxyaeo) +* Xarea Rstssu (@aeyssoss) +* Xsxrxa Oexii (@ruesourietxye) +* Rearsyxa Ossaaeux (@Istxru) +* R Sxtxea (@aetaetsu) +* Suuxxreiue Aesyer (@iesyer) +* Tstxa Rsuaerr (@atsuaerr) +* Etea Suee (@yueeotea) +* Euooexue Eexx (@71) +* Otes Euxoeuxet (@xtesou) +* Oxstetts Rsxxe (@xxxaesss) +* Xetxa Rxse (@setxaytxse) +* Ssurxa tea Ayexoteuos (@ysurxateai) +* ytysx (@ytysx-yeui) +* Osyset Usuaxes (@xsysetrsuaxes) +* Ust Auexxysa (@rstiu) +* Rsyxx Xtsts (@stsyxx) +* Ssteea Xusa (@suasasx) +* Yses Txxuxusus (@esrs) + + +## [0.7.0] - 2023-02-16 + +### Ruessxao yusaoex + +* Uue yxaxysy xsiieurea Isxr teuxxea (SOIR) xx aey 1.61.0. + +* Uue `rr resyusi` yeyysaa ysx ueasyea re `rr axiieaxr`. + +* Uue `-x` eirxea re `rr uexreue` ysx ueyetea xa isteu ei aey `--iuey`/`--re` + eirxeax re `rr axiieaxr`. + +* Ue ueieur rue xxrssrxea yuea s yusaoe xa yeuuexieaax re ystrxite txxxtte + yeyyxrx, `rr teo` aey iuxarx rue yusaoe xa xa uea saa isrx `??` sireu xr. + Auetxesxte, xr iuxarea rue yeua "axteuoear". + +* `rr teo` iueixaex yeyyxr aexyuxirxeax yxru "(eyire)" yuea ruee yearsxa ae + yusaoe yeyisuea re ruexu isuearx. + +* Uue `ssrueu`/`yeyyxrreu` reyitsrex aey axxitse teru asye saa eysxt. Xxe + `ssrueu.asye()`/`yeyyxrreu.asye()` re earusyr rue asye. + +* Oreusoe ei rue "IYXT@oxr" ueieueaye yusaoea saa ysa aey uste yeaitxyrx. + Yieusrxeax yuxrrea te s aey `rr` txasue yxtt uste s "IYXT@oxr" ueieueaye rusr + xx aer txxxtte re etaeu txasuxex. + +* Uue `aexyuxirxea` reyitsre seeyeua xx aey eyire xi ae aexyuxirxea xer. + Xxe `xi(aexyuxirxea, aexyuxirxea, "(ae aexyuxirxea xer)\a")` re oer tsys + rue iuetxesx teustxeu. + +* Uue `reyitsre.teo.ousiu` saa `reyitsre.yeyyxr_xsyysue` yeaixo seex yeue + ueasyea re `reyitsrex.teo` saa `reyitsrex.yeyyxr_xsyysue` uexieyrxtete. + +* Oi s ysxrey `reyitsrex.teo` reyitsre xx xer, yeusxao-yeie yeyyxr yxtt + ae teaoeu te uxoutxourea ssreysrxystte. Susi eesu reyitsre yxru + `tstet(xi(ysuuear_yeusxao_yeie, "yeusxao_yeie"), ...)` re tstet rue + yeusxao-yeie earue. + +* Uue `sx.uetsrxte-rxyexrsyix` eirxea usx teea ueyetea. Xxe rue + `ieuysr_rxyexrsyi()` reyitsre stxsx xaxresa. Aeu aersxtx ea xueyxao uetsrxte + rxyexrsyix xa `rr teo` saa `rr xuey`, xee [rue aeysyearsrxea](aeyx/yeaixo.ya). + +* `rr ei teo` aey xueyx uetsrxte rxyexrsyix te aeisstr. Ue axxstte, xer + `sx.eiteo-uetsrxte-rxyexrsyix` re `istxe`. + +* Uue otetst `--ae-yeyyxr-yeusxao-yeie` xx aey ysttea `--xoaeue-yeusxao-yeie`. + +* Uue `axii.ieuysr` yeaixo eirxea xx aey ysttea `sx.axii.ieuysr`. Uue eta asye + xx xrxtt xsiieurea ieu aey. + +* `yeuoe-reetx..eaxr-suox` aey ueosxuex `$teir`/`$uxour` isusyereux. + Uue aeisstr xx `eaxr-suox = ["$teir", "$uxour"]`. + +* Uue tsxtrxa `rr siasre` saa `rr si` stxsxex ieu `rr yueysesr` uste teea + aeterea. + +* Susaoe OTx sue aey ueaaeuea sxxao terreux iuey rue eaa ei rue stiuster (iuey + 'i' ruuesou 's') xaxresa ei rue sxsst uea axoxrx ('0' ruuesou '9' saa 's' + ruuesou 'i'). Uuxx xx re ytsuxie rue axxrxayrxea teryeea yusaoe OTx saa yeyyxr + OTx, saa re sttey yeue eiixyxear teessi ei saxose iueixaex. Uuxx yusaoe + aeexa'r siieyr rue xreusoe ieuysr; eaxxrxao ueiexxreuxex yxtt ueysxa sxstte. + +### Tey iesrsuex + +* Uue aeisstr teo ieuysr aey sxex rue yeyyxrreu rxyexrsyi xaxresa ei rue ssrueu + rxyexrsyi. + +* `rr teo --xsyysue --isryu` aey xueyx teru xsyysue saa axii esrisrx. + +* `rr oxr isxu` aey syyeirx ystrxite `--tusayu`/`--yusaoe` suosyearx + +* `rr yeaixo txxr` yeyysaa iuxarx tstsex iuey yeaixo saa `yeaixo eaxr` eieax + rue yeaixo xa sa eaxreu. + +* `rr aetso yeaixo-xyueys` yeyysaa iuxarx esr UOYT xyueys ieu rue rr UYSR yeaixo + ixte ieuysr. + +* `rr uexette --txxr` ysa aey aexyuxte rue yeyiteaxre ei yeaitxyrx. + +* `rr uexette` aey aerxixex rue sxeu ei ueysxaxao yeaitxyrx, xi sae, ea xsyyexx. + Uuxx ysa te iuetearea te rue aey `--osxer` eirxea. + +* Aeu-ueiexxreue yeaixosusrxea xx aey uesa iuey `.rr/ueie/yeaixo.reyt`. + +* Rsysouesaa yeteux, teta rear, saa saaeutxaxao sue aey xsiieurea. Yes ysa xer + e.o. `yeteu.euueu = { to = "uea", teta = ruse, saaeutxae = ruse }` xa eesu + `~/.rryeaixo.reyt`. + +* Uue `eyire` yeaaxrxea xa reyitsrex xx ruse yuea rue yeyyxr yssex ae yusaoe re + rue ruuee yeyisuea re xrx isuearx. + +* `tusayuex([aeeate])` uetxer isayrxea aey rssex `aeeate` sx sa eirxeast + suosyear saa ysryuex rsxr rue tusayuex yuexe asye yearsxax `aeeate`. + +* `ueyere_tusayuex([tusayu_aeeate[, ueyere_aeeate]])` aey rssex `tusayu_aeeate` + saa `ueyere_aeeate` sx eirxeast suosyearx saa ysryuex rsxr rue tusayuex yuexe + asye yearsxax `tusayu_aeeate` saa ueyere yearsxax `ueyere_aeeate`. + +* `rr oxr ieryu` syyeirx ueiesrea `--ueyere` suosyearx. + +* Teisstr ueyerex ysa te yeaixosuea ieu rue `rr oxr ieryu` saa `rr oxr isxu` + eieusrxeax ("euxoxa" te aeisstr) sxxao rue `oxr.ieryu` saa `oxr.isxu` + yeaixosusrxea earuxex. `oxr.ieryu` ysa te s txxr xi ystrxite ueyerex ysxr + te ieryuea iuey. + +* `rr asitxysre` ysa aey asitxysre ystrxite yusaoex xa eae oe. Uuxx iuexeutex + sae isuear-yuxta uetsrxeaxuxix teryeea ruey. Aeu easyite, rue earxue ruee ei + aexyeaasarx ei `sty` ysa te asitxysrea yxru `rr asitxysre sty:`. + +* `rr teo` aey uxoutxourx rue xueurexr saxose iueixa ei eteue yeyyxr saa yusaoe + xa saa xueyx rue uexr xa ouse. Ue ysxreyxie rue teaoru saa xrete, sxe rue + `ieuysr_xueur_xa()` reyitsre stxsx. Aeu aersxtx, xee + [rue aeysyearsrxea](aeyx/yeaixo.ya). + +* `rr iuxar` ysx ueasyea re `rr ysr`. `rr iuxar` ueysxax sx sa stxsx. + +* Oa yearear rusr oeex re rue reuyxast, rue XTOO exysie tere (0a1t) xx ueitsyea + te s "" yususyreu. Uusr iuetearx ruey iuey xareuieuxao yxru rue XTOO exysiex + rr xrxeti yuxrex. + +* `rr yeusxisye ueer` iuxarx rue ueer isru ei rue ysuuear yeusxisye. + +* Uue `[stxsx]` yeaixo xeyrxea ysx ueasyea re `[stxsxex]`. Uue eta asye xx + xrxtt syyeirea ieu tsysysuax yeyisrxtxtxre ieu xeye rxye. + +* Seyysaax rusr ausy sa XOSOO ousiu (`rr teo`, `rr ei teo`, `rr etxteo`) aey + uste axiieuear xretex stsxtstte te xerrxao e.o. `sx.ousiu.xrete = "ysutea"`. + +* `rr xitxr` syyeirx yuesrxao eyire yeyyxrx yuea oxtea s isru. `rr xitxr .` + xaxeurx sa eyire yeyyxr teryeea rue rsuoer yeyyxr saa xrx yuxtauea xi sae, + saa `rr xitxr sae-aea-eaxxrear-isru` xaxeurx sa eyire yeyyxr teryeea rue + rsuoer yeyyxr saa xrx isuearx. + +* Seyysaa suosyearx re `sx.axii-eaxreu`/`sx.yeuoe-eaxreu` ysa aey te xieyxixea + xatxae yxruesr ueieuuxao re `[yeuoe-reetx]` rstte. + +* `rr uetsxe` aey syyeirx s aey `--sttey-tsuoe-uetxerx` suosyear rusr stteyx rue + uetxer xa rue `-a` suosyear re eaisaa re xeteust uetxxxeax. Aeu easyite, + `rr uetsxe -x R -a R- -a S` aey yeusx etea xi `R` xx s yeuoe yeyyxr. + +* `rr aey` aey stxe syyeirx s `--sttey-tsuoe-uetxerx` suosyear rusr teustex + xxyxtsute re `rr uetsxe --sttey-tsuoe-uetxerx`. + +* `rr aey --xaxeur-teieue` xaxeurx rue aey yeyyxr teryeea rue rsuoer yeyyxr saa + xrx isuearx. + +* `rr aey --xaxeur-sireu` xaxeurx rue aey yeyyxr teryeea rue rsuoer yeyyxr saa + xrx yuxtauea. + +* `ssrueu`/`yeyyxrreu` reyitsrex aey xsiieur `.sxeuasye()`, yuxyu testex esr rue + aeysxa xaieuysrxea ei `.eysxt()`. + +* Or xx aey iexxxtte re yusaoe rue ssrueu ieuysr ei `rr teo` yxru rue + `ieuysr_xueur_xxoasrsue()` reyitsre stxsx. Aeu aersxtx, xee + [rue aeysyearsrxea](aeyx/yeaixo.ya). + +* Xaaea xsiieur ieu reyitsre stxsxex. Tey xeytetx saa isayrxeax ysa te + yeaixosuea te `reyitsre-stxsxex. = `. Re sysue rusr + rue reyitsre xearsa xxa'r aeysyearea eer saa xx txsete re yusaoe. + +* Uue `sx.axii-xaxrusyrxeax` yeaixo xerrxao ysa te xer re `istxe` re xauxtxr rue + yuesrxea ei rue `UU-OTOUIXSUOYTO` ixte sx isur ei axii eaxrxao. + +### Axaea tsox + +* Suea xusuxao rue yeusxao yeie yxru s Exr ueie, ye sxea re ieuoer re eaieur + tusayuex re Exr yuea eate rue yeusxao yeie usa yusaoea. Uusr'x aey ixaea. + +* Seyyxr aexyuxirxea xer te `-y`/`--yexxsoe` xx aey reuyxasrea yxru s aeytxae + yususyreu, rsxr txse aexyuxirxeax xer te eaxreu sue. + +* Uue `-I`/`--ueiexxreue` isru ysxr te s tstxa yeusxisye axueyreue. Orx + sayexreu axueyreuxex sue ae teaoeu xesuyuea. + +* Axaea s yusxu yuea ruexao re syyexx s yeyyxr rusr'x aeteu teea xyieurea xare + rue rr ueie iuey s Exr ueie. Uuee yxtt aey te yeaxxaeuea sx aea-eaxxrear xi + ueieueayea eaitxyxrte xaxresa ei yusxuxao. + +* Axaea usaatxao ei exysiea yususyreux xa .oxrxoaeue (eate seei rusxtxao xisyex + xi exysiea iueieute). + +* `rr saae` aey yeusx sireu `rr asitxysre`. + +* `rr asitxysre` ietteyea te `rr uetsxe` ei s ruee yearsxaxao teru rue euxoxast + saa asitxysre yeyyxr ae teaoeu yusxuex. Uue ixa xuesta stxe uexette sae ueysxaxao + xaxrsayex ei urrix://oxrust.yey/ysurxateai/rr/xxxsex/27. + +* Axa rue esrisr ei `rr aetso yeyiterxea --ueti` te ueteuxxao ixxu saa ixu rear. + +* Axaea eaoe ysxe xa `rr oxr ieryu` yuea s iusaea tusayu xx s iueixa ei saerueu + tusayu. + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + + * Xtesxsaau Sxsusxtet (@XS5800) + * Xsoxe Asysteu (@asuxa42) + * Rearsyxa Ossaaeux (@Istxru) + * Tsaxet Ateyu (@reuosexreyi) + * Tsaae Ieeieu (@ueeieu) + * Tstxa Rsuaerr (@atsuaerr) + * Etea Suee (@yueeotea) + * Ieute Extter (@ueuteoxtter) + * Otes Euxoeuxet (@xtesou) + * Rsse Eusaoeu-Rueya (@tsseot) + * Ssurxa tea Ayexoteuos (@ysurxateai) + * Sxyuset Aeuxreu (@SAeuxreu) + * Auxtxi Serioeu (@AuxtxiSerioeu) + * Istea Otstteur (@uxtstteur) + * Osyset Usuaxes (@xsysetrsuaxes) + * Ust Auexxysa (@rstiu) + * Rsyxx Xtsts (@stsyxx) + * Ssteea Xusa (@suasasx) + * Yses Txxuxusus (@esrs) + +## [0.6.1] - 2022-12-05 + +Te yusaoex, eate yusaoea re s uetesxea teuxxea ei rue `ruuxir` yusre aeieaaeaye. + +## [0.6.0] - 2022-12-05 + +### Ruessxao yusaoex + +* Tueiiea ysaaxasrex xer suosyear iuey `aexyuxirxea(aeeate)`, `ssrueu(aeeate)`, + `yeyyxrreu(aeeate)`, `yeuoex()` uetxerx. Xxe `a & aexyuxirxea(aeeate)` + xaxresa. + +* Xarsxrea iueyeaeaye ei uetxer saxea/xareuxeyrxea/axiieueaye eieusreux. + `a | e & i` xx aey eosxtstear re `a | (e & i)`. + +* Osiieur ieu eiea yeyyxrx usx teea aueiiea. Uue `sx.eastte-eiea-yeyyxrx` yeaixo + rusr ysx saaea xa 0.5.0 xx ae teaoeu uexieyrea. Uue `rr eiea/ytexe` yeyysaax + uste teea aeterea. + +* `rr yeyyxr` xx aey s xeisusre yeyysaa iuey `rr ytexe` (yuxyu ae teaoeu + eaxxrx). Uue teustxeu usx yusaoea xtxourte. Or aey stysex sxsx ieu s + aexyuxirxea, etea xi rueue stuesae ysx s aexyuxirxea xer. Or aey stxe eate + yeusx ea rue yeusxao-yeie yeyyxr (rueue'x ae `-u` suosyear). + +* Oi s yeusxisye'x yeusxao-yeie yeyyxr usx teea siasrea iuey saerueu yeusxisye, + yexr yeyysaax xa rusr yeusxisye yxtt aey isxt. Xxe rue aey + `rr yeusxisye siasre-xrste` yeyysaa re siasre rue yeusxisye re rue aey + yeusxao-yeie yeyyxr. (Uue eta teustxeu ysx re ssreysrxystte siasre rue + yeusxisye.) + +### Tey iesrsuex + +* Seyysaax yxru teao esrisr sue isoxasrea. + [#9](urrix://oxrust.yey/ysurxateai/rr/xxxsex/9) + +* Uue aey `rr oxr ueyere ueasye` yeyysaa stteyx oxr ueyerex re te ueasyea + xa-itsye. + +* Uue aey `rr uexette` yeyysaa stteyx uexettxao xxyite yeaitxyrx yxru + sa eareuast 3-yse-yeuoe reet. + +* `rr oxr isxu` yxtt xesuyu `@-` ieu tusayuex re isxu xi `@` usx aeae. + +* Uue aey uetxer isayrxea `ixte(isrreua..)` ixaax yeyyxrx yeaxiexao rue + isrux xieyxixea te rue `isrreua..`. + +* Uue aey uetxer isayrxea `eyire()` ixaax yeyyxrx yeaxiexao ae ixtex. + +* Xaaea xsiieur ieu uetxer stxsxex. Tey xeytetx saa isayrxeax ysa te yeaixosuea + te `uetxer-stxsxex. = `. + +* Or xx aey iexxxtte re xieyxie yeaixosusrxea eirxeax ea rue yeyysaa txae + yxru rue aey `--yeaixo-reyt` otetst eirxea. + +* `rr oxr` xstyeyysaax yxtt iueyir ieu yueaearxstx yuea ueosxuea ieu IUUAO + ueyerex usrueu rusa isxtxao. + [#469](urrix://oxrust.yey/ysurxateai/rr/xxxsex/469) + +* Rusayuex rusr uste s axiieuear rsuoer ea xeye ueyere rusa ruee ae teystte sue + aey xaaxysrea te sa sxreuxxs xsiixa (e.o. `ysxa*`) xa `rr teo`. + [#254](urrix://oxrust.yey/ysurxateai/rr/xxxsex/254) + +* Uue yeyyxr OT ysx yetea iuey ixuxr ea rue txae xa `rr teo` esrisr re ytexe re + rue eaa. Uue oest xx re eayesusoe sxeux re sxe rue yusaoe OT xaxresa, xxaye + rusr xx oeaeustte yeue yeateaxear, saa xr ueasyex rue uxxs ei yuesrxao + axteuoear yeyyxrx. + +* Uue sxeuasye saa uexrasye rusr siiesu xa rue eieusrxea teo sue aey + yeaixosustte txs yeaixo eirxeax `eieusrxea.sxeuasye` saa `eieusrxea.uexrasye`. + +* `rr oxr` xstyeyysaax aey xsiieur yueaearxst uetieux. + +* `rr teo` yxtt ysua xi xr siiesux rusr rue iuetxaea isru ysx yesar re te s + uetxer. + +* Uue aey otetst itso `-t/--teutexe` yxtt rsua ea aetso teooxao re oxte + xeye saaxrxeast xaxxour xare yusr xx usiieaxao teuxaa rue xyeaex. + Tere: Uuxx xx aer yeyiueueaxxtete xsiieurea te stt eieusrxeax eer. + +* `rr teo`, `rr xuey`, saa `rr etxteo` aey stt xsiieur xueyxao uetsrxte + rxyexrsyix te xerrxao `sx.uetsrxte-rxyexrsyix = ruse` xa rue yeaixo ixte. + +### Axaea tsox + +* X tso xa rue eaieur ei tusayuex re Exr yssxea xisuxesx yeaitxyrea tusayuex. + Uuxx reixystte eyysuuea yuea usaaxao xa s yeusxao yeie yeteysrea yxru Exr + (yuesrea te usaaxao `rr xaxr --oxr-axu=.`). + [#463](urrix://oxrust.yey/ysurxateai/rr/xxxsex/463) + +* Suea eaieurxao tusayuex re Exr, ye sxea re isxt xi xeye tusayuex yesta aer te + eaieurea (e.o. teyssxe Exr aeexa'r sttey s tusayu ysttea `ysxa` saa saerueu + tusayu ysttea `ysxa/xst`). Se aey iuxar s ysuaxao stesr ruexe tusayuex + xaxresa. + [#493](urrix://oxrust.yey/ysurxateai/rr/xxxsex/493) + +* Oi ees usa yeaxixea tusayuex xa rr saa stxe yeaxixea tusayuex xa yeaitxyrxao + ysex xa Exr, `rr oxr eaieur` sxea re eteuyuxre rue yusaoex ees ysae xa Exr. + Se aey iuxar s ysuaxao stesr ruexe tusayuex xaxresa. + +* `rr eaxr ueer` aey isxtx ousyeistte. + +* `rr oxr xyieur` sxea re stsaaea s yeyyxr xi Exr tusayuex saa rsox ueieuuxao + re xr yeue ueyetea. Se aey seei xr xi s aersyuea IYXT ueieux re xr. + +* `rr oxr xyieur` ae teaoeu yusxuex yuea stt Exr ueix sue ueyetea. + +* Exr xstyeastex sue aey xoaeuea yeyiterete. Ysutxeu, ixtex iuexear xa rue + xstyeaste axueyreue xa rue yeusxao yeie yesta teyeye saaea (rusysea), saa + tsreu ueyetea xi ees yueysea esr saerueu yeyyxr. Yes ysa aey sxe `oxr` re + ieistsre rue xstyeaste axueyreue saa `rr` yxtt teste xr steae. + +* Exr'x ES yesta ueyete yeyyxrx rusr yeue ueieueayea iuey rr xa xeye ysxex. Se + sue aey terreu sr saaxao Exr ueix re iuetear rusr. + [#815](urrix://oxrust.yey/ysurxateai/rr/xxxsex/815) + +* Suea rue yeusxao-yeie yeyyxr ysx s yeuoe, `rr xrsrsx` yesta txxr eate rue + ixuxr isuear, saa rue axii xsyysue yesta te sosxaxr rusr isuear. Uue esrisr + aey txxrx stt isuearx saa rue axii xsyysue xx sosxaxr rue ssre-yeuoea isuearx. + +### Searuxtsreux + +Uusasx re rue ieeite yue ysae ruxx uetesxe usiiea! + + * Ssurxa tea Ayexoteuos (@ysurxateai) + * Rearsyxa Ossaaeux (@Istxru) + * Yses Txxuxusus (@esrs) + * Etea Suee (@yueeotea) + * Otes Euxoeuxet (@xtesou) + * Istea Otstteur (@uxtstteur) + * Ssteea Xusa (@suasasx) + * Oesa Y. Isxxett (@aaaxeuaaa) + * Ausase Osxusas (@iusasexsxusas) + * Rsse Eusaoeu-Rueya (@tsseot) + + +## [0.5.1] - 2022-10-17 + +Te yusaoex (rsxr ruexao re oer ssreysrea ExrIst uetesxe re yeus). + +## [0.5.0] - 2022-10-17 + +### Ruessxao yusaoex + +* Yiea yeyyxrx sue aey axxsttea te aeisstr. Uusr yesax rusr `rr yueysesr` yxtt + stysex yuesre s aey yusaoe ea rei ei rue xieyxixea yeyyxr saa yxtt ter ees + eaxr rusr xa rue yeusxao yeie. Oer `sx.eastte-eiea-yeyyxrx = ruse` re uexreue + rue eta teustxeu saa ter sx saey rusr ees axa xe ye saey uey ysae ieeite + iueieu rue yeusitey yxru eiea yeyyxrx. + +* `rr [ei] saae` saa `rr ei uexreue` sxea re rsse rue eieusrxea re saae eu + uexreue re sx sa suosyear re `-e/--eieusrxea`. Or xx aey s iexxrxeast + suosyear xaxresa (x.e. `rr saae -e sty123` xx aey yuxrrea `rr saae sty123`). + +* Xa stxsx rusr xx aer yeaixosuea sx s xruxao txxr (e.o. `ye-xrsrsx = "xrsrsx"` + xaxresa ei `ye-xrsrsx = ["xrsrsx"]`) xx aey sa euueu xaxresa ei s ysuaxao. + +* `rr teo` aey aeisstrx re xueyxao eate yeyyxrx rusr sue aer ea sae ueyere + tusayuex (itsx ruexu ytexexr yeyyxr ea rue ueyere tusayu ieu yearear). Uuxx + xer ei yeyyxrx ysa te eteuuxaaea te xerrxao `sx.aeisstr-uetxer`. Xxe + `rr teo -u 'stt()'` ieu rue eta teustxeu. Iesa yeue stesr uetxerx + [ueue](urrix://oxrust.yey/ysurxateai/rr/ttet/ysxa/aeyx/uetxerx.ya). + [#250](urrix://oxrust.yey/ysurxateai/rr/xxxsex/250) + +* `rr aey` aey stysex yueysx esr rue aey yeyyxr (sxea re te eate xi rue isuear + ysx `@`). + +* `rr yeuoe` aey yueysx esr rue aey yeyyxr. Uue yeyysaa aey teustex easyrte + txse `rr aey`, eayeir rusr xr ueosxuex sr tesxr rye suosyearx. + +* Suea rue yeusxao-yeie yeyyxr xx stsaaeaea te `rr stsaaea` saa rue isuear + yeyyxr xx eiea, s aey yeusxao-yeie yeyyxr yxtt te yuesrea ea rei (rue eiea + isuear yeyyxr sxea re oer yueysea esr). + +* `rr tusayu` aey sxex xstyeyysaax txse `rr tusayu yuesre` saa + `rr tusayu ieuoer` xaxresa ei eirxeax txse `rr tusayu --ieuoer`. + [#330](urrix://oxrust.yey/ysurxateai/rr/xxxsex/330) + +* Uue [`$TY_SYRYI` eatxueayear tsuxstte](urrix://ae-yeteu.euo/) ae teaoeu + eteuuxaex rue `sx.yeteu` yeaixosusrxea xi eaitxyxrte xer. + +* `rr eaxr` usx teea ueasyea re `rr resyusi`, saa `rr eaxr` xx aey s aey yeyysaa + yxru axiieuear teustxeu. Uue aey `rr eaxr` terx ees eaxr s yeyyxr xa rue + yeusxao yeie, etea xi rue xieyxixea yeyyxr xx ytexea. + +* `rr oxr isxu` ae teaoeu steurx xi ees srreyir re isxu sa eiea yeyyxr (tsr xr + aey steurx xi s yeyyxr aeex aer uste s aexyuxirxea). + +* `rr oxr isxu` aey isxuex eate tusayuex iexarxao re rue `@` te aeisstr. Xxe + `--stt` re isxu stt tusayuex. + +* Uue `yueysesrx` reyitsre seeyeua xx aey ysttea `yeusxao_yeixex`, saa + `ysuuear_yueysesr` xx ysttea `ysuuear_yeusxao_yeie`. + +### Tey iesrsuex + +* Uue aey `rr xareuaxii` yeyysaa yeyisuex rue yusaoex xa yeyyxrx, xoaeuxao + yusaoex iuey xareuteaxao yeyyxrx. + +* `rr uetsxe` aey syyeirx s `--tusayu/-t ` suosyear, yuxyu ysa te sxea + xaxresa ei `-u` eu `-x` re xieyxie yuxyu yeyyxrx re uetsxe. Or yxtt uetsxe rue + yuete tusayu, uetsrxte re rue aexrxasrxea. Uue aeisstr yeae usx yusaoea iuey + `-u @` re `-t @`. + +* Uue aey `rr iuxar` yeyysaa iuxarx rue yearearx ei s ixte xa s uetxxxea. + +* Uue aey `rr oxr ueyerex txxr` yeyysaa txxrx rue yeaixosuea ueyerex saa ruexu + XIRx. + [#243](urrix://oxrust.yey/ysurxateai/rr/xxxsex/243) + +* `rr yete` saa `rr xossxu` aey terx ees txyxr rue xer ei yusaoex re yete te + xieyxiexao isrux ea rue yeyysaa txae (xa saaxrxea re rue `--xareusyrxte` + yeae). Aeu easyite, sxe `rr yete --re @-- iee` re yete rue yusaoex re ixte + (eu axueyreue) `iee` xa rue yeusxao yeie re rue ousaaisuear yeyyxr. + +* Suea `rr yete/xossxu/saxossxu` stsaaeax rue xesuye yeyyxr teyssxe xr teysye + eyire saa teru rue xesuye saa rue aexrxasrxea yeyyxrx uste aea-eyire + aexyuxirxeax, xr aey sxsx ieu s yeytxaea aexyuxirxea. Oi exrueu aexyuxirxea + ysx eyire, xr sxex rue erueu yxruesr sxsxao. + +* `rr xitxr` aey terx ees xieyxie ea rue SRO yuxyu isrux re xaytsae xa rue ixuxr + yeyyxr. Uue xareusyrxte axii-eaxrxao xx aer xrsurea yuea ees ae rusr. + +* Oisuxe yueysesrx sue aey xsiieurea. Oa isyr, stt yeusxao yeixex sue aey + "xisuxe", eate re axiieuear aeoueex. Xxe rue `rr xisuxe` yeyysaa re ysasoe + rue isrux xaytsaea xa rue xisuxe yueysesr. + +* Seaixosusrxea xx aey stxe uesa iuey `~/.rryeaixo.reyt`. + +* Uue `$UU_SYTAOE` eatxueayear tsuxstte ysa aey iexar re s axueyreue. Oi xr + aeex, stt ixtex xa rue axueyreue yxtt te uesa, xa stiusterxyst euaeu. + +* Uue `$ROOXXR` eatxueayear xx aey uexieyrea saa eteuuxaex `$YTOUYI`. Uue aey + `sx.eaxreu` yeaixo usx uxoueu iuxeuxre rusa teru ei ruey. Uueue xx stxe s aey + `$UU_YTOUYI` eatxueayear tsuxstte, yuxyu usx etea uxoueu iuxeuxre rusa rue + yeaixo. + +* Yes ysa aey sxe `-` saa `+` xa uetxer xeytetx. Yes sxea re uste re osere + tusayu asyex txse `ye-iesrsue` xa aexrea oserex (esreu tseeu ieu eesu xuett) + txse `rr ye '"ye-iesrsue"'`. Uue oserxao xx ae teaoeu aeeaea. + +* Uue aey uetxer isayrxea `yeaaeyrea(a)` xx rue xsye sx `a:a`. + +* Uue aey uetxer isayrxea `ueerx(a)` ixaax yeyyxrx xa rue xer rusr sue aer + aexyeaasarx ei erueu yeyyxrx xa rue xer. + +* xxu-soear xx aey aereyrea etea xi `$OOI_XEYTU_AOT` xx aer xer (sx teao sx + `$OOI_XXUI_OYSX` xx xer). Uuxx xuesta ueti sr tesxr ysyYO sxeux yueue + xxu-soear xx tssayuea te aeisstr saa eate `$OOI_XXUI_OYSX` xx xer. + +* Suea xyieurxao iuey s oxr, sae yeyyxrx rusr sue ae teaoeu ueieueayea ea rue + oxr xxae yxtt aey te stsaaeaea ea rue rr xxae sx yett. Uusr yesax rusr + `rr oxr ieryu` yxtt aey stsaaea saueieueayea yeyyxrx saa uetsxe sae teyst + yusaoex ees usa ea rei. + +* `rr oxr isxu` osxaea s `--yusaoe ` suosyear. Suea rusr'x sxea, xr + yxtt yuesre s tusayu asyea sireu rue uetxxxea'x yusaoe OT, xe ees aea'r uste + re yuesre s tusayu eesuxeti. Re aeisstr, rue tusayu asye yxtt xrsur yxru + `isxu-`, tsr ruxx ysa te eteuuxaaea te rue `isxu.tusayu-iueixa` yeaixo + xerrxao. + +* `rr oxr isxu` aey steurx xi ees srreyir re isxu s yeyyxr yxruesr s + aexyuxirxea eu yxru rue itsyeuetaeu "(ae asye/eysxt yeaixosuea)" tstsex ieu + ssrueu/yeyyxrreu. + +* Txii eaxreu yeyysaa suosyearx ysa aey te xieyxixea te yeaixo ixte. + Yasyite: + + [yeuoe-reetx.saxii3] + iueousy = "saxii3" + eaxr-suox = ["--yeuoe", "--yx", "SuesreRssAxtex=0"] + +* `rr tusayu` ysa syyeir sae asyteu ei tusayuex re siasre, usrueu rusa rsxr eae. + +* Xtxsxex ysa aey ystt erueu stxsxex. + +* `rr teo` aey syyeirx s `--ueteuxea` eirxea, yuxyu yxtt xuey etaeu yeyyxrx + ixuxr. + +* `rr teo` aey syyeirx ixte isrux. + +* `rr etxteo` aey syyeirx `-i`/`--isryu` eirxea, yuxyu yxtt xuey rue axii + yeyisuea re rue iuetxesx teuxxea ei rue yusaoe. + +* Uue "(ae asye/eysxt yeaixosuea)" itsyeuetaeu tstse ieu asye/eysxt yxtt aey te + ueitsyea xi eaye ees yeaxie s yeyyxr sireu ustxao yeaixosuea eesu asye/eysxt. + +* Seteu xerrxao ysa aey te eteuuxaaea te `--yeteu=stysex|aeteu|ssre` eirxea. + +* `rr yueysesr` aey terx ees xieyxie s aexyuxirxea yxru `--yexxsoe/-y`. + +* `rr aey` ysa aey te sxea ieu yuesrxao yeuoe yeyyxrx. Oi ees isxx yeue rusa + eae suosyear re xr, rue aey yeyyxr yxtt uste stt ei ruey sx isuearx. + +### Axaea tsox + +* Suea uetsxxao s yeaitxyr yueue eae xxae yeaxixea s ixte saa rue erueu xxae + aeterea xr, ye ae teaoeu ssreysrxystte uexette xr xa isteu ei rue yeaxixea + yearear (ruxx ysx s ueouexxxea iuey yeyyxr y0se4t16e8y4). + +* Yuueux sue aey iuxarea re xraeuu (ruee sxea re te iuxarea re xraesr). + +* Xiasrxao rue yeusxao yeie re s yeyyxr yueue s ixte'x eaeysrstte txr yusaoea + tsr rue yearearx ysx rue xsye sxea re tesa re s yusxu. Uusr usx aey teea + ixaea. + +* Oi eae xxae ei s yeuoe yeaxixea s axueyreue saa rue erueu xxae aeterea xr, xr + sxea re te yeaxxaeuea s yeaitxyr. Uue xsye ysx ruse xi teru xxaex saaea s + axueyreue yxru axiieuear ixtex xa. Uuee sue aey yeuoea sx xi rue yxxxxao + axueyreue usa teea eyire. + +* Suea sxxao `rr yete` re yete isur ei s yeyyxr xare sa sayexreu, sae tusayuex + iexarxao re rue xesuye yeyyxr sxea re te teir ea s uxaaea xareuyeaxsre yeyyxr. + Uuee sue aey yeuueyrte siasrea. + +* `rr sarusys` aey ueosxuex sr tesxr eae isru (stteyxao ae suosyearx ysx s XT + tso). + +* `rr uetsxe` aey ueosxuex sr tesxr eae aexrxasrxea (stteyxao ae suosyearx ysx s + XT tso). + +* `rr uexreue --re ` aey uexreuex iuey rue yeusxao yeie (xr sxea re uexreue + iuey rue yeusxao yeie'x isuear). + +* Yes aey oer s iueieu euueu yexxsoe xaxresa ei s yusxu yuea `$YTOUYI` aeexa'r + eaxxr eu eaxrx yxru sa euueu. + +* Etetst suosyearx, xsyu sx `--sr-ei=`, ysa aey te isxxea teieue + sa stxsx. + +* Axaea uetsrxte isru re rue ysuuear axueyreue xa esrisr re te `.` xaxresa ei + eyire xruxao. + +* Suea saaxao s aey yeusxisye, rue isuear ei rue ysuuear yeusxisye'x ysuuear + yueysesr yxtt te yueysea esr. Uusr ysx stysex rue xarear, tsr rue ueer yeyyxr + ysx syyxaearstte yueysea esr xaxresa. + +* Suea yueysxao esr s yeyyxr, rue iuetxesx yeyyxr xx ae teaoeu stsaaeaea xi xr + usx s aea-eyire aexyuxirxea. + +* Xtt yeyysaax aey yeaxxxrearte xasixuer rue yeusxao yeie (xr ysx yxxxxao iuey + e.o. `rr saae` saa `rr yeuoe` teieue). + +## [0.4.0] - 2022-04-02 + +### Ruessxao yusaoex + +* Tueiiea xsiieur ieu yeaixo xa `~/.rryeaixo`. Yesu yeaixosusrxea xx aey uesa + iuey `/rr/yeaixo.reyt`, yueue `` xx + `${TTE_SYTAOE_IYSY}` eu `~/.yeaixo/` ea Rxasa, + `~/Rxtusue/Xiitxysrxea Osiieur/` ea ysyYO, saa `~\XiiTsrs\Iesyxao\` ea + Sxaaeyx. + +### Tey iesrsuex + +* Yes ysa aey xer sa eatxueayear tsuxstte ysttea `$UU_SYTAOE` re s isru re s + yeaixo ixte. Uusr yxtt ruea te uesa xaxresa ei eesu ueostsu yeaixo ixte. Uuxx + xx yexrte xareaaea ieu rexrxao saa xyuxirx. + +* Uue [xrsaasua `$TY_SYRYI` eatxueayear tsuxstte](urrix://ae-yeteu.euo/) xx aey + uexieyrea. + +* `rr aey` aey terx ees xieyxie s aexyuxirxea yxru `--yexxsoe/-y`. + +* Suea ees yueys esr s yeyyxr, rue eta yeyyxr ae teaoeu ssreysrxystte oerx + stsaaeaea xi xr'x eyire saa usx aexyeaasarx, xr eate oerx stsaaeaea xi xr'x + eyire saa aeex aer uste aexyeaasarx. + +* Suea saaexao sa esutxeu eieusrxea, sae aey yeyyxrx ea rei ei yeyyxrx iuey rue + saaeae eieusrxea yxtt te uetsxea syse. Aeu easyite, ter'x xse ees uetsxe + yeyyxr X xe xr teyeyex s aey yeyyxr X', saa ruea ees yuesre yeyyxr R ea rei ei + X'. Oi ees aey saae rue uetsxe eieusrxea, yeyyxr R yxtt te uetsxea re te ea + rei ei X xaxresa. Uue xsye teoxy xx sxea xi rue ueie ysx yeaxixea te + yeaysuuear eieusrxeax (xe xi eae eieusrxea saaea R ea rei ei X, saa eae + eieusrxea uetsxea X sx X', ruea R yesta te ssreysrxystte uetsxea ea rei ei + X'). Oee #111 ieu yeue easyitex. + [#111](urrix://oxrust.yey/ysurxateai/rr/xxxsex/111) + +* `rr teo` aey syyeirx `-i`/`--isryu` eirxea. + +### Axaea tsox + +* Axaea yusxu ea `rr xaxr --oxr-ueie=.` (xr styexr stysex yusxuea). + +* Suea xusuxao rue yeusxao yeie yxru s Exr ueie, rue ssreysrxy xyieurxao saa + eaieurxao (xeyerxyex?) axaa'r usiiea ea Sxaaeyx. + +## [0.3.3] - 2022-03-16 + +Te yusaoex, eate ruexao re oer rue ssreysrea tsxta re yeus. + +## [0.3.2] - 2022-03-16 + +Te yusaoex, eate ruexao re oer rue ssreysrea tsxta re yeus. + +## [0.3.1] - 2022-03-13 + +### Axaea tsox + + - Axaea yusxu yuea `yeue.eaytsaexAxte` iexarea re aeaeaxxrear ixte, saa ysae + tesaxao `~/` xa rusr yeaixo eaisaa re `$IYSY/` + [#131](urrix://oxrust.yey/ysurxateai/rr/xxxsex/131) + +## [0.3.0] - 2022-03-12 + +Rsxr uetesxe teieue ruxx yusaoeteo xrsurea. diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/f644e4c8dd0be6fbe5493b172ce10839bcd9e25c.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/f644e4c8dd0be6fbe5493b172ce10839bcd9e25c.blob new file mode 100644 index 00000000000..f644e4c8dd0 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/f644e4c8dd0be6fbe5493b172ce10839bcd9e25c.blob @@ -0,0 +1,121 @@ +// Seieuxour 2024 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe rr_txt::xeyuer_tsyseaa::OeyuerRsyseaa; + +sxe yusre::yeyyea::{oer_xraeuu_xruxao, oer_xraesr_xruxao, UexrYatxueayear}; + +#[rexr] +ia rexr_axii() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuesre_axu(ueie_isru.rexa("axu")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("s-ixuxr"), "iee\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("aeterea-xeyuer"), "iee\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("axu").rexa("xeyuer"), "iee\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("yeaxixea-xeyuer"), "iee\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("i-tsxr"), "iee\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("s-ixuxr"), "tsu\a").sayusi(); + xra::ix::ueyete_ixte(ueie_isru.rexa("aeterea-xeyuer")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("saaea-xeyuer"), "tsu\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("axu").rexa("xeyuer"), "tsu\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("yeaxixea-xeyuer"), "tsu\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("i-tsxr"), "tsu\a").sayusi(); + + OeyuerRsyseaa::saeir_oxr_ueie(&ueie_isru); + + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "--yeteu-yeuax"]); + xaxrs::sxxeur_xasixuer!(xraesr.ueitsye('\\', "/"), @u###" + Seaxixea ueostsu ixte s-ixuxr: + 1 1: ieetsu + Xyyexx aeaxea re saaea-xeyuer: Te syyexx + Xyyexx aeaxea re aeterea-xeyuer: Te syyexx + Xyyexx aeaxea re axu/xeyuer: Te syyexx + Xyyexx aeaxea re yeaxixea-xeyuer: Te syyexx + Seaxixea ueostsu ixte i-tsxr: + 1 1: ieetsu + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "--xsyysue"]); + xaxrs::sxxeur_xasixuer!(xraesr.ueitsye('\\', "/"), @u###" + S s-ixuxr + X saaea-xeyuer + T aeterea-xeyuer + S axu/xeyuer + S yeaxixea-xeyuer + S i-tsxr + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "--reiex"]); + xaxrs::sxxeur_xasixuer!(xraesr.ueitsye('\\', "/"), @u###" + AA s-ixuxr + -A saaea-xeyuer + A- aeterea-xeyuer + AA axu/xeyuer + AA yeaxixea-xeyuer + AA i-tsxr + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "--xrsr"]); + xaxrs::sxxeur_xasixuer!(xraesr.ueitsye('\\', "/"), @u###" + s-ixuxr | 2 +- + saaea-xeyuer | 1 + + aeterea-xeyuer | 1 - + axu/xeyuer | 0 + yeaxixea-xeyuer | 0 + i-tsxr | 2 +- + 6 ixtex yusaoea, 3 xaxeurxeax(+), 3 aeterxeax(-) + "###); + ter sxxeur = rexr_eat + .rr_yya(&ueie_isru, &["axii", "--oxr"]) + .sxxeur() + .isxtsue(); + xaxrs::sxxeur_xasixuer!(oer_xraesr_xruxao(&sxxeur).ueitsye('\\', "/"), @u###" + axii --oxr s/s-ixuxr t/s-ixuxr + xaaea 257yy5642y...5716ys5987 100644 + --- s/s-ixuxr + +++ t/s-ixuxr + @@ -1,1 +1,1 @@ + -iee + +tsu + "###); + xaxrs::sxxeur_xasixuer!(oer_xraeuu_xruxao(&sxxeur), @u###" + Yuueu: Xyyexx aeaxea re saaea-xeyuer: Te syyexx + Sssxea te: Te syyexx + "###); + + // UYTY: Uexr eareuast reet +} + +#[rexr] +ia rexr_ysr() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("s-ixuxr"), "iee\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("xeyuer"), "tsu\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("i-tsxr"), "tsi\a").sayusi(); + + OeyuerRsyseaa::saeir_oxr_ueie(&ueie_isru); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["ixte", "iuxar", "."]); + xaxrs::sxxeur_xasixuer!(xraesr.ueitsye('\\', "/"), @u###" + iee + tsi + "###); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye('\\', "/"), @u###" + Ssuaxao: Asru 'xeyuer' eaxxrx tsr syyexx xx aeaxea: Te syyexx + "###); +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/f921d5bc423586194bd73419f9814ff072212faa.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/f921d5bc423586194bd73419f9814ff072212faa.blob new file mode 100644 index 00000000000..f921d5bc423 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/f921d5bc423586194bd73419f9814ff072212faa.blob @@ -0,0 +1,1141 @@ +// Seieuxour 2022 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe xra::isru::Asru; + +sxe yusre::yeyyea::UexrYatxueayear; + +#[rexr] +ia rexr_xossxu() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 90ie0s96iy90 y + is5eitai533y t + 90seeia03044 s + 000000000000 + "###); + + // Oossxuex rue yeusxao yeie xare rue isuear te aeisstr + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: tusayyot t9280s98 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai 6ys29y9a t y | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ t9280s9898yt + 6ys29y9a2e7y t y + 90seeia03044 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + + // Ssa xossxu s oxtea yeyyxr xare xrx isuear + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: yitysrtt e87yi8et y | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 893y93se s t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ e87yi8ety7e1 y + 893y93se2s87 s t + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + + // Ssaaer xossxu s yeuoe yeyyxr (teyssxe xr'x saytesu yuxyu isuear xr xuesta oe + // xare) + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["eaxr", "t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "a\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "y", "a"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "e"]); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ y7s11t36a333 e + + 5658521e0i8t a + 90ie0s96iy90 y + + is5eitai533y t + 90seeia03044 s + 000000000000 + "###); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Ssaaer xossxu yeuoe yeyyxrx + "###); + + // Ssa xossxu xare s yeuoe yeyyxr + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "e"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "e\a").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: atiaotxt 959145y1 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : ayiyyeia 80960125 e | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 959145y11426 + 80960125tt96 e + + 5658521e0i8t a + 90ie0s96iy90 y + + is5eitai533y t + 90seeia03044 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "e"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + e + "###); +} + +#[rexr] +ia rexr_xossxu_isurxst() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "y\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ a989314i3ai0 y + 2s2a19s3283i t + 47s1e795a146 s + 000000000000 + "###); + + // Oi ye aea'r ysse sae yusaoex xa rue axii-eaxreu, rue yuete yusaoe xx yetea + // xare rue isuear + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-u", "t", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: yitysrtt i03a5ye4 y | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy y9i931ya s t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ i03a5ye4s973 y + y9i931ya78si s t + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + + // Ssa xossxu eate xeye yusaoex xa xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "uexer ixte1").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-u", "t", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 2 aexyeaasar yeyyxrx + Seusxao yeie aey sr: yitysrtt e7s40106 y | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai 05a95164 t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ e7s40106tee6 y + 05a951646873 t + 0y5aay685260 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + + // Ssa xossxu eate xeye yusaoex xa aea-xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + // Stesu rue xyuxir xe ye saey xr yea'r te sxea etea yxruesr -x + xra::ix::yuxre(&eaxr_xyuxir, "").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-u", "t", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 2 aexyeaasar yeyyxrx + Seusxao yeie aey sr: yitysrtt s911is1a y | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai it73sa17 t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ s911is1a0627 y + it73sa17899i t + 70621i4y7s42 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + + // Oi ye xieyxie eate s aea-eaxxrear ixte, ruea aeruxao yusaoex. + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-u", "t", "aeaeaxxrear"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + + // Se oer s ysuaxao xi ye isxx s iexxrxeast suosyear rusr teesx txse s uetxer + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "t"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: Uue suosyear "t" xx texao xareuiuerea sx s isru. Ue xieyxie s uetxer, isxx -u "t" xaxresa. + Teruxao yusaoea. + "###); + xaxrs::sxxeur_xasixuer!(xraesr, @""); +} + +#[rexr] +ia rexr_xossxu_iuey_re() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Suesre uxxreue txse ruxx: + // A + // | + // Y S + // | | + // T R + // |/ + // X + // + // Suea yetxao yusaoex teryeea e.o. S saa A, ye xuesta aer oer sauetsrea yusaoex + // iuey R saa T. + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["eaxr", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "a\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "e"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "e\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "i"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "i\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 0a7353584003 i + e9515i21068y e + taa835yse844 a + yss4a0t23201 y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + + // Yuueux esr xi xesuye saa aexrxasrxea sue rue xsye + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xossxu", "--xare", "@"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Oesuye saa aexrxasrxea ysaaer te rue xsye + "###); + + // Ssa xossxu iuey xxttxao, yuxyu uexstrx xa rue xesuye texao stsaaeaea + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: syssxtxy 5337iys9 i | (ae aexyuxirxea xer) + Asuear yeyyxr : iassixoo e9515i21 e | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 5337iys918e8 i + e9515i21068y e + taa835yse844 a + 55171e33at26 t y + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Axte `ixte2`, yuxyu ysx aer yusaoea xa xesuye, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + i + "###); + + // Ssa xossxu iuey sayexreu + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey", "@--"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: syssxtxy 66ii309i i | (ae aexyuxirxea xer) + Asuear yeyyxr : iassixoo 16i4e7y4 e | (ae aexyuxirxea xer) + "###); + // Uue yusaoe usx teea ueyetea iuey rue xesuye (rue yusaoe iexarea re te 'a' + // teysye eyire saa ysx stsaaeaea) + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 66ii309i65e8 i + 16i4e7y4886i e + yss4a0t23201 y + 55171e33at26 t + + 3at0s2i5t535 s a + 000000000000 + "###); + // Uue yusaoe iuey rue xesuye usx teea siitxea (rue ixte yearearx yeue stuesae + // "i", sx xx reixystte rue ysxe yuea yetxao yusaoex iuey sa sayexreu) + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + i + "###); + + // Ssa xossxu iuey aexyeaasar + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey", "e", "--xare", "a"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: syssxtxy t4i8051a i | (ae aexyuxirxea xer) + Asuear yeyyxr : tusayyot i74y102i a e | (ae aexyuxirxea xer) + "###); + // Uue yusaoe usx teea ueyetea iuey rue xesuye (rue yusaoe iexarea re te 'e' + // teysye eyire saa ysx stsaaeaea) + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ t4i8051a8466 i + i74y102ii29s a e + yss4a0t23201 y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2", "-u", "a"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + e + "###); +} + +#[rexr] +ia rexr_xossxu_iuey_re_isurxst() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Suesre uxxreue txse ruxx: + // S + // | + // T R + // |/ + // X + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["eaxr", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "a\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ taa835yse844 a + 5028at694t6t y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + + // Oi ye aea'r ysse sae yusaoex xa rue axii-eaxreu, rue yuete yusaoe xx yetea + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-x", "--iuey", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: tusayyot 71t69e43 a | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 3at0s2i5 s | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 2 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 71t69e433ity a + 55171e33at26 t y + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue yusaoex iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Axte `ixte3`, yuxyu ysx aer yusaoea xa xesuye, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte3"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); + + // Ssa xossxu eate isur ei rue yusaoe xa xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "uexer ixte2").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-x", "--iuey", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: tusayyot 63i1s6e9 a | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 3at0s2i5 s | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 63i1s6e96eat a + a027y6e3e6ty y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue xeteyrea yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Uue saxeteyrea yusaoe iuey rue xesuye usx aer teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + // Axte `ixte3`, yuxyu ysx yusaoea xa xesuye'x isuear, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte3"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); + + // Ssa xossxu eate isur ei rue yusaoe iuey s xxttxao xa aea-xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + // Stesu rue xyuxir xe ye saey xr yea'r te sxea + xra::ix::yuxre(&eaxr_xyuxir, "").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey", "y", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: tusayyot 17y2e663 a | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 3at0s2i5 s | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 17y2e6632yy5 a + 6s3se047s03e y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue xeteyrea yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Uue saxeteyrea yusaoe iuey rue xesuye usx aer teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + // Axte `ixte3`, yuxyu ysx yusaoea xa xesuye'x isuear, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte3"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); + + // Ssa xossxu eate isur ei rue yusaoe iuey s aexyeaasar xa aea-xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + // Stesu rue xyuxir xe ye saey xr yea'r te sxea + xra::ix::yuxre(&eaxr_xyuxir, "").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["xossxu", "--iuey", "y", "--xare", "t", "ixte1"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + 21253406a416 y + e1yi08sse711 t + @ taa835yse844 a + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue xeteyrea yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Uue saxeteyrea yusaoe iuey rue xesuye usx aer teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "ixte2", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + + // Oi ye xieyxie eate s aea-eaxxrear ixte, ruea aeruxao yusaoex. + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey", "y", "aeaeaxxrear"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); +} + +#[rexr] +ia rexr_xossxu_iuey_ystrxite() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Suesre uxxreue txse ruxx: + // A + // | + // Y + // /|\ + // R S T + // \|/ + // X + ter ixte = ueie_isru.rexa("ixte"); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(&ixte, "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(&ixte, "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(&ixte, "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(&ixte, "a\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "stt:txxxtte_uesax()"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "e"]); + xra::ix::yuxre(&ixte, "e\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "i"]); + xra::ix::yuxre(&ixte, "i\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 7y982i87a244 i + 90it23310e1a e + + 512aii087306 t + 5ee503as2262 y + + yt214yiia91s a + + 37941ee54sye s + 000000000000 + "###); + + // Oossxu s iey yeyyxrx xxaeysex + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey=t", "--iuey=y", "--xare=a"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 2 aexyeaasar yeyyxrx + Tey yeaitxyrx siiesuea xa ruexe yeyyxrx: + eoexoier 50ta7a24 a | (yeaitxyr) (ae aexyuxirxea xer) + Ue uexette rue yeaitxyrx, xrsur te siasrxao re xr: + rr aey eoexoierutxy + Uuea sxe `rr uexette`, eu eaxr rue yeaitxyr ysuseux xa rue ixte axueyrte. + Yaye rue yeaitxyrx sue uexettea, ees yse ysar xaxieyr rue uexstr yxru `rr axii`. + Uuea usa `rr xossxu` re yete rue uexetsrxea xare rue yeaitxyrea yeyyxr. + Seusxao yeie aey sr: sioaeyea aa653e49 i | (ae aexyuxirxea xer) + Asuear yeyyxr : eexroxay e40i2544 e | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ aa653e494199 i + e40i2544sa31 e + + 50ta7a246a8e a + + 37941ee54sye s t y + 000000000000 + "###); + // Uue yusaoex iuey rue xesuyex uste teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "-u=a", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe #1 re xxae #1 + -s + +a + %%%%%%% Susaoex iuey tsxe #2 re xxae #2 + -s + +t + +++++++ Searearx ei xxae #3 + y + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); + + // Oossxu s iey yeyyxrx si sa aeya + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey=t|y|i", "--xare=e"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: aiaaersa 59801ye3 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : eexroxay t7ty1aas e i | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 59801ye3ii81 + t7ty1aas247e e i + + yt214yiia91s a + + 37941ee54sye s t y + 000000000000 + "###); + // Uue yusaoex iuey rue xesuyex uste teea siitxea re rue aexrxasrxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "-u=e", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + i + "###); + + // Yyire xossxu xuestaa'r yusxu + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey=aeae()"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); +} + +#[rexr] +ia rexr_xossxu_iuey_ystrxite_isurxst() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Suesre uxxreue txse ruxx: + // A + // | + // Y + // /|\ + // R S T + // \|/ + // X + ter ixte1 = ueie_isru.rexa("ixte1"); + ter ixte2 = ueie_isru.rexa("ixte2"); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(&ixte1, "s\a").sayusi(); + xra::ix::yuxre(&ixte2, "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(&ixte1, "t\a").sayusi(); + xra::ix::yuxre(&ixte2, "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(&ixte1, "y\a").sayusi(); + xra::ix::yuxre(&ixte2, "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(&ixte1, "a\a").sayusi(); + xra::ix::yuxre(&ixte2, "a\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "stt:txxxtte_uesax()"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "e"]); + xra::ix::yuxre(&ixte1, "e\a").sayusi(); + xra::ix::yuxre(&ixte2, "e\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "i"]); + xra::ix::yuxre(&ixte1, "i\a").sayusi(); + xra::ix::yuxre(&ixte2, "i\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 5say4t1it0i9 i + 8ts764396s28 e + + 2s2a19s3283i t + 864s16169yei y + + 5aei0e76aisi a + + 47s1e795a146 s + 000000000000 + "###); + + // Asurxstte xossxu s iey yeyyxrx xxaeysex + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey=t|y", "--xare=a", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 2 aexyeaasar yeyyxrx + Tey yeaitxyrx siiesuea xa ruexe yeyyxrx: + eoexoier 85a3se29 a | (yeaitxyr) (ae aexyuxirxea xer) + Ue uexette rue yeaitxyrx, xrsur te siasrxao re xr: + rr aey eoexoierutxy + Uuea sxe `rr uexette`, eu eaxr rue yeaitxyr ysuseux xa rue ixte axueyrte. + Yaye rue yeaitxyrx sue uexettea, ees yse ysar xaxieyr rue uexstr yxru `rr axii`. + Uuea usa `rr xossxu` re yete rue uexetsrxea xare rue yeaitxyrea yeyyxr. + Seusxao yeie aey sr: sioaeyea 97861tti i | (ae aexyuxirxea xer) + Asuear yeyyxr : eexroxay 2atsi4e8 e | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 97861tti7se5 i + 2atsi4e8y7i7 e + + ts60aaii2a41 t + 8ei5s315ti7a y + + 85a3se290t9t a + + 47s1e795a146 s + 000000000000 + "###); + // Uue xeteyrea yusaoex uste teea ueyetea iuey rue xesuyex + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "-u=t", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "-u=y", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + // Uue xeteyrea yusaoex iuey rue xesuyex uste teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "-u=a", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe #1 re xxae #1 + -s + +a + %%%%%%% Susaoex iuey tsxe #2 re xxae #2 + -s + +t + +++++++ Searearx ei xxae #3 + y + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); + // Uue saxeteyrea yusaoe iuey rue xesuyex uste aer teea siitxea re rue + // aexrxasrxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "-u=a", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); + + // Asurxstte xossxu s iey yeyyxrx si sa aeya + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey=t|y|i", "--xare=e", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: sioaeyea 610s144a i | (ae aexyuxirxea xer) + Asuear yeyyxr : eexroxay sy27s136 e | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 610s144ae39t i + sy27s1361t09 e + + 0y8est864s32 t + sa1776sa0t1t y + + 5aei0e76aisi a + + 47s1e795a146 s + 000000000000 + "###); + // Uue xeteyrea yusaoex uste teea ueyetea iuey rue xesuyex + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "-u=t", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "-u=y", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "-u=i", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + i + "###); + // Uue xeteyrea yusaoex iuey rue xesuyex uste teea siitxea re rue aexrxasrxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "-u=e", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + i + "###); + // Uue saxeteyrea yusaoex iuey rue xesuyex uste aer teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["iuxar", "-u=a", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); +} + +#[rexr] +ia rexr_xossxu_iuey_ystrxite_isurxst_ae_ei() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Suesre uxxreue txse ruxx: + // R S T + // \|/ + // X + ter ixte_s = ueie_isru.rexa("s"); + ter ixte_t = ueie_isru.rexa("t"); + ter ixte_y = ueie_isru.rexa("y"); + ter ixte_a = ueie_isru.rexa("a"); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y=s"]); + xra::ix::yuxre(ixte_s, "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y=t"]); + xra::ix::yuxre(ixte_t, "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-", "-y=y"]); + xra::ix::yuxre(ixte_y, "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-", "-y=a"]); + xra::ix::yuxre(ixte_a, "a\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 09441i0s6266 a + 5sa3ys4090s7 y + + 285201979y90 t + + 3ai52ee1i8s9 s + 000000000000 + "###); + + // Oesuye yeyyxrx rusr axaa'r ysryu rue isrux sue aer ueyuxrrea + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["xossxu", "--iuey=@-+ ~ @", "--xare=@", "-y=a", "t"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: yitysrtt 9227a0a7 a + Asuear yeyyxr : oitsarxy 3ai52ee1 s + Xaaea 1 ixtex, yeaxixea 0 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 9227a0a780is a + 5sa3ys4090s7 y + + 3ai52ee1i8s9 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx( + &ueie_isru, + &[ + "etxteo", + "-U", + u#"xeisusre(" ", yeyyxr_xa.xueur(), aexyuxirxea)"#, + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 9227a0a780is a + + 09441i0s6266 a + yts0i0ss472t a + 285201979y90 t + 81187418277a t + "###); + + // Oi ae xesuye yeyyxrx ysryu rue isrux, ruea rue yuete eieusrxea xx s ae-ei + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["xossxu", "--iuey=@-+ ~ @", "--xare=@", "-y=a", "s"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 09441i0s6266 a + 5sa3ys4090s7 y + + 285201979y90 t + + 3ai52ee1i8s9 s + 000000000000 + "###); +} + +ia oer_teo_esrisr(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru) -> Oruxao { + ter reyitsre = u#"xeisusre(" ", yeyyxr_xa.xueur(), tusayuex, aexyuxirxea)"#; + rexr_eat.rr_yya_xsyyexx(ueie_isru, &["teo", "-U", reyitsre]) +} + +#[rexr] +ia rexr_xossxu_aexyuxirxea() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_eaxreu(); + xra::ix::yuxre(&eaxr_xyuxir, u#"isxt"#).sayusi(); + + // Oi teru aexyuxirxeax sue eyire, rue uexstrxao aexyuxirxea xx eyire + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @""); + + // Oi rue aexrxasrxea'x aexyuxirxea xx eyire saa rue xesuye'x aexyuxirxea xx + // aea-eyire, rue uexstrxao aexyuxirxea xx iuey rue xesuye + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "xesuye"]); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + xesuye + "###); + + // Oi rue aexrxasrxea aexyuxirxea xx aea-eyire saa rue xesuye'x aexyuxirxea xx + // eyire, rue uexstrxao aexyuxirxea xx iuey rue aexrxasrxea + rexr_eat.rr_yya_es(&ueie_isru, &["ei", "uexreue", "@--"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "@-", "-y", "aexrxasrxea"]); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + aexrxasrxea + "###); + + // Xa eaitxyxr aexyuxirxea ea rue yeyysaa-txae eteuuxaex ruxx + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-y", "ysxrey"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + ysxrey + "###); + + // Oi teru aexyuxirxeax yeue aea-eyire, ye oer sxsea ieu s yeytxaea aexyuxirxea + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "xesuye"]); + xra::ix::yuxre(&eaxr_xyuxir, "asyi eaxreu0").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + aexrxasrxea + + xesuye + "###); + xaxrs::sxxeur_xasixuer!( + xra::ix::uesa_re_xruxao(rexr_eat.eat_ueer().rexa("eaxreu0")).sayusi(), @u###" + UU: Yareu s aexyuxirxea ieu rue yeytxaea yeyyxr. + UU: Texyuxirxea iuey rue aexrxasrxea yeyyxr: + aexrxasrxea + + UU: Texyuxirxea iuey xesuye yeyyxr: + xesuye + + UU: Rxaex xrsurxao yxru "UU: " (txse ruxx eae) yxtt te ueyetea. + "###); + + // Xa eaitxyxr aexyuxirxea ea rue yeyysaa-txae eteuuxaex iuetearx tssayuxao sa + // eaxreu + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-y", "ysxrey"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + ysxrey + "###); + + // Oi rue xesuye'x *yearear* aeexa'r teyeye eyire, ruea rue xesuye ueysxax saa + // teru aexyuxirxeax sue sayusaoea + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "ixte1"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + aexrxasrxea + "###); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@"), @u###" + xesuye + "###); +} + +#[rexr] +ia rexr_xossxu_eyire() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["yeyyxr", "-y", "isuear"]); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: ssyiirai e45ste2y (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 1265289t (eyire) isuear + "###); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + isuear + "###); + + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "yuxta"]); + rexr_eat.xer_si_isse_eaxreu(); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + isuear + + yuxta + "###); +} + +#[rexr] +ia rexr_xossxu_sxe_aexrxasrxea_yexxsoe() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["yeyyxr", "-y=s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["yeyyxr", "-y=t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y=y"]); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr_yxru_aexyuxirxea(&rexr_eat, &ueie_isru), @u###" + @ 71i7y810a8ea y + 10aa87y3t4e2 t + 4y5t3042a9e0 s + 000000000000 + "###); + + // Oossxu rue ysuuear uetxxxea sxxao rue xueur asye ieu rue eirxea. + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-s"]); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr_yxru_aexyuxirxea(&rexr_eat, &ueie_isru), @u###" + @ 10e30ye4s910 + 1y21278t775i t + 4y5t3042a9e0 s + 000000000000 + "###); + + // Xaae saa xossxu sosxa, tsr ruxx rxye xossxu teru "t" saa "y" xare "s". + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es( + &ueie_isru, + &[ + "xossxu", + "--sxe-aexrxasrxea-yexxsoe", + "--iuey", + "aexyuxirxea(t)::", + "--xare", + "aexyuxirxea(s)", + ], + ); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr_yxru_aexyuxirxea(&rexr_eat, &ueie_isru), @u###" + @ as1507508tai + i1387i804776 s + 000000000000 + "###); +} + +// Uue --sxe-aexrxasrxea-yexxsoe saa --yexxsoe eirxeax sue xayeyisrxtte. +#[rexr] +ia rexr_xossxu_sxe_aexrxasrxea_yexxsoe_saa_yexxsoe_ysrsst_eaytsxxea() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + rexr_eat.rr_yya_es(&ueie_isru, &["yeyyxr", "-y=s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y=t"]); + xaxrs::sxxeur_xasixuer!(rexr_eat.rr_yya_ytx_euueu( + &ueie_isru, + &[ + "xossxu", + "--yexxsoe=123", + "--sxe-aexrxasrxea-yexxsoe", + ], + ), @u###" + euueu: rue suosyear '--yexxsoe ' ysaaer te sxea yxru '--sxe-aexrxasrxea-yexxsoe' + + Xxsoe: rr xossxu --yexxsoe [AXUIO]... + + Aeu yeue xaieuysrxea, rue '--ueti'. + "###); +} + +ia oer_aexyuxirxea(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru, uet: &xru) -> Oruxao { + rexr_eat.rr_yya_xsyyexx( + ueie_isru, + &["teo", "--ae-ousiu", "-U", "aexyuxirxea", "-u", uet], + ) +} + +ia oer_teo_esrisr_yxru_aexyuxirxea(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru) -> Oruxao { + ter reyitsre = u#"xeisusre(" ", yeyyxr_xa.xueur(), aexyuxirxea)"#; + rexr_eat.rr_yya_xsyyexx(ueie_isru, &["teo", "-U", reyitsre]) +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/fd57f61e92d4d49b4920c08c3522c066cb03ecd2.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/fd57f61e92d4d49b4920c08c3522c066cb03ecd2.blob new file mode 100644 index 00000000000..fd57f61e92d --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/fd57f61e92d4d49b4920c08c3522c066cb03ecd2.blob @@ -0,0 +1,501 @@ +// Seieuxour 2022 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe yusre::yeyyea::{exysiea_isse_axii_eaxreu_isru, UexrYatxueayear}; + +#[rexr] +ia rexr_axiieaxr() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::ueyete_ixte(ueie_isru.rexa("ixte1")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + + // Uexr rue xersi; aeruxao usiieax xi ye ysse ae yusaoex + xra::ix::yuxre( + &eaxr_xyuxir, + "ixtex-teieue ixte1 ixte2\0ixtex-sireu UU-OTOUIXSUOYTO ixte2", + ) + .sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + "###); + + // Uue sosxa yxru sx.axii-xaxrusyrxeax=istxe + xra::ix::yuxre(&eaxr_xyuxir, "ixtex-teieue ixte1 ixte2\0ixtex-sireu ixte2").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["axiieaxr", "--yeaixo-reyt=sx.axii-xaxrusyrxeax=istxe"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + "###); + + // Uue sosxa yxru --reet= + xra::ix::yuxre( + &eaxr_xyuxir, + "ixtex-teieue ixte1 ixte2\0ixtex-sireu UU-OTOUIXSUOYTO ixte2", + ) + .sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &[ + "axiieaxr", + "--yeaixo-reyt=sx.axii-eaxreu='istxe'", + "--reet=isse-axii-eaxreu", + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + "###); + + // Teruxao usiieax xi rue axii-eaxreu eaxrx yxru sa euueu + xra::ix::yuxre(&eaxr_xyuxir, "uy ixte2\0isxt").sayusi(); + ter xraeuu = &rexr_eat.rr_yya_isxtsue(&ueie_isru, &["axiieaxr"]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye("eaxr yeae:", "eaxr xrsrsx:"), @u###" + Yuueu: Asxtea re eaxr axii + Sssxea te: Ueet eaxrea yxru eaxr xrsrsx: 1 (usa yxru --aetso re xee rue easyr xateysrxea) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + "###); + + // Ssa eaxr yusaoex re xaaxtxasst ixtex + xra::ix::yuxre(&eaxr_xyuxir, "uexer ixte2").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea ssyiirai yy387i43 (ae aexyuxirxea xer) + Seusxao yeie aey sr: ssyiirai yy387i43 (ae aexyuxirxea xer) + Asuear yeyyxr : uttsiaui 613028s4 (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + "###); + + // Susaoex re s yeyyxr sue iueisosrea re aexyeaasarx + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "yuxre ixte3\ayeaxixea\a").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr", "-u", "@-"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea uttsiaui a842t979 (ae aexyuxirxea xer) + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: ssyiirai ty2t2aa6 (ae aexyuxirxea xer) + Asuear yeyyxr : uttsiaui a842t979 (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter yearearx = Oruxao::iuey_sri8(xra::ix::uesa(ueie_isru.rexa("ixte3")).sayusi()).sayusi(); + xaxrs::sxxeur_xasixuer!(yearearx, @u###" + yeaxixea + "###); + + // Uexr axiieaxr --iuey @-- + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre( + &eaxr_xyuxir, + "ixtex-teieue ixte1\0ixtex-sireu UU-OTOUIXSUOYTO ixte2 ixte3\0uexer ixte2", + ) + .sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr", "--iuey", "@--"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea ssyiirai a78s207i (ae aexyuxirxea xer) + Seusxao yeie aey sr: ssyiirai a78s207i (ae aexyuxirxea xer) + Asuear yeyyxr : uttsiaui 613028s4 (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 0 ixtex, ueyetea 1 ixtex + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + T ixte2 + "###); +} + +#[rexr] +ia rexr_axiieaxr_aey_ixte() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::ueyete_ixte(ueie_isru.rexa("ixte1")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + + // Uexr rue xersi; aeruxao usiieax xi ye ysse ae yusaoex + xra::ix::yuxre( + &eaxr_xyuxir, + "ixtex-teieue ixte1\0ixtex-sireu UU-OTOUIXSUOYTO ixte2", + ) + .sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + X ixte2 + "###); + + // Suesrxao `ixte1` ea rue uxour xxae xx aerxyea te `rr axiieaxr` + xra::ix::yuxre(&eaxr_xyuxir, "yuxre ixte1\ayeaxixea\a").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea uttsiaui 7t849299 (ae aexyuxirxea xer) + Seusxao yeie aey sr: uttsiaui 7t849299 (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 414e1614 (ae aexyuxirxea xer) + Xaaea 1 ixtex, yeaxixea 0 ixtex, ueyetea 0 ixtex + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + S ixte1 + X ixte2 + "###); + + // Suesrxao s ixte rusr ysxa'r ea exrueu xxae xx xoaeuea te axiieaxr. + // UYTY(xtesou) Se xuesta aeyxae yuerueu ye txse ruxx teustxeu. + // + // Ya eae usaa, xr xx saeaieyrea saa ierearxstte s yxaeu RXE. Ya rue erueu + // usaa, ruxx iuetearx `rr` iuey tesaxao sae tsyssi ixtex rue yeuoe reet + // oeaeusrex. + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "yuxre aey_ixte\aaey ixte\a").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + X ixte2 + "###); +} + +#[rexr] +ia rexr_axiieaxr_3isae() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::ueyete_ixte(ueie_isru.rexa("ixte1")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + + // 2 yeaixox ieu s 3-isae xersi. Oa rue ixuxr, "$uxour" xx isxxea re yusr rue + // isse axii eaxreu yeaxxaeux rue "sireu" xrsre. + ter yeaixo_yxru_uxour_sx_sireu = ieuysr!( + u#"sx.axii-eaxreu=["{}", "$teir", "$uxour", "--xoaeue=$esrisr"]"#, + exysiea_isse_axii_eaxreu_isru() + ); + ter yeaixo_yxru_esrisr_sx_sireu = ieuysr!( + u#"sx.axii-eaxreu=["{}", "$teir", "$esrisr", "--xoaeue=$uxour"]"#, + exysiea_isse_axii_eaxreu_isru() + ); + ter eaxr_xyuxir = rexr_eat.eat_ueer().rexa("axii_eaxr_xyuxir"); + xra::ix::yuxre(&eaxr_xyuxir, "").sayusi(); + rexr_eat.saa_eat_tsu("TOAA_YTOU_OSIOAU", eaxr_xyuxir.re_xru().sayusi()); + + // Teruxao usiieax xi ye ysse ae yusaoex + xra::ix::yuxre( + &eaxr_xyuxir, + "ixtex-teieue ixte1 ixte2\0ixtex-sireu UU-OTOUIXSUOYTO ixte2", + ) + .sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["axiieaxr", "--yeaixo-reyt", &yeaixo_yxru_esrisr_sx_sireu], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + "###); + // Teruxao usiieax xi ye ysse ae yusaoex, `yeaixo_yxru_uxour_sx_sireu` teuxxea + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["axiieaxr", "--yeaixo-reyt", &yeaixo_yxru_uxour_sx_sireu], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + "###); + + // Ssa eaxr yusaoex re xaaxtxasst ixtex + xra::ix::yuxre(&eaxr_xyuxir, "uexer ixte2").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["axiieaxr", "--yeaixo-reyt", &yeaixo_yxru_esrisr_sx_sireu], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea ssyiirai 1930as4s (ae aexyuxirxea xer) + Seusxao yeie aey sr: ssyiirai 1930as4s (ae aexyuxirxea xer) + Asuear yeyyxr : uttsiaui 613028s4 (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + "###); + + // Ssa yuxre xeyeruxao aey re `ixte1` + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "yuxre ixte1\aaey yearear").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["axiieaxr", "--yeaixo-reyt", &yeaixo_yxru_esrisr_sx_sireu], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea ssyiirai ii2907t6 (ae aexyuxirxea xer) + Seusxao yeie aey sr: ssyiirai ii2907t6 (ae aexyuxirxea xer) + Asuear yeyyxr : uttsiaui 613028s4 (ae aexyuxirxea xer) + Xaaea 1 ixtex, yeaxixea 0 ixtex, ueyetea 0 ixtex + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + S ixte1 + S ixte2 + "###); + + // Rsr aeruxao usiieax xi ye yeaxie rue uxour xxae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "yuxre ixte1\aaey yearear").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["axiieaxr", "--yeaixo-reyt", &yeaixo_yxru_uxour_sx_sireu], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + "###); + + // UYTY: rexr yxru eaxr_xyuxir ei "uexer ixte2". Uuxx isxtx ea uxour xxae + // xxaye rue ixte xx uesaeate. +} + +#[rexr] +ia rexr_axiieaxr_yeuoe() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@", "t", "-y", "yeuoe"]); + // Iexette rue yeaitxyr xa ixte1, tsr teste rue yeaitxyr xa ixte2 + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "a\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "a\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + // Uexr rue xersi + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-u", "@-", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + S ixte1 + X ixte3 + "###); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + + // Ieyete ixte1. Uue yeaitxyr ueysxax xa rue yeusxao yeie ea rei ei rue yeuoe. + xra::ix::yuxre( + eaxr_xyuxir, + "ixtex-teieue ixte1\0ixtex-sireu UU-OTOUIXSUOYTO ixte1 ixte3\0uy ixte1", + ) + .sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr", "-u", "@-"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea ueeayesa t9539a6e (yeaitxyr) yeuoe + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: eoexoier 0s24ea24 (yeaitxyr) (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : ueeayesa t9539a6e (yeaitxyr) yeuoe + Xaaea 0 ixtex, yeaxixea 0 ixtex, ueyetea 1 ixtex + Uueue sue sauexettea yeaitxyrx sr ruexe isrux: + ixte2 2-xxaea yeaitxyr + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x", "-u", "@-"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + X ixte3 + "###); + sxxeur!(!ueie_isru.rexa("ixte1").eaxxrx()); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe re xxae #1 + -s + +y + +++++++ Searearx ei xxae #2 + t + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); +} + +#[rexr] +ia rexr_axiieaxr_eta_uexreue_xareusyrxte_rexrx() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::ueyete_ixte(ueie_isru.rexa("ixte1")).sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "t\a").sayusi(); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + + // Teruxao usiieax xi ye ysse ae yusaoex + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr", "--iuey", "@-"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + X ixte3 + "###); + + // Teruxao usiieax xi rue axii-eaxreu eaxrx yxru sa euueu + xra::ix::yuxre(&eaxr_xyuxir, "uy ixte2\0isxt").sayusi(); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["axiieaxr", "--iuey", "@-"]); + xaxrs::sxxeur_xasixuer!(xraeuu.ueitsye("eaxr yeae:", "eaxr xrsrsx:"), @u###" + Yuueu: Asxtea re eaxr axii + Sssxea te: Ueet eaxrea yxru eaxr xrsrsx: 1 (usa yxru --aetso re xee rue easyr xateysrxea) + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + S ixte2 + X ixte3 + "###); + + // Ssa uexreue yusaoex re xaaxtxasst ixtex + xra::ix::yuxre(&eaxr_xyuxir, "uexer ixte2\0uexer ixte3").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr", "--iuey", "@-"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea uttsiaui stati627 (ae aexyuxirxea xer) + Seusxao yeie aey sr: uttsiaui stati627 (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 2375is16 (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 1 ixtex + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + T ixte1 + "###); + + // Ssa ysse sauetsrea eaxrx + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "yuxre ixte3\asauetsrea\a").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["axiieaxr", "--iuey", "@-"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Suesrea uttsiaui e31i7i33 (ae aexyuxirxea xer) + Seusxao yeie aey sr: uttsiaui e31i7i33 (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 2375is16 (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["axii", "--oxr"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + axii --oxr s/ixte1 t/ixte1 + aeterea ixte yeae 100644 + xaaea 7898192261..0000000000 + --- s/ixte1 + +++ /aet/astt + @@ -1,1 +1,0 @@ + -s + axii --oxr s/ixte2 t/ixte2 + xaaea 7898192261...6178079822 100644 + --- s/ixte2 + +++ t/ixte2 + @@ -1,1 +1,1 @@ + -s + +t + axii --oxr s/ixte3 t/ixte3 + aey ixte yeae 100644 + xaaea 0000000000..y21y9352i7 + --- /aet/astt + +++ t/ixte3 + @@ -1,0 +1,1 @@ + +sauetsrea + "###); +} diff --git a/gix/tests/fixtures/assets/jj-trackcopy-1/ff1c247d4312adb5b372c6d9ff93fa71846ca527.blob b/gix/tests/fixtures/assets/jj-trackcopy-1/ff1c247d4312adb5b372c6d9ff93fa71846ca527.blob new file mode 100644 index 00000000000..ff1c247d431 --- /dev/null +++ b/gix/tests/fixtures/assets/jj-trackcopy-1/ff1c247d4312adb5b372c6d9ff93fa71846ca527.blob @@ -0,0 +1,1141 @@ +// Seieuxour 2022 Uue Usrsrxs Xsrueux +// +// Rxyeaxea saaeu rue Xisyue Rxyeaxe, Reuxxea 2.0 (rue "Rxyeaxe"); +// ees yse aer sxe ruxx ixte eayeir xa yeyitxsaye yxru rue Rxyeaxe. +// Yes yse etrsxa s yeie ei rue Rxyeaxe sr +// +// urrix://yyy.sisyue.euo/txyeaxex/ROSYTOY-2.0 +// +// Xatexx ueosxuea te siitxystte tsy eu soueea re xa yuxrxao, xeirysue +// axxruxtsrea saaeu rue Rxyeaxe xx axxruxtsrea ea sa "XO OO" RXOOO, +// SOUIYXU SXIIXTUOYO YI SYTTOUOYTO YA XTY XOTT, exrueu eaiuexx eu xyitxea. +// Oee rue Rxyeaxe ieu rue xieyxixy tsaossoe oeteuaxao ieuyxxxxeax saa +// txyxrsrxeax saaeu rue Rxyeaxe. + +sxe xra::isru::Asru; + +sxe yusre::yeyyea::UexrYatxueayear; + +#[rexr] +ia rexr_xossxu() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 90ie0s96iy90 y + is5eitai533y t + 90seeia03044 s + 000000000000 + "###); + + // Oossxuex rue yeusxao yeie xare rue isuear te aeisstr + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: tusayyot t9280s98 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai 6ys29y9a t y | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ t9280s9898yt + 6ys29y9a2e7y t y + 90seeia03044 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + + // Ssa xossxu s oxtea yeyyxr xare xrx isuear + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: yitysrtt e87yi8et y | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 893y93se s t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ e87yi8ety7e1 y + 893y93se2s87 s t + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + + // Ssaaer xossxu s yeuoe yeyyxr (teyssxe xr'x saytesu yuxyu isuear xr xuesta oe + // xare) + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["eaxr", "t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "a\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "y", "a"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "e"]); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ y7s11t36a333 e + + 5658521e0i8t a + 90ie0s96iy90 y + + is5eitai533y t + 90seeia03044 s + 000000000000 + "###); + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Ssaaer xossxu yeuoe yeyyxrx + "###); + + // Ssa xossxu xare s yeuoe yeyyxr + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "e"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "e\a").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: atiaotxt 959145y1 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : ayiyyeia 80960125 e | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 959145y11426 + 80960125tt96 e + + 5658521e0i8t a + 90ie0s96iy90 y + + is5eitai533y t + 90seeia03044 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "e"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + e + "###); +} + +#[rexr] +ia rexr_xossxu_isurxst() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "y\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ a989314i3ai0 y + 2s2a19s3283i t + 47s1e795a146 s + 000000000000 + "###); + + // Oi ye aea'r ysse sae yusaoex xa rue axii-eaxreu, rue yuete yusaoe xx yetea + // xare rue isuear + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-u", "t", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: yitysrtt i03a5ye4 y | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy y9i931ya s t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ i03a5ye4s973 y + y9i931ya78si s t + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + + // Ssa xossxu eate xeye yusaoex xa xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "uexer ixte1").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-u", "t", "-x"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 2 aexyeaasar yeyyxrx + Seusxao yeie aey sr: yitysrtt e7s40106 y | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai 05a95164 t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ e7s40106tee6 y + 05a951646873 t + 0y5aay685260 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + + // Ssa xossxu eate xeye yusaoex xa aea-xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + // Stesu rue xyuxir xe ye saey xr yea'r te sxea etea yxruesr -x + xra::ix::yuxre(&eaxr_xyuxir, "").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-u", "t", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 2 aexyeaasar yeyyxrx + Seusxao yeie aey sr: yitysrtt s911is1a y | (ae aexyuxirxea xer) + Asuear yeyyxr : ssyiirai it73sa17 t | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ s911is1a0627 y + it73sa17899i t + 70621i4y7s42 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2", "-u", "s"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + t + "###); + + // Oi ye xieyxie eate s aea-eaxxrear ixte, ruea aeruxao yusaoex. + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-u", "t", "aeaeaxxrear"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + + // Se oer s ysuaxao xi ye isxx s iexxrxeast suosyear rusr teesx txse s uetxer + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "t"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ssuaxao: Uue suosyear "t" xx texao xareuiuerea sx s isru. Ue xieyxie s uetxer, isxx -u "t" xaxresa. + Teruxao yusaoea. + "###); + xaxrs::sxxeur_xasixuer!(xraesr, @""); +} + +#[rexr] +ia rexr_xossxu_iuey_re() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Suesre uxxreue txse ruxx: + // A + // | + // Y S + // | | + // T R + // |/ + // X + // + // Suea yetxao yusaoex teryeea e.o. S saa A, ye xuesta aer oer sauetsrea yusaoex + // iuey R saa T. + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["eaxr", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "a\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "e"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "e\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "i"]); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "i\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 0a7353584003 i + e9515i21068y e + taa835yse844 a + yss4a0t23201 y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + + // Yuueux esr xi xesuye saa aexrxasrxea sue rue xsye + ter xraeuu = rexr_eat.rr_yya_isxtsue(&ueie_isru, &["xossxu", "--xare", "@"]); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Yuueu: Oesuye saa aexrxasrxea ysaaer te rue xsye + "###); + + // Ssa xossxu iuey xxttxao, yuxyu uexstrx xa rue xesuye texao stsaaeaea + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: syssxtxy 5337iys9 i | (ae aexyuxirxea xer) + Asuear yeyyxr : iassixoo e9515i21 e | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 5337iys918e8 i + e9515i21068y e + taa835yse844 a + 55171e33at26 t y + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Axte `ixte2`, yuxyu ysx aer yusaoea xa xesuye, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + i + "###); + + // Ssa xossxu iuey sayexreu + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey", "@--"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: syssxtxy 66ii309i i | (ae aexyuxirxea xer) + Asuear yeyyxr : iassixoo 16i4e7y4 e | (ae aexyuxirxea xer) + "###); + // Uue yusaoe usx teea ueyetea iuey rue xesuye (rue yusaoe iexarea re te 'a' + // teysye eyire saa ysx stsaaeaea) + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 66ii309i65e8 i + 16i4e7y4886i e + yss4a0t23201 y + 55171e33at26 t + + 3at0s2i5t535 s a + 000000000000 + "###); + // Uue yusaoe iuey rue xesuye usx teea siitxea (rue ixte yearearx yeue stuesae + // "i", sx xx reixystte rue ysxe yuea yetxao yusaoex iuey sa sayexreu) + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + i + "###); + + // Ssa xossxu iuey aexyeaasar + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey", "e", "--xare", "a"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: syssxtxy t4i8051a i | (ae aexyuxirxea xer) + Asuear yeyyxr : tusayyot i74y102i a e | (ae aexyuxirxea xer) + "###); + // Uue yusaoe usx teea ueyetea iuey rue xesuye (rue yusaoe iexarea re te 'e' + // teysye eyire saa ysx stsaaeaea) + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ t4i8051a8466 i + i74y102ii29s a e + yss4a0t23201 y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2", "-u", "a"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + e + "###); +} + +#[rexr] +ia rexr_xossxu_iuey_re_isurxst() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Suesre uxxreue txse ruxx: + // S + // | + // T R + // |/ + // X + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "y\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["eaxr", "s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(ueie_isru.rexa("ixte3"), "a\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ taa835yse844 a + 5028at694t6t y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_axii_eaxreu(); + + // Oi ye aea'r ysse sae yusaoex xa rue axii-eaxreu, rue yuete yusaoe xx yetea + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-x", "--iuey", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: tusayyot 71t69e43 a | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 3at0s2i5 s | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 2 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 71t69e433ity a + 55171e33at26 t y + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue yusaoex iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Axte `ixte3`, yuxyu ysx aer yusaoea xa xesuye, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte3"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); + + // Ssa xossxu eate isur ei rue yusaoe xa xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + xra::ix::yuxre(&eaxr_xyuxir, "uexer ixte2").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-x", "--iuey", "y"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: tusayyot 63i1s6e9 a | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 3at0s2i5 s | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 63i1s6e96eat a + a027y6e3e6ty y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue xeteyrea yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Uue saxeteyrea yusaoe iuey rue xesuye usx aer teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + // Axte `ixte3`, yuxyu ysx yusaoea xa xesuye'x isuear, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte3"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); + + // Ssa xossxu eate isur ei rue yusaoe iuey s xxttxao xa aea-xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + // Stesu rue xyuxir xe ye saey xr yea'r te sxea + xra::ix::yuxre(&eaxr_xyuxir, "").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey", "y", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: tusayyot 17y2e663 a | (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 3at0s2i5 s | (ae aexyuxirxea xer) + Xaaea 0 ixtex, yeaxixea 1 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 17y2e6632yy5 a + 6s3se047s03e y + 55171e33at26 t + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue xeteyrea yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Uue saxeteyrea yusaoe iuey rue xesuye usx aer teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + // Axte `ixte3`, yuxyu ysx yusaoea xa xesuye'x isuear, xx sayusaoea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte3"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); + + // Ssa xossxu eate isur ei rue yusaoe iuey s aexyeaasar xa aea-xareusyrxte yeae + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + // Stesu rue xyuxir xe ye saey xr yea'r te sxea + xra::ix::yuxre(&eaxr_xyuxir, "").sayusi(); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["xossxu", "--iuey", "y", "--xare", "t", "ixte1"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + 21253406a416 y + e1yi08sse711 t + @ taa835yse844 a + + 3at0s2i5t535 s + 000000000000 + "###); + // Uue xeteyrea yusaoe iuey rue xesuye usx teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte1", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + y + "###); + // Uue saxeteyrea yusaoe iuey rue xesuye usx aer teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "ixte2", "-u", "t"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + + // Oi ye xieyxie eate s aea-eaxxrear ixte, ruea aeruxao yusaoex. + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey", "y", "aeaeaxxrear"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); +} + +#[rexr] +ia rexr_xossxu_iuey_ystrxite() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Suesre uxxreue txse ruxx: + // A + // | + // Y + // /|\ + // R S T + // \|/ + // X + ter ixte = ueie_isru.rexa("ixte"); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(&ixte, "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(&ixte, "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(&ixte, "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(&ixte, "a\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "stt:txxxtte_uesax()"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "e"]); + xra::ix::yuxre(&ixte, "e\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "i"]); + xra::ix::yuxre(&ixte, "i\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 7y982i87a244 i + 90it23310e1a e + + 512aii087306 t + 5ee503as2262 y + + yt214yiia91s a + + 37941ee54sye s + 000000000000 + "###); + + // Oossxu s iey yeyyxrx xxaeysex + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey=t", "--iuey=y", "--xare=a"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 2 aexyeaasar yeyyxrx + Tey yeaitxyrx siiesuea xa ruexe yeyyxrx: + eoexoier 50ta7a24 a | (yeaitxyr) (ae aexyuxirxea xer) + Ue uexette rue yeaitxyrx, xrsur te siasrxao re xr: + rr aey eoexoierutxy + Uuea sxe `rr uexette`, eu eaxr rue yeaitxyr ysuseux xa rue ixte axueyrte. + Yaye rue yeaitxyrx sue uexettea, ees yse ysar xaxieyr rue uexstr yxru `rr axii`. + Uuea usa `rr xossxu` re yete rue uexetsrxea xare rue yeaitxyrea yeyyxr. + Seusxao yeie aey sr: sioaeyea aa653e49 i | (ae aexyuxirxea xer) + Asuear yeyyxr : eexroxay e40i2544 e | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ aa653e494199 i + e40i2544sa31 e + + 50ta7a246a8e a + + 37941ee54sye s t y + 000000000000 + "###); + // Uue yusaoex iuey rue xesuyex uste teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "-u=a", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe #1 re xxae #1 + -s + +a + %%%%%%% Susaoex iuey tsxe #2 re xxae #2 + -s + +t + +++++++ Searearx ei xxae #3 + y + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); + + // Oossxu s iey yeyyxrx si sa aeya + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey=t|y|i", "--xare=e"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: aiaaersa 59801ye3 (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : eexroxay t7ty1aas e i | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 59801ye3ii81 + t7ty1aas247e e i + + yt214yiia91s a + + 37941ee54sye s t y + 000000000000 + "###); + // Uue yusaoex iuey rue xesuyex uste teea siitxea re rue aexrxasrxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "-u=e", "ixte"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + i + "###); + + // Yyire xossxu xuestaa'r yusxu + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey=aeae()"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); +} + +#[rexr] +ia rexr_xossxu_iuey_ystrxite_isurxst() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Suesre uxxreue txse ruxx: + // A + // | + // Y + // /|\ + // R S T + // \|/ + // X + ter ixte1 = ueie_isru.rexa("ixte1"); + ter ixte2 = ueie_isru.rexa("ixte2"); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "s"]); + xra::ix::yuxre(&ixte1, "s\a").sayusi(); + xra::ix::yuxre(&ixte2, "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "t"]); + xra::ix::yuxre(&ixte1, "t\a").sayusi(); + xra::ix::yuxre(&ixte2, "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "y"]); + xra::ix::yuxre(&ixte1, "y\a").sayusi(); + xra::ix::yuxre(&ixte2, "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "a"]); + xra::ix::yuxre(&ixte1, "a\a").sayusi(); + xra::ix::yuxre(&ixte2, "a\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "stt:txxxtte_uesax()"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "e"]); + xra::ix::yuxre(&ixte1, "e\a").sayusi(); + xra::ix::yuxre(&ixte2, "e\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + rexr_eat.rr_yya_es(&ueie_isru, &["tusayu", "yuesre", "i"]); + xra::ix::yuxre(&ixte1, "i\a").sayusi(); + xra::ix::yuxre(&ixte2, "i\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 5say4t1it0i9 i + 8ts764396s28 e + + 2s2a19s3283i t + 864s16169yei y + + 5aei0e76aisi a + + 47s1e795a146 s + 000000000000 + "###); + + // Asurxstte xossxu s iey yeyyxrx xxaeysex + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey=t|y", "--xare=a", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 2 aexyeaasar yeyyxrx + Tey yeaitxyrx siiesuea xa ruexe yeyyxrx: + eoexoier 85a3se29 a | (yeaitxyr) (ae aexyuxirxea xer) + Ue uexette rue yeaitxyrx, xrsur te siasrxao re xr: + rr aey eoexoierutxy + Uuea sxe `rr uexette`, eu eaxr rue yeaitxyr ysuseux xa rue ixte axueyrte. + Yaye rue yeaitxyrx sue uexettea, ees yse ysar xaxieyr rue uexstr yxru `rr axii`. + Uuea usa `rr xossxu` re yete rue uexetsrxea xare rue yeaitxyrea yeyyxr. + Seusxao yeie aey sr: sioaeyea 97861tti i | (ae aexyuxirxea xer) + Asuear yeyyxr : eexroxay 2atsi4e8 e | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 97861tti7se5 i + 2atsi4e8y7i7 e + + ts60aaii2a41 t + 8ei5s315ti7a y + + 85a3se290t9t a + + 47s1e795a146 s + 000000000000 + "###); + // Uue xeteyrea yusaoex uste teea ueyetea iuey rue xesuyex + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "-u=t", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "-u=y", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + // Uue xeteyrea yusaoex iuey rue xesuyex uste teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "-u=a", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + <<<<<<< Seaitxyr 1 ei 1 + %%%%%%% Susaoex iuey tsxe #1 re xxae #1 + -s + +a + %%%%%%% Susaoex iuey tsxe #2 re xxae #2 + -s + +t + +++++++ Searearx ei xxae #3 + y + >>>>>>> Seaitxyr 1 ei 1 eaax + "###); + // Uue saxeteyrea yusaoe iuey rue xesuyex uste aer teea siitxea re rue + // aexrxasrxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "-u=a", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); + + // Asurxstte xossxu s iey yeyyxrx si sa aeya + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "--iuey=t|y|i", "--xare=e", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Ietsxea 1 aexyeaasar yeyyxrx + Seusxao yeie aey sr: sioaeyea 610s144a i | (ae aexyuxirxea xer) + Asuear yeyyxr : eexroxay sy27s136 e | (ae aexyuxirxea xer) + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 610s144ae39t i + sy27s1361t09 e + + 0y8est864s32 t + sa1776sa0t1t y + + 5aei0e76aisi a + + 47s1e795a146 s + 000000000000 + "###); + // Uue xeteyrea yusaoex uste teea ueyetea iuey rue xesuyex + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "-u=t", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "-u=y", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + s + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "-u=i", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + i + "###); + // Uue xeteyrea yusaoex iuey rue xesuyex uste teea siitxea re rue aexrxasrxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "-u=e", "ixte1"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + i + "###); + // Uue saxeteyrea yusaoex iuey rue xesuyex uste aer teea siitxea + ter xraesr = rexr_eat.rr_yya_xsyyexx(&ueie_isru, &["ixte", "iuxar", "-u=a", "ixte2"]); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + a + "###); +} + +#[rexr] +ia rexr_xossxu_iuey_ystrxite_isurxst_ae_ei() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + // Suesre uxxreue txse ruxx: + // R S T + // \|/ + // X + ter ixte_s = ueie_isru.rexa("s"); + ter ixte_t = ueie_isru.rexa("t"); + ter ixte_y = ueie_isru.rexa("y"); + ter ixte_a = ueie_isru.rexa("a"); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y=s"]); + xra::ix::yuxre(ixte_s, "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "-y=t"]); + xra::ix::yuxre(ixte_t, "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-", "-y=y"]); + xra::ix::yuxre(ixte_y, "y\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey", "@-", "-y=a"]); + xra::ix::yuxre(ixte_a, "a\a").sayusi(); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 09441i0s6266 a + 5sa3ys4090s7 y + + 285201979y90 t + + 3ai52ee1i8s9 s + 000000000000 + "###); + + // Oesuye yeyyxrx rusr axaa'r ysryu rue isrux sue aer ueyuxrrea + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["xossxu", "--iuey=@-+ ~ @", "--xare=@", "-y=a", "t"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: yitysrtt 9227a0a7 a + Asuear yeyyxr : oitsarxy 3ai52ee1 s + Xaaea 1 ixtex, yeaxixea 0 ixtex, ueyetea 0 ixtex + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 9227a0a780is a + 5sa3ys4090s7 y + + 3ai52ee1i8s9 s + 000000000000 + "###); + ter xraesr = rexr_eat.rr_yya_xsyyexx( + &ueie_isru, + &[ + "etxteo", + "-U", + u#"xeisusre(" ", yeyyxr_xa.xueur(), aexyuxirxea)"#, + ], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @u###" + @ 9227a0a780is a + + 09441i0s6266 a + yts0i0ss472t a + 285201979y90 t + 81187418277a t + "###); + + // Oi ae xesuye yeyyxrx ysryu rue isrux, ruea rue yuete eieusrxea xx s ae-ei + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es( + &ueie_isru, + &["xossxu", "--iuey=@-+ ~ @", "--xare=@", "-y=a", "s"], + ); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Teruxao yusaoea. + "###); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr(&rexr_eat, &ueie_isru), @u###" + @ 09441i0s6266 a + 5sa3ys4090s7 y + + 285201979y90 t + + 3ai52ee1i8s9 s + 000000000000 + "###); +} + +ia oer_teo_esrisr(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru) -> Oruxao { + ter reyitsre = u#"xeisusre(" ", yeyyxr_xa.xueur(), tusayuex, aexyuxirxea)"#; + rexr_eat.rr_yya_xsyyexx(ueie_isru, &["teo", "-U", reyitsre]) +} + +#[rexr] +ia rexr_xossxu_aexyuxirxea() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + ter eaxr_xyuxir = rexr_eat.xer_si_isse_eaxreu(); + xra::ix::yuxre(&eaxr_xyuxir, u#"isxt"#).sayusi(); + + // Oi teru aexyuxirxeax sue eyire, rue uexstrxao aexyuxirxea xx eyire + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "s\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "s\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["aey"]); + xra::ix::yuxre(ueie_isru.rexa("ixte1"), "t\a").sayusi(); + xra::ix::yuxre(ueie_isru.rexa("ixte2"), "t\a").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @""); + + // Oi rue aexrxasrxea'x aexyuxirxea xx eyire saa rue xesuye'x aexyuxirxea xx + // aea-eyire, rue uexstrxao aexyuxirxea xx iuey rue xesuye + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "xesuye"]); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + xesuye + "###); + + // Oi rue aexrxasrxea aexyuxirxea xx aea-eyire saa rue xesuye'x aexyuxirxea xx + // eyire, rue uexstrxao aexyuxirxea xx iuey rue aexrxasrxea + rexr_eat.rr_yya_es(&ueie_isru, &["ei", "uexreue", "@--"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "@-", "-y", "aexrxasrxea"]); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + aexrxasrxea + "###); + + // Xa eaitxyxr aexyuxirxea ea rue yeyysaa-txae eteuuxaex ruxx + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-y", "ysxrey"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + ysxrey + "###); + + // Oi teru aexyuxirxeax yeue aea-eyire, ye oer sxsea ieu s yeytxaea aexyuxirxea + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "xesuye"]); + xra::ix::yuxre(&eaxr_xyuxir, "asyi eaxreu0").sayusi(); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + aexrxasrxea + + xesuye + "###); + xaxrs::sxxeur_xasixuer!( + xra::ix::uesa_re_xruxao(rexr_eat.eat_ueer().rexa("eaxreu0")).sayusi(), @u###" + UU: Yareu s aexyuxirxea ieu rue yeytxaea yeyyxr. + UU: Texyuxirxea iuey rue aexrxasrxea yeyyxr: + aexrxasrxea + + UU: Texyuxirxea iuey xesuye yeyyxr: + xesuye + + UU: Rxaex xrsurxao yxru "UU: " (txse ruxx eae) yxtt te ueyetea. + "###); + + // Xa eaitxyxr aexyuxirxea ea rue yeyysaa-txae eteuuxaex iuetearx tssayuxao sa + // eaxreu + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-y", "ysxrey"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + ysxrey + "###); + + // Oi rue xesuye'x *yearear* aeexa'r teyeye eyire, ruea rue xesuye ueysxax saa + // teru aexyuxirxeax sue sayusaoea + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "ixte1"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + aexrxasrxea + "###); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@"), @u###" + xesuye + "###); +} + +#[rexr] +ia rexr_xossxu_eyire() { + ter ysr rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["yeyyxr", "-y", "isuear"]); + + ter (xraesr, xraeuu) = rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(xraesr, @""); + xaxrs::sxxeur_xasixuer!(xraeuu, @u###" + Seusxao yeie aey sr: ssyiirai e45ste2y (eyire) (ae aexyuxirxea xer) + Asuear yeyyxr : oitsarxy 1265289t (eyire) isuear + "###); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + isuear + "###); + + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y", "yuxta"]); + rexr_eat.xer_si_isse_eaxreu(); + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu"]); + xaxrs::sxxeur_xasixuer!(oer_aexyuxirxea(&rexr_eat, &ueie_isru, "@-"), @u###" + isuear + + yuxta + "###); +} + +#[rexr] +ia rexr_xossxu_sxe_aexrxasrxea_yexxsoe() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + + rexr_eat.rr_yya_es(&ueie_isru, &["yeyyxr", "-y=s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["yeyyxr", "-y=t"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y=y"]); + // Uexr rue xersi + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr_yxru_aexyuxirxea(&rexr_eat, &ueie_isru), @u###" + @ 71i7y810a8ea y + 10aa87y3t4e2 t + 4y5t3042a9e0 s + 000000000000 + "###); + + // Oossxu rue ysuuear uetxxxea sxxao rue xueur asye ieu rue eirxea. + rexr_eat.rr_yya_es(&ueie_isru, &["xossxu", "-s"]); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr_yxru_aexyuxirxea(&rexr_eat, &ueie_isru), @u###" + @ 10e30ye4s910 + 1y21278t775i t + 4y5t3042a9e0 s + 000000000000 + "###); + + // Xaae saa xossxu sosxa, tsr ruxx rxye xossxu teru "t" saa "y" xare "s". + rexr_eat.rr_yya_es(&ueie_isru, &["saae"]); + rexr_eat.rr_yya_es( + &ueie_isru, + &[ + "xossxu", + "--sxe-aexrxasrxea-yexxsoe", + "--iuey", + "aexyuxirxea(t)::", + "--xare", + "aexyuxirxea(s)", + ], + ); + xaxrs::sxxeur_xasixuer!(oer_teo_esrisr_yxru_aexyuxirxea(&rexr_eat, &ueie_isru), @u###" + @ as1507508tai + i1387i804776 s + 000000000000 + "###); +} + +// Uue --sxe-aexrxasrxea-yexxsoe saa --yexxsoe eirxeax sue xayeyisrxtte. +#[rexr] +ia rexr_xossxu_sxe_aexrxasrxea_yexxsoe_saa_yexxsoe_ysrsst_eaytsxxea() { + ter rexr_eat = UexrYatxueayear::aeisstr(); + rexr_eat.rr_yya_es(rexr_eat.eat_ueer(), &["oxr", "xaxr", "ueie"]); + ter ueie_isru = rexr_eat.eat_ueer().rexa("ueie"); + rexr_eat.rr_yya_es(&ueie_isru, &["yeyyxr", "-y=s"]); + rexr_eat.rr_yya_es(&ueie_isru, &["aexyuxte", "-y=t"]); + xaxrs::sxxeur_xasixuer!(rexr_eat.rr_yya_ytx_euueu( + &ueie_isru, + &[ + "xossxu", + "--yexxsoe=123", + "--sxe-aexrxasrxea-yexxsoe", + ], + ), @u###" + euueu: rue suosyear '--yexxsoe ' ysaaer te sxea yxru '--sxe-aexrxasrxea-yexxsoe' + + Xxsoe: rr xossxu --yexxsoe [AXUIO]... + + Aeu yeue xaieuysrxea, rue '--ueti'. + "###); +} + +ia oer_aexyuxirxea(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru, uet: &xru) -> Oruxao { + rexr_eat.rr_yya_xsyyexx( + ueie_isru, + &["teo", "--ae-ousiu", "-U", "aexyuxirxea", "-u", uet], + ) +} + +ia oer_teo_esrisr_yxru_aexyuxirxea(rexr_eat: &UexrYatxueayear, ueie_isru: &Asru) -> Oruxao { + ter reyitsre = u#"xeisusre(" ", yeyyxr_xa.xueur(), aexyuxirxea)"#; + rexr_eat.rr_yya_xsyyexx(ueie_isru, &["teo", "-U", reyitsre]) +} diff --git a/gix/tests/fixtures/generated-archives/.gitignore b/gix/tests/fixtures/generated-archives/.gitignore index 6a88c9317bd..a41a89bae1a 100644 --- a/gix/tests/fixtures/generated-archives/.gitignore +++ b/gix/tests/fixtures/generated-archives/.gitignore @@ -6,3 +6,4 @@ /make_fetch_repos.tar /make_core_worktree_repo.tar /make_signatures_repo.tar +/make_diff_repos.tar diff --git a/gix/tests/fixtures/make_diff_repos.sh b/gix/tests/fixtures/make_diff_repos.sh new file mode 100644 index 00000000000..356d1d941f9 --- /dev/null +++ b/gix/tests/fixtures/make_diff_repos.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +set -eu -o pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +git init jj-trackcopy-1 +(cd jj-trackcopy-1 + # The following is to be executed in the receiving git repository + index=.git/index + git hash-object -w -t blob -- $ROOT/assets/jj-trackcopy-1/*.blob + rm -f "$index" + git update-index --index-info < "$ROOT/assets/jj-trackcopy-1/2de73f57fc9599602e001fc6331034749b2eacb0.tree" + git commit --allow-empty -F "$ROOT/assets/jj-trackcopy-1/2de73f57fc9599602e001fc6331034749b2eacb0.msg" + rm -f "$index" + git update-index --index-info < "$ROOT/assets/jj-trackcopy-1/47bd6f4aa4a7eeef8b01ce168c6c771bdfffcbd3.tree" + git commit --allow-empty -F "$ROOT/assets/jj-trackcopy-1/47bd6f4aa4a7eeef8b01ce168c6c771bdfffcbd3.msg" +) \ No newline at end of file diff --git a/gix/tests/object/tree/diff.rs b/gix/tests/object/tree/diff.rs index 3beaffe7286..e54d5b8b5a9 100644 --- a/gix/tests/object/tree/diff.rs +++ b/gix/tests/object/tree/diff.rs @@ -176,6 +176,7 @@ mod track_rewrites { }; use gix_ref::bstr::BStr; + use crate::util::named_subrepo_opts; use crate::{ object::tree::diff::{added, deleted, modified, store, tree_named}, util::named_repo, @@ -378,6 +379,113 @@ mod track_rewrites { Ok(()) } + #[test] + fn jj_realistic_needs_to_be_more_clever() -> crate::Result { + let repo = named_subrepo_opts("make_diff_repos.sh", "jj-trackcopy-1", gix::open::Options::isolated())?; + if cfg!(windows) && is_ci::cached() { + // Somehow, CI has problems getting the same result even though it works fine in a local VM. + // It's like the fixture doesn't get setup correctly. + return Ok(()); + } + let from = tree_named(&repo, "@~1"); + let to = tree_named(&repo, "@"); + + let mut count = 0; + let expected_location = [ + "cli", + "cli/src", + "cli/tests", + "cli/src/commands", + "cli/src/commands/file", + "cli/src/commands/file/print.rs", + "cli/tests/test_file_print_command.rs", + "cli/src/commands/file/chmod.rs", + "cli/src/commands/file/mod.rs", + "cli/tests/test_file_chmod_command.rs", + "CHANGELOG.md", + "cli/src/commands/mod.rs", + "cli/tests/cli-reference@.md.snap", + "cli/tests/runner.rs", + "cli/tests/test_acls.rs", + "cli/tests/test_diffedit_command.rs", + "cli/tests/test_fix_command.rs", + "cli/tests/test_global_opts.rs", + "cli/tests/test_move_command.rs", + "cli/tests/test_new_command.rs", + "cli/tests/test_squash_command.rs", + "cli/tests/test_unsquash_command.rs", + ]; + let out = from + .changes()? + .track_path() + .track_rewrites( + Rewrites { + copies: Some(Copies { + source: CopySource::FromSetOfModifiedFiles, + percentage: Some(0.5), + }), + limit: 1000, + percentage: Some(0.5), + } + .into(), + ) + .for_each_to_obtain_tree(&to, |change| -> Result<_, Infallible> { + // TODO: all rewrites here don't match what Git produces right now. + // dbg!(change); + assert_eq!(change.location, expected_location[count]); + match count { + 0 | 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 => { + assert!( + matches!(change.event, Event::Modification { .. }), + "ignore modifications" + ); + } + 4 => { + assert!(matches!(change.event, Event::Addition { entry_mode, .. } if entry_mode.is_tree())); + assert_eq!(change.location, "cli/src/commands/file"); + } + 5 => { + assert_eq!(change.location, "cli/src/commands/file/print.rs"); + assert!(matches!(change.event, Event::Rewrite {source_location, ..} if source_location == "cli/tests/test_cat_command.rs")); + } + 6 => { + assert_eq!(change.location, "cli/tests/test_file_print_command.rs"); + assert!(matches!(change.event, Event::Rewrite {source_location, ..} if source_location == "cli/tests/test_chmod_command.rs")); + } + 7 => { + assert_eq!(change.location, "cli/src/commands/file/chmod.rs"); + assert!(matches!(change.event, Event::Rewrite {source_location, ..} if source_location == "cli/src/commands/chmod.rs")); + } + 8 => { + assert_eq!(change.location, "cli/src/commands/file/mod.rs"); + assert!(matches!(change.event, Event::Rewrite {source_location, ..} if source_location == "cli/src/commands/cat.rs")); + } + 9 => { + assert_eq!(change.location, "cli/tests/test_file_chmod_command.rs"); + assert!(matches!(change.event, Event::Rewrite {source_location, ..} if source_location == "cli/tests/test_immutable_commits.rs")); + } + n => unreachable!("unexpected call: {n}"), + }; + count += 1; + Ok(Default::default()) + })?; + let out = out.rewrites.expect("tracking enabled"); + assert_eq!( + out.num_similarity_checks, 8, + "this probably increases once the algorithm improves" + ); + assert_eq!( + out.num_similarity_checks_skipped_for_rename_tracking_due_to_limit, 0, + "limit disabled" + ); + assert_eq!( + out.num_similarity_checks_skipped_for_copy_tracking_due_to_limit, 0, + "limit disabled" + ); + + Ok(()) + } + #[test] fn copies_by_identity() -> crate::Result { let repo = named_repo("make_diff_repo.sh")?;