Engineering - page 4


Git LFS 2.3.0 released

LFS

Git LFS v2.3.0 is now available with performance improvements to git lfs migrate and git clone, new features, bug fixes, and more.

Download Git LFS v2.3.0

git lfs migrate

With our latest release, git lfs migrate ships with a native implementation for reading packed objects: an important next step to making Git LFS’s migrator performance significantly faster. Git LFS also learned how to avoid saving unchanged objects, making it 52% faster[1] to examine your repository for large objects than in previous releases.

~/g/git-lfs (master) $ git lfs version
git-lfs/2.2.1 (GitHub; darwin amd64; go 1.8.3; git 621d1f82)

/g/git-lfs (master) $ time git lfs migrate info
migrate: Sorting commits: ..., done
migrate: Rewriting commits: 100% (5840/5840), done
# ...
git lfs migrate info  36.30s user 19.80s system 147% cpu 38.127 total
~/g/git-lfs (master) $ git lfs version
git-lfs/2.3.0 (GitHub; darwin amd64; go 1.8.3; git 70995b39)

~/g/git-lfs (master) $ time git lfs migrate info
migrate: Sorting commits: ..., done
migrate: Examining commits: 100% (5840/5840), done
# ...
git lfs migrate info  23.74s user 5.71s system 162% cpu 18.144 total

git clone

The git clone command is now 170% faster on repositories using Git LFS than in previous releases.[2] That means the native git clone command is as fast as the (now deprecated) git lfs clone wrapper. With simultaneous object batching and transferring, you can expect dramatic performance improvements for tools that shell out to git clone or git checkout.

You’ll also find support for new transfer agents, release targets, documentation, and more—all of which are thanks to gracious contributions from the Git LFS open source community.


For more information about the Git LFS v2.3.0 release, check out the release notes.

The data science behind topic suggestions

Add topics to repositories

Earlier this year, we launched topics, a new feature that lets you tag repositories with descriptive words or phrases. Topics help you create connections between similar GitHub projects and explore them by type, technology, and other characteristics they have in common.

All public repositories show topic suggestions, so you can quickly tag repositories with relevant words and phrases. These suggestions are the result of some exciting data science work—in particular, a topic extraction framework based on text mining, natural language processing, and machine learning called repo-topix.

Learn more about repo-topix from the Engineering Blog

Topic suggestions close up

Now when you add or reject topics, you’re doing more than keeping projects organized. Every topic will contribute to surfacing connections and inspiring discovery across GitHub. Repository names, descriptions, and READMEs from millions of public projects serve as the very start of an ever-evolving knowledge graph of concepts. Eventually, the graph will map how these concepts relate to each other and to the code, people, and projects on GitHub.

Topics is part of a greater effort to use our public data to make meaningful improvements to how people discover, interact, and build on GitHub. We’ll be sharing more ways that data can improve the way you work at Universe—our flagship product and community conference.

Get tickets to GitHub Universe

GitHub for Unity 0.19-alpha released

GitHub for Unity 0.19-alpha

Our GitHub for Unity 0.19-alpha “Swashbuckler” release is now available with much improved Mac support, bug fixes, and performance improvements—many added by the community.

Here are a few highlights since our last Unity update.

Improved macOS support

GitHub for Unity for Mac should now have the same features and functionality (and bugs!) as the Windows version. Thanks to a custom fork of Axosoft’s NSFW library, our SFW Library provides us with a file watcher to refresh the UI consistently across platforms.

No more garbled commit messages!�

Goodbye U+FFFD � replacement character

Say goodbye to all those �s that you may have seen in your commit history. Thanks to @shiena, commit messages will start looking less like:

I � UNICODE!

And more like:

I ♥ UNICODE!

Thanks also to Dazzle for your commitment to open source.

Commit with style

Thanks again to @shiena, commit logs will now follow the recommended style, meaning they’ll look a lot less like this:

Increase the health of baddies by 1.75
Beta testers reported that defeating the baddies felt too easy.

And a lot more like this:

Increase the health of baddies by 1.75

