+1,274
Planned
John Fowler 7 years ago • updated by GitSync 1 year ago 177 3 duplicates
Basic client support of checking out, updating, and committing.

For example Subversion, GIT, Mercurial.

Answer

+3
Answer
I've created a tutorial video and a blog post about how to use Git on iOS with Textastic and Working Copy:


Open command in Textastic 5.2Working Copy fully supports GitHub, BitBucket and your own privately hosted Git servers. It has support for Git over SSH, HTTPS and HTTP. With an In-App Purchase you can unlock push functionality.

In Textastic, you can use the "Open…" command that was added in Textastic 5.2 to invoke the iOS document picker and open a file from Working Copy and edit it in place without leaving the app.

More information is available in the blog post at: http://blach.io/2015/05/26/using-git-on-your-ipad-or-iphone-with-working-copy-and-textastic/

Duplicates 3

+6

Hello Alexander

Any progress regarding this?

+1

Textastic could be my primary app, and my ipad could be my primary device while traveling if this were to come to pass.  I very much like Textastic already, but if I could hook up to my bitbucket account, get, update, and check in code from my ipad, I would be...texstatic!  I would be willing to pay for this addition feature, but a subscription would not be fun.  Charge me <= 20 bucks one time and I'm in!

+1 git. 

Only thing keeping me from shelling out right now :D

-20

Any updates on this? There must be a way to implement git, there are several commercial GUI git app clients so this whole conversation around GPL and requiring a command line is not true and quite frustrating. Maybe the libraries you've looked at require that so find another way to integrate. If cost is the problem, then make Git, SVN, Mercurial in-app purchases. I'd be willing to pay another $3-5 for these features.


Stop making excuses and build it already.

+12

There are commercial Git clients for Mac OS X and Windows, but they don't violate the GPL because they just call unmodified Git binaries.

 

On Mac OS X for example, there is SourceTree. Here's the relevant part from their about screen:


"Git (GPL) - Unmodified binaries are included with SourceTree, source code is available at the URL above."


So, SourceTree comes bundled with unmodified Git binaries, but the app is not linked against them. The app just calls the bundled Git binary via the command line interface. This does not violate the GPL.


This is not possible on iOS. On iOS there are no command line tools. Everything needs to be statically linked to result in a single binary.


There is a promising library called libgit2 which can be used on iOS due to their more permissive license. Currently, it's missing essential features like SSH transport, pull and push. Those guys are working on this. When libgit2 adds these features, I can add Git support to Textastic. I considered helping to add these features to libgit2 and read a lot of the code already, but unfortunately writing a low-level C Git library is not my area of expertise.


So stop calling me a liar. I'm not making excuses.

+2

Time out - thanks again for the great text editor.  Future updates are always exciting, but as it sits right now, Textastic is THE BEST ipad text editor out there.

+4

David, that answer was out of line and made you look like an entitled fool.

+2

I would like github support as much as any of you... but i understand it's not a trivial add-on, and I truly appreciate Alexander's Textastic's feature set so far!


As a (temporary) "solution", I'm using github together with dropbox. When you clone your github repo in a dropbox directory, it is available within Textastic, where you can browse and edit the source code, which gets sync'ed back to the dropbox server. You will have to wait for access to your lap/desktop to commit those changes back to github, but at least you have been "productive" on your ipad. I realize it's not a complete solution, but it works... 

This is exactly what I'm doing as well. Not a perfect solution, but it finally gets me using the ipad to produce instead of consume.

-5

Face it guys: It ain't gonna happen. More than two years of begging... This leads nowhere... (Oldest comment by Sergey Stukov is 2 years old)

I've been trying to work around this for some time. The best workflow I've found (likely within this thread) was to use SSH on a remote server, sending files back from textastic to be synced. Not ideal, but it works.


What actually works best (by a long distance) in this scenario is diet coda - the remote copy step is pretty transparent, and the UI integrates the SSH nicely, I have a secure remote machine just to carry me over while waiting for this feature to arrive. Would almost be better off with ssh and Vim, but I'd miss the gestures for scrolling!


Besides, using an ipad wifi and a wifi mode (mifi) isn't easy - SSH use is not comfortable in any low-coverage scenario.


I've encountered "remote Dev" solutions that run on a semi-private server too. Not quite something I'm ready for.


As it happens, I did find something with "git integration" .. Worqshop for ipad integrates with GitHub directly using its APIs (i assume) - therefore circumventing the problem with an on-boarded GPL library. Still not ideal, since I still need a remote server to push to the production branch from.


So, still waiting in hope here... Rooting an android tablet to install Ubuntu and sublime text is looking more and more attractive (but still a long way off) :)


Still holding out for a textastic in-app purchase, Alex!! 

I'd throw money at a Kickstarter to get git. What would it take? FWIW, I have funded projects in KS in the past.

