Skip to content

Commit 91b7463

Browse files
committed
rev_news: publish edition 3 in _posts too
1 parent 1a8e22e commit 91b7463

1 file changed

Lines changed: 296 additions & 0 deletions

File tree

Lines changed: 296 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,296 @@
1+
## Git Rev News: Edition 3 (May 13, 2015)
2+
3+
Welcome to the third edition of [Git Rev News](http://git.github.io/rev_news/rev_news.html),
4+
a digest of all things Git. For our goals, the archives, the way we work, how to contribute or to
5+
subscribe see [the Git Rev News page](http://git.github.io/rev_news/rev_news.html) on http://git.github.io.
6+
7+
This edition still covers Git's 10th year of existence, as well as the
8+
[Git Merge](http://git-merge.com) conference held on April 8th & 9th in Paris,
9+
France, and also some discussions since the end of March.
10+
11+
## Discussions
12+
13+
### General
14+
15+
* [Teaching People Git](https://speakerdeck.com/emmajane/teaching-people-git)
16+
17+
At the [Git Merge 2015](http://git-merge.com) Emma Jane Hogbin Westby
18+
gave a presentation about her experience teaching Git to adults. As a
19+
long time version control teacher, she has found that the usual ways to
20+
teach people Git don't work well.
21+
22+
One of the reason is that Git is complex, so people have to learn a
23+
lot before a simple "Hello world!" with Git makes sense. Also people
24+
use Git to support their work, Git is not what they do. Another reason
25+
is that it is difficult for adults to learn because of all the other
26+
pressures which are put on them by life. Learning is a bit terrifying
27+
for them.
28+
29+
There are ways to make it easier for them to learn though. The theory
30+
about adult education called
31+
[andragogy](http://en.wikipedia.org/wiki/Andragogy) gives six insights
32+
about how to motivate them. Based on these insights and other theories
33+
like constructivism and Bloom's taxonomy, Emma Jane developed new ways
34+
of teaching Git and version control.
35+
36+
She found that a good way is to start by trying to solve the
37+
learner's own real problems using ideas, not Git commands or tools
38+
first. As a lot of problems around version control are social
39+
anyway, it is useful to teach teamwork first.
40+
41+
So she starts by asking people to describe their role in the
42+
organisation, who they are working with and how, what are their tasks,
43+
their workflows, how they manage branches, what are their tools,
44+
infrastructure and constrains. This can be done using pens, papers and
45+
colors.
46+
47+
When people have finished documenting everything, which is anyway a
48+
good thing, then Git commands can be introduced in the context in
49+
which they are useful. For example as people are drawing boxes and
50+
arrows on diagrams, they can be teached the `git clone`, `git push`
51+
and other Git commands that can be associated with the code sharing
52+
arrows.
53+
54+
Teaching this way makes people 'build' their knowledge, talk to each
55+
other about their workflows and visualy document their use of
56+
Git.
57+
58+
This whole process makes Git more accessible and friendly, which is
59+
Emma Jane's goal.
60+
61+
She shares this goal in articles, like
62+
[this one which is an article version of her talk](http://24ways.org/2013/git-for-grownups/), in
63+
videos, blog posts and other materials available from her
64+
[Git for Teams web site](http://gitforteams.com/) or her
65+
[gitforteams GitHub repo](https://github.com/emmajane/gitforteams), and also in an
66+
[upcoming Git for Teams of One or More book](http://gitforteams.com/books/).
67+
68+
* [Git + Software Freedom Conservancy Overview](http://thread.gmane.org/gmane.comp.version-control.git/267077/)
69+
70+
At the Contributor Summit that was part of the [Git Merge 2015](http://git-merge.com),
71+
Jeff King, aka Peff, gave a presentation about the status of Git as a
72+
[Software Freedom Conservancy (SFC)](https://sfconservancy.org/) project.
73+
74+
Git is a [member project of the SFC since 2010](http://thread.gmane.org/gmane.comp.version-control.git/159722/).
75+
This gives some legal status to "The Git Project" and makes it possible for it
76+
to handle money (around $19,000), hold domain names (git-scm.com, git-scm.org) and
77+
[the "Git" trademark](https://git-scm.com/trademark), and own a Mac!
78+
79+
The decisions related to those assets and the project itself are
80+
made by agreement of the benevolent-committee-for-life, made of Junio
81+
Hamano, Jeff King and Shawn Pearce. The committee is limited because The
82+
Project does not own any copyright on the code and has no power
83+
over the technical side of the project. Also the decisions must
84+
support FLOSS aspects of the project.
85+
86+
Ideas about how to use the assets or make changes to the project
87+
should be discussed on the list because the committee wants to represent
88+
the will of the community. That's why after the Contributor Summit Peff
89+
posted the source code of his slides on the list, asking for suggestions
90+
about what to do, like he did after his presentation at the Summit.
91+
92+
One question is: what should The Project do with its money? The money
93+
comes from donations on the web site, the Google Summer of Code (GSoC),
94+
Amazon affiliate links and book royalties. Some of this money goes to
95+
helping developers travel to the GSoC mentor summit, and a few other
96+
things.
97+
98+
Peff talked a bit about what he calls "half baked ideas" he has to
99+
spend the money, like participating in the
100+
[Outreach Program for Women, now known as Outreachy](https://www.gnome.org/outreachy/)
101+
or giving it to the SFC or other organisations.
102+
103+
At the Summit after Peff's presentation, Git developers mostly talked about
104+
how to make it possible for companies to fund developers working on Git,
105+
and since the Summit, there has not been much discussion on the mailing list
106+
about possible changes to the current situation.
107+
108+
### Reviews
109+
110+
* ["cat-file --allow-unknown-type"](http://thread.gmane.org/gmane.comp.version-control.git/268262)
111+
112+
Karthik Nayak, a Google Summer of Code student, has been working for
113+
some months on developing the `--allow-unknown-type` option for `git cat-file`.
114+
115+
He has been helped by Eric Sunshine, Ramsay Jones, Phil Hord, Charles Bailey, David Turner, Duy Nguyen,
116+
Jeff King and Junio Hamano, and, along the development, improving the test script led
117+
to a [discovery and fix of a bug](http://thread.gmane.org/gmane.comp.version-control.git/268306)
118+
in "hash-object --literally".
119+
120+
The 10th iteration of his patch series was merged to the 'next' branch,
121+
so the new option will probably appear in the next git release.
122+
123+
* ["git help" reorganisation](http://thread.gmane.org/gmane.comp.version-control.git/268348)
124+
125+
Sébastien Guimmara started working on improving the output of `git help`.
126+
127+
The current output lists "the most commonly used git commands" in
128+
alphabetical order. For a long time people have been saying that it is
129+
probably not the best way to help users find the git command they
130+
need, and that it would be better to group commands by topic. So
131+
Sébastien's work is very welcome.
132+
133+
Unfortunately git developers can have different views on how to group
134+
commands together. So it can be difficult for them to agree on such
135+
kind of changes. Long discussions because of small personnal
136+
preferences - we call that bikesheedding - can sometimes go on for a
137+
while.
138+
139+
In the case of Sébastien's patch series, many developers helped or got
140+
involved in the discussions: Eric Sunshine, Junio Hamano, Stefan
141+
Beller, Matthieu Moy, Johannes Schindelin, Johannes Sixt. Emma Jane Hogbin Westby
142+
also [weighed in](http://thread.gmane.org/gmane.comp.version-control.git/268348/focus=268525)
143+
with her experience in teaching Git to people, which is a valuable
144+
piece of input.
145+
146+
We will see how it goes and if some improvements are merged.
147+
148+
149+
### Support
150+
151+
* [gitk won't show notes?](http://thread.gmane.org/gmane.comp.version-control.git/266662/)
152+
153+
Phillip Susi had trouble getting gitk to show notes. Michael J. Gruber
154+
tried to help him, but it didn't work when adding a note while gitk is
155+
running even when using F5 or Shift-F5 that should refresh the
156+
display. Michael found that:
157+
158+
> Apparently, gitk rereads the refs but not commits it has read already -
159+
> and the commit reading includes the notes lookup.
160+
161+
and decided to "cc the master". The master is Paulus aka Paul
162+
Mackerras who created gitk ten years ago and has been maintaining it
163+
since that time.
164+
165+
Paul agreed that indeed works need to be done to fix this problem. He
166+
asked if `git notes list` is the best way to find out all the current
167+
notes, and Johan Herland who developed `git notes` answered yes.
168+
169+
* [git ls-files wildcard behavior considered harmful](http://thread.gmane.org/gmane.comp.version-control.git/266486/)
170+
171+
Joey Hess who is developing [git-annex](https://git-annex.branchable.com/) was surprised by how
172+
`git ls-files` expands wildcard characters like `*[]` and the fact that escaping these characters
173+
using a backslash character `\` makes it impossible to only list files in a directory:
174+
175+
```
176+
While normally ls-files would recurse, slash-escaped wildcard characters in the
177+
directory name prevent recursion.
178+
179+
joey@darkstar:~/tmp/aaa>git ls-files 'foo[d]'
180+
foo[d]/subfile
181+
food
182+
joey@darkstar:~/tmp/aaa>git ls-files 'foo\[d\]'
183+
joey@darkstar:~/tmp/aaa>
184+
185+
The above example shows a case where it's impossible to get ls-files
186+
to only list files in a directory and not other files that match the
187+
wildcard. This seems like it must be a bug, and it means it's impossible
188+
to reliably work around the wildcard expansion behavior.
189+
```
190+
191+
Duy Nguyen, Jeff King and Jonathan Nieder replied that there are ways
192+
to tell Git to interpret no character as a wildcard. The
193+
`--literal-pathspecs` option and the `GIT_LITERAL_PATHSPECS`
194+
environment variable have been created especially for this purpose and
195+
it is a good idea to use them in script or tools, like GitHub is doing
196+
on their servers.
197+
198+
* [No longer builds with NO_IPV6?](http://thread.gmane.org/gmane.comp.version-control.git/268406)
199+
200+
Eduardo Espejo found that Git does not compile anymore when using the
201+
NO_IPV6 configuration switch. And it is not the first time that
202+
[someone finds out that Git such a NO_IPV6 breakage](http://thread.gmane.org/gmane.comp.version-control.git/28033/).
203+
204+
This time Junio Hamano, the Git maintainer, fixed the breakage in
205+
"daemon.c", but more importantly found that NO_CURL and NO_EXPAT
206+
configurations did not to pass the test suite.
207+
So helped by Jeff King [he quickly fixed that too](http://thread.gmane.org/gmane.comp.version-control.git/268467/).
208+
And now he has a nightly cron job to try building
209+
and testing a few selected configurations.
210+
211+
## Releases
212+
213+
* [Git v2.4.0](http://article.gmane.org/gmane.linux.kernel/1941812), April 30th
214+
215+
> The latest feature release Git v2.4.0 is now available at the
216+
> usual places. It is comprised of 426 non-merge commits since
217+
> v2.3.0, contributed by 76 people, 25 of which are new faces.
218+
219+
You can find more information about this release down in the Media section of the newsletter.
220+
221+
* [Gerrit 2.11](https://groups.google.com/d/msg/repo-discuss/hPbetnfBkm4/wycZSSFdAswJ), April 17th
222+
223+
> Includes a range of new features, like inline editing in the browser, and many improvements in the change screen UI
224+
225+
* [GitLab 7.10](https://about.gitlab.com/2015/04/22/gitlab-7-10-released/), April 22nd
226+
227+
> Besides bug fixes and performance improvements, you can now import your code from Google Code, quickly invite your colleagues and friends to GitLab and set default Git Hooks for everyone.
228+
229+
* [objective-git 0.8.1](https://github.com/libgit2/objective-git/releases/tag/0.8.1), April 23rd
230+
* [git-extras 3.0.0](https://github.com/tj/git-extras/releases/tag/3.0.0), April 27th
231+
* [JGit and EGit 3.7.1](https://dev.eclipse.org/mhonarc/lists/egit-dev/msg03865.html), April 27th
232+
* [nodegit v0.4.0](https://github.com/nodegit/nodegit/releases/tag/v0.4.0), May 7th
233+
234+
235+
## Other News
236+
237+
### Job Offer
238+
239+
Booking.com is willing to pay a Git developer on a contract basis to
240+
work on Git scalability issues. If you are interested please contact
241+
Ævar Arnfjörð Bjarmason &lt;<avarab@gmail.com>&gt;.
242+
243+
### Event
244+
245+
[GSoC 2015: 2 accepted proposals](http://thread.gmane.org/gmane.comp.version-control.git/267878)
246+
247+
For a long time Git has been participating in [the Google Summer of Code](http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/about_page).
248+
This summer two students, Paul Tan and Karthik Nayak, mentored by four experienced Git developers, Johannes Schindelin, Stefan Beller, Matthieu Moy and Christian Couder, will work on improving Git and will receive a stipend from Google.
249+
250+
251+
### Media
252+
253+
__Related to Git 2.4__
254+
255+
* [What's coming in Git 2.4.0](https://lwn.net/Articles/639582/?), by Nathan Willis at LWN.net
256+
* [Git 2.4 — atomic pushes, push to deploy, and more](https://github.com/blog/1994-git-2-4-atomic-pushes-push-to-deploy-and-more), a great explanation by GitHub's Michael Haggerty
257+
258+
__In the aftermath of Git-Merge 2015__
259+
260+
* [The recorded talks from Git Merge](https://www.youtube.com/playlist?list=PL0lo9MOBetEFDjSJ-QTlgsBEHpd6XnaA-) are now available online
261+
* [Git Merge 2015 Reviewed](https://netguru.co/blog/git-merge-2015-review), by Jakub Naliwajek at netguru
262+
* [GitMinutes #35: Git Merge 2015 Part 1](http://episodes.gitminutes.com/2015/05/gitminutes-35-git-merge-2015-part-1.html), the first of five podcast episodes from Git-Merge
263+
* [Notes from Git Contributor Summit (Git Merge 2015)](https://developer.atlassian.com/blog/2015/04/git-merge-2015-wrap/) from our own editor Nicola (at Atlassian)
264+
265+
__Various__
266+
267+
* [Fun with failing cherry-pick](http://git-blame.blogspot.com/2015/04/fun-with-failing-cherry-pick.html), by Git's maintainer, Junio C Hamano
268+
* [libgit2 got rid of the OpenSSL binding on OSX](https://github.com/libgit2/libgit2/pull/2997)
269+
* [Git Resources for Visual Learners](https://changelog.com/git-resources-for-visual-learners/), neat collection from TheChangelog
270+
* [--force considered harmful; understanding git's --force-with-lease](https://developer.atlassian.com/blog/2015/04/force-with-lease/) by Steve Smith at Atlassian
271+
* [7 Pro Tips For Using Git from Fedora Developers](http://www.linux.com/news/featured-blogs/200-libby-clark/825032-7-pro-tips-for-using-git-from-fedora-developers), by Libby Clark at linux.com
272+
* [A cryptic crossword themed around Git](http://thorehusfeldt.net/2015/04/03/conflicting-git-merge-runs-for-several-minutes-35/), by Thore Husfeld
273+
* [Be aware of your git stashes](http://depressiverobot.com/2015/05/08/stash-aware.html), pro-tip by Marvin Frommhold
274+
* [Git Commits are Not Transactions](http://godd2.blogspot.de/2015/05/git-commits-are-not-transactions.html), blogpost by Dominic Muller
275+
* [A git horror story: faking provenance with a loose nonce](https://developer.atlassian.com/blog/2015/05/git-horror-story-loose-nonces/), by Tim Pettersen at Atlassian
276+
* [The Elements of Commit Style](http://mcandre.gitbooks.io/elements-of-commit-style/), a tiny "Git-book" for improving commit style, by Andrew Pennebaker
277+
* [Protected branches in Deveo 2.9.0](http://blog.deveo.com/protected-branches-in-devo-2-9-0/), from Ilmari Kontulainen on their company blog
278+
279+
__Git tools and sites__
280+
281+
* [Gerrit is now available in Docker containers](http://gitenterprise.me/2015/04/30/no-more-tears-with-gerrit-code-review-thanks-to-docker/) from GerritForge/GitEnterprise
282+
* [first aid git](http://ricardofilipe.com/projects/firstaidgit/), a searchable collection of the most frequently asked Git questions
283+
* [Legit](http://www.git-legit.org/) is a complementary command-line interface for Git, optimized for workflow simplicity.
284+
* [multi-commit](https://github.com/jonathanewerner/multi-commit), a python tool for staging hunks and assigning them to multiple future commits
285+
* [cig](https://github.com/stevenjack/cig) checks all your git repos, reporting if any of them have changes or need to be pushed
286+
* Similarly: [checkgit](https://github.com/ga7g08/CheckGit) is a gtk-based script to provide visual status of Git repositories
287+
* Refer to a future commit sha1 in your commit message using [git-time-travel](https://github.com/hundt/git-time-travel)
288+
* [The Ubuntu-related forge Launchpad is now offering Git hosting](http://blog.launchpad.net/general/git-code-hosting-beta)
289+
* [GitHub Extension for Visual Studio](https://visualstudio.github.com/)
290+
291+
292+
## Credits
293+
294+
This edition of Git Rev News was curated by Christian Couder &lt;<christian.couder@gmail.com>&gt;,
295+
Thomas Ferris Nicolaisen &lt;<tfnico@gmail.com>&gt; and Nicola Paolucci &lt;<npaolucci@atlassian.com>&gt;
296+
with help from Junio Hamano, Emma Jane Hogbin Westby and Jeff King.

0 commit comments

Comments
 (0)