From: Jan Engelhardt Date: Wed, 19 Mar 2008 22:23:55 GMT Subject: Re: [patch] Import "git-forest" into contrib/ Message-ID: In-Reply-To: <7v4pb22xgc.fsf@gitster.siamese.dyndns.org> On Mar 19 2008 14:52, Junio C Hamano wrote: > > git also expects the kernel style e-mails, and it is _NOT_ "dump output > from 'git show' in the message, commit/Author:/Date: headers and message > indented by 4-spaces" format. Actually, it's `git log -1 -p` that I used. PINE traditionally trashes the direct mbox output of git, i.e. Message-ID is rewritten by PINE again when using Continue Postponed, but apparently only on non-PINE messages to begin with. I just recently switched to alpine, maybe it's better there. > As to the contents, I did not understand this part. > > +Notes on interpretation: > + > +'╬' (or variants thereof, like ╪) is meant to be a "path bridge", i.e. > +traversal is only "allowed" horizontal OR vertical direction. > + > +Branching: > +C D E F G > +╠═╬═╩═╩═╝ A->{C,E,F,G} and B->D. > +A B > > So the horizontal line bridge goes over the vertical road between B and D > and these two will not get connection to anything else. That part I > understand. > > (1) Why then is that horizontal bridge connected to E, F and G? Do > pluses and inverted Ts have different meaning? What about the > sideway T between A and C? > Did you mean "Connection with three legs (T, inverted T, sideways T) mean > all sides are connected, connection with four legs (+) mean horizontal and > vertical are independent and disconnected"? Yes. Would # Connections with four "legs" ('╬' or variants thereof, like # '╪') are # meant to be interpreted as being connected only in the # horizontal and # vertical direction, NOT around-the-corner. # # Connections with three or less "legs" ('╠', '╩', '╦', etc.) # imply # a connection to all connected directions. work as help text? > (2) If you want to express D is merge between A and B, and C, E, F, G are > independent children of A, how would you write it? A..G in the above are actually placeholders for more wood instead of placeholders for commits. So (one possible) answer to your question — since you can only be referring to commits :-) — would be: ╓─[master]──[G]──sm7 ║ ╓─[F]──sm6 ║ ║ ╓─[E]──sm5 ║ ║ ║ ╓─[C]──sm4 ║ ║ ║ ║ ╓─[D]──something3 ║ ║ ║ ║ ╠═╗ ║ ║ ║ ║ ╟─║─[B]──something2 ╠═╩═╩═╩═╬═╝ ╟───────║─[A]──something1 ╠═══════╝ ╙ Initial depending on the order you committed (or flags like --date-order/--topo-order). If one commit is added to D, the picture shifts a bit: ╓─[master]──c8 ║ ╓─[G]──sm7 ║ ║ ╓─[F]──sm6 ║ ║ ║ ╓─[E]──sm5 ║ ║ ║ ║ ╓─[C]──sm4 ╟─║─║─║─║─[D]──something3 ╠═╬═╬═╬═╬═╗ ╟─║─║─║─║─║─[B]──something2 ║ ╠═╩═╩═╩═╝ ║ ╟─[A]──something1 ╠═╝ ╙ Initial