1 |
C Bergström posted on Sun, 05 Jul 2015 01:17:41 +0700 as excerpted: |
2 |
|
3 |
> I super don't like "merge" workflows. |
4 |
> 1) "merge commits" are confusing at best and normal tools don't display |
5 |
> and work with them as you'd always expect |
6 |
|
7 |
git log --graph, as others have mentioned. |
8 |
|
9 |
Works fine, at the console, is clear enough to follow, and is part of git |
10 |
itself and commonly used, so is definitely a "normal" tool for those |
11 |
using git. |
12 |
|
13 |
FWIW, to follow kernel developments during the merge window, I'll |
14 |
actually run git log showing merges-only (generally confined to author |
15 |
linus, as well, which pretty effectively limits me to only the master |
16 |
merges). The merge comments give me a summary of what was committed in |
17 |
that merge, and I can both skip entire merge categories after reading |
18 |
only the title or merged tree name, where they're not of interest, and |
19 |
drill down into merges if I find something covered there of particular |
20 |
interest. |
21 |
|
22 |
> 2) merge commits lead to multiple parents, which breaks a clean and |
23 |
> simple to follow linear history --------- |
24 |
|
25 |
Ugh! Development isn't linear if there's more than one person working on |
26 |
a shared tree and making commits to their respective local trees to be |
27 |
pushed later, at once, and making it appear linear is, plainly stated, a |
28 |
lie. It's not clean and simple. It's a lie, and maintaining a lie |
29 |
arguably always ends up more complex than simply stating the truth. |
30 |
|
31 |
If you're not using one of the biggest and best features of git, its |
32 |
ability to accurately and clearly portray parallel development and where |
33 |
branches actually branched and merged, why are you using git in the first |
34 |
place? Simply because it's used 'most everywhere else and thus people |
35 |
tend to have some familiarity with it? That's not an invalid reason, of |
36 |
course, but if you have ten thousand nails to nail, and a nail gun |
37 |
plugged in and ready, why are you insisting on using a screwdriver to |
38 |
pound them in, instead? If you're going to use a screwdriver, why not |
39 |
use screws and a screw gun (svn, I guess, its commits are even |
40 |
sequentially numbered, which ought to be heaven, by your definition!)? |
41 |
|
42 |
To be clear, since the policy states rebase if possible, I'd do it, but |
43 |
I'd be internally grousing about it every single time, and that's not |
44 |
very conducive to remaining happy at one's job over a period of any |
45 |
significant length, absolutely critical if that job's a volunteer job. |
46 |
|
47 |
(I'd probably deal with it by scripting it to the extent possible and do |
48 |
my best to forget about the horrible misuse of perfectly good tool |
49 |
resources, tho I'd be cursing every time I went to use git log and |
50 |
couldn't use it properly due to all the lying going on.) |
51 |
|
52 |
-- |
53 |
Duncan - List replies preferred. No HTML msgs. |
54 |
"Every nonfree program has a lord, a master -- |
55 |
and if you use the program, he is your master." Richard Stallman |