Re: [PATCH 4/4] git-rebase -i: New option to support rebase with merges
- From
- Jörg Sommer <joerg@alea.gnuu.de>
- Date
- Mar 24, 2008, 11:14 UTC
- Message-ID
- <20080324111413.GA18488@alea.gnuu.de>
- In-Reply-To
- <alpine.LSU.1.00.0803232334130.4353@racer.site>
Hi Johannes,
Johannes Schindelin schrieb am Sun 23. Mar, 23:41 (+0100):
Show 24 quoted lines
> On Sun, 23 Mar 2008, Jörg Sommer wrote:
>
> > @@ -150,7 +152,18 @@ pick_one () {
> > sha1=$(git rev-parse --short $sha1)
> > output warn Fast forward to $sha1
> > else
> > - output git cherry-pick "$@"
> > + if test t = "$LINEAR_HISTORY" &&
> > + other_parents="$(parents_of_commit $sha1 | cut -s -d' ' -f2-)" &&
> > + test -n "$other_parents"
> > + then
> > + if test a"$1" = a-n
> > + then
> > + merge_opt=--no-commit
> > + fi
> > + redo_merge $sha1 $no_commit $other_parents
> > + else
> > + output git cherry-pick "$@"
> > + fi
>
> Now, that is funny. In case of --preserve-merges, I would have expected
> you to touch pick_one_preserving_merges(), not pick_one().
>
> I would find it highly illogical to try to redo merges _without_ -p.Me too, but I think it's not possible to do what I want with -p. -p misses a definition of the (new) parent of a commit. It tries to preserve all commits from all branches. But going through the _list_ of commands couldn't preserve this structure.
o--A--B \ \ C--D--M--E
How should the graph look like after these commands:
pick A pick C squash E # pick D pick B pick M
Should
pick A pick B pick C pick D pick M pick E
give a same graph like
pick C pick A pick D pick B pick M pick E
Bye, Jörg.
--
< Mr X.> jo: contact an admin to mount it for you
< jo> The admin is not, well how should I say it, he isn't very familiar with
the system. What should I tell my admin, what he should do?
< Mr X.> taking a sun solaris administration course.