@@ -21,9 +21,86 @@ This edition covers what happened during the month of June 2016.
2121### General
2222-->
2323
24- <!-- -
24+
2525### Reviews
26- -->
26+
27+ * [ contrib/subtree: Remove --annotate] ( http://thread.gmane.org/gmane.comp.version-control.git/283340/ )
28+
29+ Last January David Greene, who maintains git-subtree.sh, sent
30+ [ a patch series] ( http://thread.gmane.org/gmane.comp.version-control.git/283268/ )
31+ to remove the ` --annotate ` option from ` git subtree ` and then
32+ [ a version 2 of this patch series] ( http://thread.gmane.org/gmane.comp.version-control.git/283340/ ) .
33+
34+ This came after previous work to add ` --unannotate ` some years ago
35+ [ in 2012] ( http://thread.gmane.org/gmane.comp.version-control.git/207341/ ) and
36+ [ in 2013] ( http://thread.gmane.org/gmane.comp.version-control.git/212954/focus=212961 ) .
37+
38+ The reason why adding ` --unannotate ` has not been pursued is that it
39+ is "difficult to define due to the numerous ways one might want to
40+ specify how to edit commit messages". And ` --annotate ` is now
41+ considered not well suited to rewriting commit messages compared to
42+ other existing tools like ` filter-branch ` , ` rebase -i ` and
43+ ` commit --amend ` that can be used afterwards.
44+
45+ Junio replied that the above is usually not a good enough reason to
46+ remove a feature unless it can be shown that nobody is using it.
47+
48+ David then explained that he doesn't know how much ` --annotate ` is
49+ used, but that he is willing to first deprecate it and then after some
50+ time remove it.
51+
52+ He also explained that he is also working on a few other things "that
53+ will involve slight semantic changes" and that he has a plan to move
54+ ` git subtree ` out of the ` contrib ` subdirectory of the Git source tree
55+ where it is currently and into the main area where there are all the
56+ non contrib Git commands.
57+
58+ This move would possibly in the end move some of the maintenance
59+ burden of ` git subtree ` from David to all the Git developers and
60+ ultimately Junio, but David said that the changes he was planning
61+ would remove some maintainance burden.
62+
63+ Junio agreed to the removal of ` --annotate ` and in another mail
64+ detailed the historical purpose of the ` contrib ` area and what is
65+ expected from code in this area:
66+
67+ > The contrib/ area was created back when Git was still young and we
68+ > felt that it would be beneficial for building the community if
69+ > contributions to non-core part were also included, encouraging
70+ > developers whose strength are not necessarily in the core part to
71+ > participate in various design-level discussions to grow the
72+ > community faster. Back then, we felt that an obscure standalone
73+ > project outside Git that would help the Git-life of users have a
74+ > much better chance of surviving (and eventually be polished) if we
75+ > had them bundled, even if the code quality and stability were
76+ > sub-par.
77+ >
78+ > Those young days are long gone. A standalone tool that aims to help
79+ > users' Git-life would not just survive but flourish with much more
80+ > certainty, as long as the tool is good. We have enough Git users to
81+ > rely on words-of-mouth these days to ensure their success.
82+ >
83+ > That is why I am very hesitant to add new things to contrib/ these
84+ > days. It is very welcome thought that you are working on improving
85+ > subtree, and eventually moving it out of contrib/. From the point
86+ > of view of the project, either moving up (to be part of the git core
87+ > proper) or moving out (to become an independent project) is far more
88+ > preferreable than the status quo so far that was staying in contrib/
89+ > (without seeing much changes and slowly but steadily bitrotting).
90+ >
91+ > If the aspiration is to move up to exit, then the quality and
92+ > stability expectation is basically the same as stuff in core, and we
93+ > need to strive to keep it stable and high quality.
94+
95+ Recently David replied to the above:
96+
97+ > This is the strategy I was planning to pursue. After extensive
98+ > experience with git-subtree and some local enhancements I have in
99+ > real-world work, I am convinced it is a great complementary tool to
100+ > git-submodule. It seems odd to me to have one in core and one not.
101+
102+ And David also detailled some of the work he plans to do on `git
103+ subtree`.
27104
28105### Support
29106
0 commit comments