Beta testers reported that defeating the baddies felt too easy.

This is beneficial for a variety of reasons, but consider the one person on your team who’s still using the command line. Commands like git log and git shortlog will be a lot more useful when the commit subject and body are clearly separated:

$ git log
commit 651733e0206a4a0c1b0e24d4a5b9e7c5973d47bf
Author: Lee Reilly <lee@github.com>
Date:   Thu Aug 24 13:37:00 2017 -0200

 Add Discord library

 Our players want to talk to one another, so this adds some basic
 integration to provide (1) basic text chat and (2) experimental
 voice chat.

commit fcf7d51d8d6d172e3d241cdbe7180f0a303e9292
Author: Don Okuda <don@github.com>
Date:   Wed Aug 23 21:18:28 2017 -0700

 Added some baddies

 Beta testers reported that defeating the baddies felt too easy.

Refactoring

Finally, @MunchyYDL applied best practices to our views and picked up the first of our up-for-grabs issues—specifically, using EditorGUI.BeginDisabledGroup() and EditorGUI.EndDisabledGroup() rather than setting GUI.enabled().

Oh, and congratulations on your first pull request, @MunchyYDL!

Marcus Christensen's first pull request

You’ll find the complete list of new features, improvements, and bug fixes in the release notes. Many thanks to our community for your contributions during the alpha.

Please note: If you’re upgrading to the latest version, the plugin location has moved to Assets/Plugins/GitHub. You’ll need to exit Unity completely and delete the Assets/Editor/GitHub folder before installing the latest version. Hey, we told you it was an alpha.


Be part of the Unity for GitHub Alpha

The alpha release is available for free to all GitHub and Unity users.

Download the latest release now

Easily filter review requests by team

Review requests are a great way to ask for review on software, and with the addition of team requests you can get the feedback you need faster.

To make it easier to find pull requests that need your review, you can now see them all alongside any team you’re a member of just by using the review-requested:nplasterer filter. If that’s not enough, and you’d like to search for team requests directly you can also use a team search: team-review-requested:github/octocats. This change will also be updating what displays in your global Review Request tab. A screenshot showing the global review requests dashboard

Qualifier Notes
review:none Returns pull requests that have not been reviewed
review:required Returns pull requests that have not been reviewed but have a protected branch
review:approved Returns approved pull requests
review:changes_requested Returns pull requests that have requested changes
reviewed-by:USERNAME Returns pull requests that have been reviewed by the specified user
review-requested:USERNAME Now returns pull requests that have direct requests and team requests
team-review-requested:TEAMNAME Returns pull requests with requests for the specified team

We hope this new search filter helps you organize your work and review code more efficiently! Check out the documentation to learn more, or drop any questions, comments, or feedback into our help form.

GitHub for Unity 0.16-alpha released

$GitHub for Unity 0.16-alpha

We announced GitHub for Unity at the Games Developer Conference back in March and open sourced it at Unite Europe in June. Thanks to our contributors and more than a month of effort, version 0.16-alpha is now available.

Download the latest release

Highlights from the release notes

Support for Unity 2017

GitHub for Unity now works with the latest Unity 2017 release.

Publish new repositories

Now you can publish repositories to GitHub without leaving the comfort of Unity.

You can now publish repositories in GitHub for Unity

Delete old branches

Branching is a safe and easy way to introduce new features, work on bug fixes, or experiment with that idea you had in the shower.

Whether your branch is meant for merging or just sharing with a teammate, you may want to delete it at some point. Now you can without switching to the command line or googling “How do I delete a Git branch both locally and remotely?”.

Delete old branches in GitHub for Unity

Special thanks to @CapnRat for leveling up the authentication workflow with github-for-unity/Unity/pull/58. You can now use Enter / Return as confirmation keys when you’re in the authentication flow.

Download the latest release of GitHub Unity, view the full release notes—or contribute back to help us reach version 1.0. Your feature requests, bug reports, and pull requests are all welcome. Onwards!

Changelog

Subscribe

Discover new ways to build better

Try Marketplace apps free for 14 days

Learn more