@@ -130,6 +130,76 @@ but that he had no plan to port it to C and integrate it into Git.
130130Junio also suggested a way to get a more human readable result for
131131example 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