Skip to content

Commit e0e7013

Browse files
committed
rn-18: add Lars' interview
1 parent faed15e commit e0e7013

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

‎rev_news/drafts/edition-18.md‎

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,76 @@ but that he had no plan to port it to C and integrate it into Git.
130130
Junio also suggested a way to get a more human readable result for
131131
example by running `git show` on the merge commit.
132132

133+
## Developer Spotlight: Lars Schneider
134+
135+
* Who are you and what do you do?
136+
137+
I am a software engineer living in Berlin, Germany. Currently, I am the technical
138+
lead for a team that helps 4000+ Autodesk engineers to adopt Git as their main
139+
source control system. This is a challenging but also very interesting task as
140+
I am constantly confronted with all kinds of problems that Git users run into.
141+
Fortunately, Autodesk allows me to spend part of my time addressing these problems
142+
and contribute possible solutions back to the community.
143+
144+
* What would you name your most important contribution to Git?
145+
146+
Autodesk has lots and lots of Perforce repositories with 20+ years of history.
147+
We are gradually moving them to Git and during this process I try to constantly
148+
improve the "git-p4" migration tool. I managed to get quite a number of patches
149+
upstream already but there are still more in my local queue :-)
150+
151+
However, I am most proud about an indirect contribution to Git. I helped the
152+
Git community to setup Git CI builds for OSX and Linux on Travis CI. This makes
153+
it really easy to ensure that new patches build without errors and cause no
154+
test failures on all major platforms and compilers. Casual contributors can
155+
create Pull Requests containing their patches against https://github.com/git/git
156+
and 20min later they would know if their patches pass all checks. This way a
157+
contributor can ensure that no precious reviewer time is wasted with broken
158+
patches.
159+
160+
* What are you doing on the Git project these days, and why?
161+
162+
I am working on an improved Git filter protocol. Git filters are a great
163+
mechanism to transparently modify repository content on commit and checkout.
164+
Amongst other things it is used to adjust platform specific line endings, to
165+
cleanup tab/whitespaces issues, to encrypt content, and to handle large files
166+
outside of the Git repository (e.g. via
167+
[git-annex](https://git-annex.branchable.com/) or
168+
[Git LFS](https://git-lfs.github.com/)).
169+
170+
The problem with the current protocol is that a filter process is invoked for
171+
each individual file. If you have a large number of files, then you start an equally
172+
large number of processes. This gets slow quickly and therefore I am working
173+
on a patch series that reuses a single filter process for all files in the lifetime of a
174+
Git process.
175+
176+
* If you could get a team of expert developers to work full time on
177+
something in Git for a full year, what would it be?
178+
179+
First, we would improve the Travis CI setup and add Windows to the platforms
180+
that are constantly tested. Afterwards we would join forces with David Turner,
181+
Ben Peart, and Duy Nguyen and improve the Git performance for repositories
182+
that contain a very large number of files.
183+
184+
* If you could remove something from Git without worrying about
185+
backwards compatibility, what would it be?
186+
187+
I would not remove anything, but I would try to improve the UX. Unfortunately,
188+
modifying the UX of Git core commands is incredible hard as these commands are
189+
also used in a lot of scripts that we cannot break.
190+
191+
* What is your favorite Git-related tool/library, outside of Git itself?
192+
193+
A couple of years ago I wrote [ShowInGitHub](https://github.com/larsxschneider/ShowInGitHub),
194+
a plugin that helps you to jump from a specific line of code in Xcode to the
195+
same line on Github. It was my favorite Git tool during my iOS developer days.
196+
197+
More recently I got really excited about [Git LFS](https://git-lfs.github.com/).
198+
Granted, Git LFS breaks one of Git's core features as LFS repositories are by default
199+
not distributed anymore. However, Git LFS is a pragmatic solution to a huge problem
200+
that many Git users face if they need to store large media assets or integration test
201+
data along with their source code.
202+
133203
## Releases
134204

135205

0 commit comments

Comments
(0)