Access Git repositories on the go. Clone, edit, commit and push while allowing other apps access to repositories.
Git is a important part of our work-life and iOS can take part in this. The ability to commit even when offline has added utility on a device that moves in and out of network coverage. Cloning repositories gets you a local copy on your iOS device with commits for all branches. You can browse the content from within the app and make changes. Other applications supporting the Files app, WebDAV or x-callback-url has access to these files. Changes made can be committed and the commits can in turn be pushed back to the remote.
The idea of doing significant programming on iOS might seem far fetched when you are used to a large screen, a physical keyboard and a full IDE. But just as it turned out that not every email is serious prose, then not everything that goes on in Git is significant programming. Sometimes you just want to update a TODO file or make adjustments to your Jekyll site. Sometimes you just need to add a file the designer sent after hours.
If you ever make reminders about small things to do with the code-base, then you should give Working Copy a try. You will spend less time moving stuff around and you will get much better commit messages when you write them for fixes that are still fresh in your mind. You won't be leaving your computer behind any time soon, but sometimes it is faster to just fix things with the device in your hand.
Even if you never edit a line of code on iOS, Working Copy is a great companion for reviewing and discussing code. Repositories are cross indexed and with powerful fuzzy search you can quickly jump from a symbol to the declaration or reverse from the declaration to all usages. A graph of your commits lets you zoom out for a overview of of the commit tree or zoom in for specifics about each commit, with speed and beauty you won’t find in desktop Git applications. Review the changes your files have gone through with a diff viewer that is great for text and images. There is even hex-dump mode for that obscure occasion.
Working Copy is a free download but you need to pay to unlock pro features such as the ability to push commits back to remote servers. There is no venture capital, large company or ads funding development and your support through in-app purchase directly sustains development.
Now you can edit and preview simultaneously.
If you connect a external display through a HDMI adapter or AirPlay a little monitor icon will appear in the top of the file content screen. Tapping this lets you enable and configure the external display preview. You can either make the preview scrolling follow your editor or scroll explicitly by dragging the thumbnail shown when configuring the external display.
External preview is a pro feature that is available to everyone that purchased the pro unlock within the last 12 months. If you purchased the pro upgrade more than a year ago you can upgrade the pro unlock at half price and get all current pro features unlocked as well as future pro features added the next year. The pro features you unlock are permanent and will not disappear after this year.
Previously it hasn't been possible to Merge or Pull to a repository with modified files. Now optimistic merging is attempted that auto-stashes modifications before merge and unstashes after merge. If unstash completes without conflicts, the result will be a merged repository with your modified files. When unstash has conflicts the merge will fail as it previously did when there was any kind of modified files.
Glitch is a online service and community for creating and remixing web apps. Now Working Copy has support for cloning Glich apps and pushing back changes you make. You can read more about this in the Glitch section of the Users' Guide.
Added support for "Grape for GitHub" such that references to GitHub.com can deep link into Grape. Enable this from the bottom of App Integration settings screen.
Fix such that "Save in Working Copy" always asks to Commit.
Fixed bug where syntax highlighting didn't work for some multibyte encodings.
Improved handling of submodules with internal modifications.
Many smaller fixes and improvements.
Finally you can use Git Large File Storage (LFS) for your repositories with large binary files such as videos, images or audio. You don't need to do anything and can clone repositories as you normally do. Working Copy will download all needed assets when you checkout commits and upload changes to LFS objects as you push.
Any LFS enabled repositories cloned before this update will have LFS pointers in your working directory instead of real objects. The easiest fix is to clone the repository again.
When using Git Large File Storage you shouldn't notice, but the implementation was rewritten from scratch to work on iOS, as the regular Git LFS implementation requires command-line Git and a shell. This kind of effort was possible because enough people are purchasing the Pro unlock to support full-time development. Thank you for this.
The editor tries hard to adapt to your repository settings. It looks for encoding and indentation style in files with Emacs headers such as
-*- tab-width: 4; charset: utf-8; -*-
and it has been doing frequency analysis to make qualified guesses when there was nothing in the file header.
Now it also looks at .editorconfig files and uses these when the file header itself doesn't convey anything but before trying frequency analysis. GitHub and many other development tools support .editorconfig files and you should consider adopting them.
Improved behaviour of indent and unindent on iPad, especially for files mixing tabs and spaces.
When looking at merge commits you are shown changes compared to the mainline parent instead of both parent commits.
Inside the Files app the .git directory can no longer be entered like regular directories as there was nothing regular about it.
It is very nice app!
I think it is the best git client of all for iOS.
But, I want a function.
This is "show changing status with line number on editor screen" like atom editor.
If you add this function, this app being perfect git client!