X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Ftests%2Fgdr-subcommands;h=672ddc988511599250ad15768287bd5b55d2dba3;hb=7eae06198ec91f27d40fb92267ff3dfde4d42495;hp=0b07372734f37bab5b3a4eeccbf2bfffafeb1fee;hpb=89108c5f44ad57febbb24a28d605a5c6322d14c2;p=dgit.git diff --git a/tests/tests/gdr-subcommands b/tests/tests/gdr-subcommands index 0b073727..672ddc98 100755 --- a/tests/tests/gdr-subcommands +++ b/tests/tests/gdr-subcommands @@ -25,6 +25,11 @@ mix-it () { t-git-next-date } +git checkout -b raw-converted-from-gbp converted-from-gbp +test "$(git diff --stat HEAD^2)" +git diff --exit-code --stat HEAD^1 +git reset --hard HEAD^1 + git checkout -b stitched-laundered master mix-it t-git-debrebase quick @@ -35,10 +40,12 @@ mix-it git checkout -b unstitched-laundered master mix-it +git branch before-unstitch/unstitched-laundered t-git-debrebase t-gdr-good laundered git checkout -b unstitched-mixed master +git branch before-unstitch/unstitched-mixed t-git-debrebase mix-it @@ -49,7 +56,8 @@ git show-ref subcmd () { local subcmd=$1 shift - for startbranch in {stitched,unstitched}-{laundered,mixed}; do + for startbranch in {stitched,unstitched}-{laundered,mixed} \ + raw-converted-from-gbp; do work="work-$subcmd-$startbranch" : "---------- $subcmd $startbranch ----------" @@ -125,7 +133,7 @@ make_check () { case "$1" in [Nn]*) t-refs-same-start - t-refs-same refs/heads/$before refs/heads/$work + t-refs-same refs/heads/$before refs/heads/$peel ;; U*) t-refs-same-start @@ -160,6 +168,7 @@ make_check () { P*) t-dgit -wgf --quilt=nofix quilt-fixup git diff HEAD~ debian/patches | egrep . + t-gdr-made-patches git diff --quiet HEAD~ -- ':.' ':!debian/patches' git reset --hard HEAD~ ;; @@ -167,12 +176,23 @@ make_check () { git diff --quiet HEAD refs/heads/$before -- ':.' ':!debian/patches' t-gdr-good laundered ;; + A*) + t-refs-notexist \ + refs/ffq-prev/heads/$work \ + refs/debrebase-last/heads/$work + ;; t*) git diff --quiet HEAD refs/heads/$before ;; f*) t-has-ancestor HEAD refs/heads/$before ;; + Z*) + t-refs-same-start + t-refs-same refs/heads/$peel + t-refs-same refs/heads/before-unstitch/$startbranch + t-ref-head + ;; *) fail "$1" ;; @@ -183,20 +203,21 @@ Ec="F:No ongoing git-debrebase session" Ep="F:Patch export produced patch amendments" # input state: -# stitched? st'd st'd unst'd unst'd -# laundered? laund'd mixed laund'd mixed +# stitched? st'd st'd unst'd unst'd convert +# laundered? laund'd mixed laund'd mixed -from-gbp # # "mixed" means an out of order branch # containing mixed commits and patch additions, # but which needs even more patches # -subcmd '' Ult Ull Vlt Vl -subcmd stitch Ns Nu Sltf Stf -subcmd prepush Ns Nu Sltf Stf -subcmd quick ns Sl Sltf Sl -subcmd conclude "$Ec" "$Ec" Sltf Sl -subcmd make-patches sPft "$Ep" uPft "$Ep" -#subcmd dgit-upload-hook Psft "$Ep" SPft "$Ep" +subcmd '' Ult Ull Vlt Vl nU +subcmd stitch Ns Nu Sltf Stf Ns +subcmd prepush ns nu Sltf Stf ns +subcmd quick ns Sl Sltf Sl n +subcmd conclude "$Ec" "$Ec" Sltf Sl N +subcmd scrap Ns Ns Z Z N +subcmd make-patches sPft "$Ep" uPft "$Ep" Pn +subcmd forget-was-ever-debrebase nA nA nA nA nA # # result codes, each one is a check: # E:$pat } this is an error (must come first) @@ -215,6 +236,8 @@ subcmd make-patches sPft "$Ep" uPft "$Ep" # V ffq-prev remains unchanged; implies also u # s result is stitched, debrebase-last exists and is unchanged # S result is stitch just made, remaining letters apply to result~ +# Z result is rewind to before changes made +# A no ffq-prev or debrebase-last refs ("Amnesia") # # P result is add-patches, remaining letters apply to result~ #