Skip to content

Instantly share code, notes, and snippets.

@snipsnipsnip
Last active May 14, 2020 10:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save snipsnipsnip/7089d76ed4fd2d3a53726c58d1e2b444 to your computer and use it in GitHub Desktop.
Save snipsnipsnip/7089d76ed4fd2d3a53726c58d1e2b444 to your computer and use it in GitHub Desktop.
git rebase --interactive でコミットの見分けがつかない問題の対策 ref: https://qiita.com/snipsnipsnip/items/8e4244b4fff2a5a2bc32
$ git reset --hard E # git reset --hard origin/devel でも可
$ git cherry-pick -n D A
$ git commit -m "DとA"
$ git cherry-pick B
$ git cherry-pick C
[sequence]
editor = "f() { perl -i -ne 'BEGIN { $c = qx(git config core.commentchar); chomp $c; $c or $c = q(#) }; print; /^[a-z]+ ([0-9a-f]+)/ or next; $i++; $_ = qq( [$i] ) . qx(git log -1 --stat=128 --dirstat=0 --pretty=format:%h:%s%n%b%N $1); $? and die qq(git log $1 failed); s/^/$c/gm; print qq($_\\n)' \"$@\" && \"$(git var GIT_EDITOR)\" \"$@\"; }; f"
$ git rebase -i @~20
pick 97934e2 hoge
pick ec1b240 hoge
pick d96fe5e fix
pick f804008 hoge
pick ff0a94b hoge
pick eb42390 fuga
pick 9a950c5 hoge
pick 8dca024 foo
pick 47dd070 hoge
pick 6e12e1e typo
pick 95ecccf only apply color-mapping for alpha on the cropped area
; [1] 95ecccf:only apply color-mapping for alpha on the cropped area
;This is only possible if the filtering is not VERTICAL or GRADIENT.
;Otherwise, we need the spatial predictors and hence need the un-visible
;part above crop_top row.
;
;COLOR_INDEX transform is the only transform that is not predicted
;from previous row. Applying the same for other transform (spatial
;predict, ...) is going to be more involve and use an extra temporary row.
;
;+ remove ApplyInverseTransformsAlpha()
;(work is done directly within ExtractPalettedAlphaRows())
;
;+ change back to using filter_ instead of unfilter_func_
;
;Change-Id: I09e57efae4a4af00bde35f21ca6e3d73b35d7d43
;
; src/dec/alpha.c | 16 +++++++---------
; src/dec/alphai.h | 2 +-
; src/dec/vp8l.c | 58 +++++++++++++++++++++++++++++-----------------------------
; 3 files changed, 37 insertions(+), 39 deletions(-)
; 100.0% src/dec/
pick 31f2b8d WebPAnimEncoder: FlattenSimilarPixels(): look for similar
; [2] 31f2b8d:WebPAnimEncoder: FlattenSimilarPixels(): look for similar
;not exactly same.
;
;Based on lossy WebP quality setting, ignore minor differences when
;flattening
;similar blocks.
;
;For 6k set, at default quality with '-min_size' option, improves
;compression by 0.3%
;
;Change-Id: Ifcb64219f941e869eb2643e231220b278aad4cd4
;
; src/mux/anim_encode.c | 55 +++++++++++++++++++++++++++++++++++++++++++------------
; 1 file changed, 43 insertions(+), 12 deletions(-)
; 100.0% src/mux/
pick 47dd070 anim_diff: Add an experimental option for max inter-frame diff.
; [3] 47dd070:anim_diff: Add an experimental option for max inter-frame diff.
;After the introduction of lossy frame rectangles
;we need equivalent option in anim_diff for merging similar frames.
;
;Change-Id: I1d03acace396ec4cb0212586c6e8b8ec5b0b0bfc
;
; examples/Makefile.am | 2 +-
; examples/anim_diff.c | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------
; 2 files changed, 76 insertions(+), 7 deletions(-)
; 100.0% examples/
pick 6e12e1e WebPAnimEncoder: Fix for single-frame optimization.
; [4] 6e12e1e:WebPAnimEncoder: Fix for single-frame optimization.
;Change-Id: I2da8dc34ab9589b58cde0ecb05d71357d77f6b25
;
; src/mux/anim_encode.c | 10 ++++++----
; 1 file changed, 6 insertions(+), 4 deletions(-)
; 100.0% src/mux/
pick e3912d5 WebPAnimEncoder: Restore canvas before evaluating blending possibility.
; [5] e3912d5:WebPAnimEncoder: Restore canvas before evaluating blending possibility.
;Without this, the canvas may have been modified in-between two
;GenerateCandidate() calls.
;
;Change-Id: I0364a269caabdf282c30a8fa3c61896f0247342e
;
; src/mux/anim_encode.c | 8 ++++++--
; 1 file changed, 6 insertions(+), 2 deletions(-)
; 100.0% src/mux/
pick 2102ccd update the Unfilter API in dsp to process one row independently
; [6] 2102ccd:update the Unfilter API in dsp to process one row independently
;This will allow to work in-place on cropped area later.
;
;Also sped up the inverse gradient filtering in SSE2 (~4%)
;
;Change-Id: I463149eee95d36984328f163a1e17f8cabd87441
;
; src/dec/alpha.c | 31 ++++++++---
; src/dec/alphai.h | 1 +
; src/dec/vp8i.h | 1 +
; src/dec/vp8l.c | 55 ++++++++++--------
; src/dsp/dsp.h | 6 +-
; src/dsp/filters.c | 39 ++++++++++---
; src/dsp/filters_mips_dsp_r2.c | 162 +++++++++++++++++++++---------------------------------
; src/dsp/filters_sse2.c | 272 +++++++++++++++++++++++++++++++++++++++++-------------------------------------------------
; 8 files changed, 278 insertions(+), 289 deletions(-)
; 16.6% src/dec/
; 83.3% src/dsp/
; Rebase aa809cf..de47492 onto aa809cf (6 commands)
;
; Commands:
; p, pick = use commit
; r, reword = use commit, but edit the commit message
; e, edit = use commit, but stop for amending
; s, squash = use commit, but meld into previous commit
; f, fixup = like "squash", but discard this commit's log message
; x, exec = run command (the rest of the line) using shell
; d, drop = remove commit
;
; These lines can be re-ordered; they are executed from top to bottom.
;
; If you remove a line here THAT COMMIT WILL BE LOST.
;
; However, if you remove everything, the rebase will be aborted.
;
; Note that empty commits are commented out
A <- devel
|
B
|
C
|
D
|
E <- origin/devel
|
...
C <- devel
|
B
|
[DとA]
|
E <- origin/devel
|
...
pick 95ecccf only apply color-mapping for alpha on the cropped area
pick 31f2b8d WebPAnimEncoder: FlattenSimilarPixels(): look for similar
pick 47dd070 anim_diff: Add an experimental option for max inter-frame diff.
pick 6e12e1e WebPAnimEncoder: Fix for single-frame optimization.
pick e3912d5 WebPAnimEncoder: Restore canvas before evaluating blending possibility.
pick 2102ccd update the Unfilter API in dsp to process one row independently
; Rebase aa809cf..de47492 onto aa809cf (6 commands)
;
; Commands:
; p, pick = use commit
; r, reword = use commit, but edit the commit message
; e, edit = use commit, but stop for amending
; s, squash = use commit, but meld into previous commit
; f, fixup = like "squash", but discard this commit's log message
; x, exec = run command (the rest of the line) using shell
; d, drop = remove commit
;
; These lines can be re-ordered; they are executed from top to bottom.
;
; If you remove a line here THAT COMMIT WILL BE LOST.
;
; However, if you remove everything, the rebase will be aborted.
;
; Note that empty commits are commented out
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment