Hi Johannes,
Johannes Schindelin schrieb am Sun 23. Mar, 23:41 (+0100):
On Sun, 23 Mar 2008, Jörg Sommer wrote:
quoted
@@ -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.