4

I have this kind of tree :

J
|\
| I
| H
| G
| |\
| | F
| | E
| | D
| |/
| C
| B
|/
A

How can I make it look like this (or similar) in gitk ?

J
|\
| G,H,I
| |\
| | D,E,F
| |/
| B,C
|/
A

My history tree become hard to read when a merged functionality has many commits.


Edit : I tried gitk --merges but it gives me something like that :

J
|\
| I
A

G
|\
| F
C

Edit : The example tree can be found in this repo : https://github.com/moobee/gitk-hide-ff-commit

Dorian Marchal
  • 634
  • 1
  • 9
  • 14
  • `gitk --merges` seems weird. It gives me something like my edit in the question. – Dorian Marchal Mar 12 '15 at 15:00
  • 1
    Yeah I know, its not the same as what you want. But maybe close to what you want. You can look into [git-log](http://git-scm.com/docs/git-log) for other options.. – Vishwanath Mar 12 '15 at 15:03
  • 1
    I don't think there's such a thing as a "fast forward commit". There are fast forward merges, but you don't have any of that here. – Roman Mar 12 '15 at 15:18
  • The commits that I want to hide are not the `merge commits`. How are called the following commits : I, H, F, E and C ? – Dorian Marchal Mar 12 '15 at 15:21
  • 1
    You want to visually squash any commit with exactly one parent into its parent, *and combine their log messages* -- I don't think gitk has a way of doing that. You might be able to do it with some postprocessing of one of the git -> dot plotting schemes though. – zebediah49 Mar 12 '15 at 15:25
  • A very similar tool called `gitg` has an option called "Collapse inactive lanes" which I thought sounded like a good description of what you (and I) want. Unfortunately, the option seems to have no effect in Ubuntu 14.04. – Brent Bradburn Aug 11 '15 at 18:24
  • This isn't exactly what you have specified (because it doesn't show all forks/merges), but it does collapse unlabeled commits to allow for a condensed viewing of the history: `gitk --all --simplify-by-decoration` – Brent Bradburn Aug 13 '15 at 15:07

0 Answers0