[BUG?] rebase -i -p leaves index changed
- Date: Tue, 12 Aug 2008 11:16:39 +0200
- From: Thomas Rast <trast@xxxxxxxxxxxxxxx>
- Subject: [BUG?] rebase -i -p leaves index changed
Hi,
'rebase -i -p' appears to be a bit confused about what it is doing.
Try a history like this:
O -- A -- M -- B
\ /
\- C -/
built by:
git init
touch foo
git add foo
git ci -m initial
git tag root
git co -b side
echo blah > other
git add other
git ci -m other
git co master
echo a >> foo
git add foo
git ci -m a
git add foo
git merge side
echo b >> foo
git add foo
git ci -m 'b: depends on side'
First try this:
GIT_EDITOR=true git rebase -i -p root
git diff --cached
resulting in
diff --git a/foo b/foo
index 422c2b7..e69de29 100644
--- a/foo
+++ b/foo
@@ -1,2 +0,0 @@
-a
-b
diff --git a/other b/other
deleted file mode 100644
index 907b308..0000000
--- a/other
+++ /dev/null
@@ -1 +0,0 @@
-blah
Second, 'edit' is also a bit suspicious:
git reset --hard
GIT_EDITOR='perl -i -pe "s/pick 096/edit 096/"' git rebase -i -p root
Despite claiming "Stopped at 096[...] a", a quick 'git show' tells us
that it is actually stuck at 'initial'. (At least 'git rebase
--continue' then ends up with the same result as the first test.)
Granted, I'm not entirely sure what it _should_ do. In my use case
(relating to the filter-branch topic), C was a commit from elsewhere
that B depended on. So I kind of hoped 'rebase -i -p' would let me
edit A, then rebuild M and B on top, while leaving C alone.
- Thomas
--
Thomas Rast
trast@xxxxxxxxxxxxxxx
Attachment:
signature.asc
Description: This is a digitally signed message part.
- Follow-Ups:
- Re: [BUG?] rebase -i -p leaves index changed
- From: Stephan Beyer
- [PATCH 1/2] rebase -i -p: handle index and workdir correctly
- From: Thomas Rast
- Re: [BUG?] rebase -i -p leaves index changed
- Prev by Date: Re: How to fork
- Next by Date: fastest way to check if dir is a workdir
- Previous by thread: Git rebase UI
- Next by thread: [PATCH 1/2] rebase -i -p: handle index and workdir correctly
- Index(es):