From: Liu Yubao <hidden> Date: 2016-06-15 22:47:43
Hi,
I want to obtain an outline of history information, for example:
a - b - c - d - h -i -j
\ /
e- f - g
I simplify the graph like this:
a - c - d - j
\ /
g
That's to say, I skip all commits that
* have only one parent, and
* have only one child, and
* its child has only one parent
I checked `git help rev-list` but didn't find this feature, so I
write a little script[1] to parse output of `git rev-list --parents
--full-history --sparse --all` and get the simplified history:
j d
d c g
c a
g a
Now how can I make gitk to show this simpilified history? I have tried
GraphViz but the history information is still so large that GraphViz
crashes.
[1] http://jff.googlecode.com/svn/trunk/utils/git-branch-graph.pl
Best regards,
Liu Yubao
From: Eric Raible <hidden> Date: 2016-06-15 22:47:43
Liu Yubao <yubao.liu <at> gmail.com> writes:
I want to obtain an outline of history information, for example:
a - b - c - d - h -i -j
\ /
e- f - g
I simplify the graph like this:
a - c - d - j
\ /
g
From: Liu Yubao <hidden> Date: 2016-06-15 22:47:43
Eric Raible wrote:
Liu Yubao <yubao.liu <at> gmail.com> writes:
quoted
I want to obtain an outline of history information, for example:
a - b - c - d - h -i -j
\ /
e- f - g
I simplify the graph like this:
a - c - d - j
\ /
g
"gitk --simplify-by-decoration"?
- Eric
Thanks, but that gets "a - g - j" which isn't what I want.
(g and j are heads of two branches).
The command sequence to produce that full revision graph:
#!/bin/bash
d=/tmp/t$$
rm -rf $d && mkdir $d && cd $d || exit 1
doit () {
for s in $@; do
echo $s >> a.txt
git add a.txt
git commit -q -m $s
done
}
git init
doit a b c
git checkout -b t HEAD~2
doit e f g
git checkout master
git merge t
doit d h i j
gitk &
From: Liu Yubao <hidden> Date: 2016-06-15 22:47:43
Eric Raible wrote:
Liu Yubao <yubao.liu <at> gmail.com> writes:
quoted
I want to obtain an outline of history information, for example:
a - b - c - d - h -i -j
\ /
e- f - g
I simplify the graph like this:
a - c - d - j
\ /
g