I'd throw lots of Kickstarter / IndieGoGo money on this, and/or an in-app purchase, even for just interacting with a GitHub repo, that's worth it on it's own. GitHub I'd say has the easiest reach (since I believe there's an API for it all, not just Git commands), and could be further modified to implement Git / SVN on their own, as soon as capabilities / libraries are made compatible.


http://developer.github.com/v3/git/commits/


I support the author either way, this is still hands down the best code app for iPad! Keep on keeping on, such a big fan!

Having git repo access would be great

+1

libgit2 is under GPL2 with linking exemption. This means you can link to the library with any program, commercial, open source or other. However, you cannot modify libgit2 and distribute it without supplying the source.


https://github.com/libgit2/libgit2

+1

Yes, that's why I'm going to be able to use libgit2. See my comment above:


There is a promising library called libgit2 which can be used on iOS due to their more permissive license. Currently, it's missing essential features like SSH transport, pull and push. Those guys are working on this. When libgit2 adds these features, I can add Git support to Textastic. I considered helping to add these features to libgit2 and read a lot of the code already, but unfortunately writing a low-level C Git library is not my area of expertise.
+1

awesome ... so it's "just" a matter of getting necessary features in libgit2. thanks for clarifying things!

-1

I really like the Textastic app but without git/svn support it begins to being more and more useless for me and after a year of waiting I realize that this feature will may never implemented.

That's the reality folks =(


(BTW: this dont mean Mr. Blach cannot reimplement it or something else... I think the costs are to high or there are no resources left to implement it)


IMHO

+1

+1 for git. Anyone know how http://worqshop.com/ imports and commits to github? even that much is very useful. I'd rather use textastic but worqshop lets me edit and commit to github

Yeah cool App but it has no Pull feature :(


this is exactly the functionality I'd like to request as well. I'd like to be able to work from a github branch, editing directly and submitting them back through textastic

+1
You can use git with textastic right now.  It is possible with a little jailbraking.  
Here's how. 
1. Jail break your ipad. 
2. Download Terminal and Backgrounder from cydia.  (Terminal is almost impossible to use without backgrounder)
3. Open the terminal.  In the root directory, you will see a folder called Applications.  All of your apps are stored in there. If you navigate into applications, you'll see a bunch of folders named with alphanumeric strings.  One of these folders is textastic, so use the command 'find -iname textastic' to find out which folder textastic is in.  Navigate to that folder.  
4.  In the textastic folder is a folder called Documents.  This folder contains of the documents you wrote in textastic, and has the same directory structure as your textastic app.  Go into Documents.  Navigate to the folder that you want to git.  
5.  Type git init to initialize your git repository in that folder
6.  Whenever you want to commit, switch over to the terminal and make your commit, then go back to happily coding in textastic. 
Congrats.  You are using git with textastic. 
If you open up that folder in textastic, you will notice that there is a .git folder.  
I have been using this setup to git my textastic projects without causing any problems with the textastic app.  
+1

Thanks for describing your approach. I'm sure it will be useful to some other users!


Here's a link to a blog post describing a similar method for Subversion: http://www.diturner.co.uk/2013/02/11/using-subversion-with-textastic-on-an-ipad/

+2

+1 for Git. There are Git.framework's that can be added - see GitMongo.

When can we expect that this feature is integrated? I'm really waiting on it!!


Thnx!

+1

Hi Alexander! Look at this new framework : https://github.com/octokit/octokit.objc

That's great for github , but only a portion of my work using git is hosted on github. Many of my customers maintain their own git repositories. So a library that is not github-specific would be more helpful. That said, even this would be a good step forward.

General git(svn/hg...) connectivity would no doubt be useful for some, but I think would be complex overkill for most; GitHub integration, however, would be fantastically useful for OSS developers, or indeed anyone using GitHub rather than DropBox to keep documents under version control in the cloud. At the very least, GitHub support would be a great (and far simpler) first step.


Integration via the GitHub ReSTful API requires no more than JSON over HTTP(S), exactly like DropBox (which you already support), and hence no extra client-side libraries on iOS, although as of last week GitHub have indeed extracted a free/MIT Objective-C library from their own Mac client. You could beat them (and no doubt, soon others) to an iOS client!


Links:

GitHub via HTTP

DropBox ReSTful API

GitHub API via Obj-C

Allowing the user to supply the repository endpoint would also immediately allow people to use a GitHub for Enterprise installation (via the same API)...

Hi Alex


How is the status on the integration of libgit2/Objective-Git?

Since it's on version 0.2 it had a leap since your last comment.

Did they integrate pull and push?


Would love to know the progress.

Hi Alex,


just got my Brydge from the state's and am in the process of getting my editor... By stating that you plan to integrate GIT you would make my decision much easier! ;-)


Greetz

Mirco

I would still love integrated git support, but since I applied the jailbreak and can use git from a terminal session I have been able to use Textastic with git for all my projects. Jailbreak really isn't that hard for all you techies and having git support is completely worth it.

+1

Is there any news on this topic?

+2

I think no, the desktop version seems to be more important for him. At least no news in terms of the important issues for Textastic iOS. Sad... :(

+3
I vote for SVN and GIT please.
How about a sandboxed SSH client that can do command line open sourced version controll tools,
the problem with jailbreaking (which I am all for and have done) is that it is not permitted by most organisations 
that will let you connect to their network, ergo the dichotomy and thus we can't jailbeak to get to our enterprise repositories.
+1 for both Git and Mercurial.
+2
I can't believe this feature has been so delayed. It's critical for any serious tech editor.
I just moved away from textastic to sublime text on my tweaked chromebook. I understand that, basically, all of git needed to be re-licensed, but there are workarounds such as using GIT via API access to github and JS-GIT 
This is the only reason I jailbreak! It is so I can install git natively to clone into my Textastic documents folder. Relying on ftp in this day and age is not sufficient anymore.

This should be *ridiculously* easy to implement, because git is open source. With all due respect, Mr. Blach, dear author of the best iOS text editor by a WIDE margin, please just plop git into your code and let us clone, check out branches, and push items in the Textastic documents folder. It will be really easy to implement. I beg you! 

Really getting tired of iOS 7.0.4's crashy Safari.  Cannot upgrade to 7.1 because I need git support for Textastic.
+2
I agree. This is literally the only reason I jailbreak. Please bump this feature up. Add it as an in-app purchase to recoup the cost. I'll gladly buy the feature to have git and svn support.
Same, I had to jailbreak my iPad to sync files into Textastic. I am happy with GIT and/or selective RSYNC...
+2
i gave up waiting for this feature and just don't use textastic anymore ... wasted money ...
+7
Came here looking for a text editor that supports git. Sad to see it's been discussed for so long without any action. Guess I'll be passing this one up for now. 
+2
+1 for git.
shame this has taken so long. Guess will have to move away from textastic. Wasted money.
+6
Wow, 3 years of git feature request comments here, and git is still not available for the best iOS programming editor. That's a shame, because textastic really is the best otherwise.
+2
Check out Working Copy App.  I have no affiliation. Just a very happy user of both pieces of software.    It is git for iOS.  With the upgrade from today, you can use textastic to edit a file that is in a git repo in the Working Copy App.  After editing the file, it shows in the Working Copy App as a change in the repo and you can commit it then push it.
+2
I've worked closely with the author of Working Copy. Version 1.2 of Working Copy is currently waiting for review at Apple, but is required to properly work with Textastic. I hope it gets approved soon.
This is great news! Working Copy looks like the git solution we've been waiting for.
I'm on the Working Copy beta, and it works OK with Textastic. I'd like the file picker to be a little easier to use (i.e., I miss the smoothness of having the sidebar with the file tree, and would like to be able to edit an entire folder easily), but I suppose that'll only improve.
The document picker is completely provided by iOS and can't be customized (including the storage provider selection menu), so it would be up to Apple to improve it. Maybe in iOS 9? :)
Yeah, I downloaded the WC beta, and file editing does work now. it wanted me to repurchase to push, so I'll just wait until the release version is approved.
Me too, as I just purchased both for iOS8.
Currently, when you try to select working copy as the place to open files from, the action sheet dismisses itself right when it's about to display the list of files you can open.
Unfortunately, working copy does not support ssh tunnels so not very useful. Our policy is to not expose non ssh ports to the internet. iRepoEditor (which uses svn) used to, but, maintenance stopped a year or two ago.  
I'm not sure what you mean. I can successfully clone repositories over SSH with Working Copy.

Did you contact Anders Borum, the author of Working Copy? Usually he is very responsive.
Of course I contacted him, he said it does not support ssh tunnels. He did know what they are. A tunnel is a way to connect to ports on a server "locally", being relayed via ssh. It's a special sort of connection. Becoming more and more common. Here's a sample explanation: http://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examples.html
I did use SSH tunnels in the past, so I do know what they are. I thought that you maybe just meant git over ssh, sorry for the misunderstanding.
Textastic/Working Copy integration is fantastic. One problem however when trying to use it on my Jekyll Blog - my post folder has over a thousand items and the file picker does not allow you to list the most recent items first, requiring one to do a lot of scrolling. If this could be fixed with a sort command, or by making the most recent files go to the top by default that would be great! Cheers.
You can use the Recent Files list in Textastic to open recently opened external files. Different sorting of the file picker list would have to be implemented in the Working Copy file picker extension, not in Textastic.
+3
Answer
I've created a tutorial video and a blog post about how to use Git on iOS with Textastic and Working Copy:


Open command in Textastic 5.2Working Copy fully supports GitHub, BitBucket and your own privately hosted Git servers. It has support for Git over SSH, HTTPS and HTTP. With an In-App Purchase you can unlock push functionality.

In Textastic, you can use the "Open…" command that was added in Textastic 5.2 to invoke the iOS document picker and open a file from Working Copy and edit it in place without leaving the app.

More information is available in the blog post at: http://blach.io/2015/05/26/using-git-on-your-ipad-or-iphone-with-working-copy-and-textastic/
We have been working on a Git app for iPad and iPhone called Git2Go. The next version will also support Document Providers to save documents back into Git2Go. It makes the whole git process dead simple as you want it from an iOS app. Check it out: git2go.com


Git2go seems to use objective-git. So i guess textastic isnt far behind? Let me know if you need some implementation help. Currently working on implementing this in my own ios project. Happy new year Blach!!