Skip to main content

Learning how Git works helps my development process greatly

It turns out knowing how Git works can help a great deal when using git.  Learning about git servers, bare repositories, and git hooks has streamlined my development process significantly.

I posted previously about how I do some Android app development work on my phone.  Then I use git, along with various other things, to get the code to my server.  On the server the apk is built, and then through other processes I get the apk back to my phone and installed so I can test it.


I have made some changes to that process since I started.  I'll go through what I was doing and point the changes.  So I have my app setup as a github repository.  I have an app on my phone called SGit that lets me check out the repository and do commits and push my changes back to the repository.  I also have an app called Quoda that I use for editing the code.  This part remains basically the same.  The only real change here is that I have setup a new remote in my repository that is actually on my local server.  So when I push my changes they go there instead of to the repository on github.com.

To make that work all I had to do was clone a bare repository in a new folder on my server.  To push from my phone I need ssh access to the server, but I already had that setup.  Now whether I am working on the server or on the phone I push to the new bare repository.  There is still a normal git repository on the server that I can work in.

Now the next major change is what happens after I push changes from my phone.  I used to use an SSL client app on my phone to connect to the server, run 'git pull' to get the changes, and then run 'ant debug' to create a new apk.  Now that the changes are pushed to my server I can use Git hooks to run a script whenever changes are pushed to that repository.  I setup a post-receive hook that does a git pull in the working repository on the server and then builds the apk.

The folder where the apk is created is also in my Dropbox folder, so I was getting the new apk on my phone from the Dropbox app.  There was always some delay here.  When working at home I recently started getting the apk over my local network to avoid this delay.  I have been having some issues with that, but I haven't figured it out yet.  The network just seems unreachable sometimes from my phone.  If I figure anything out there I'll post something about it.

I haven't had a chance to do much work yet using this new process, but it seems much more streamlined.  Like before, I'll post again if I find any other ways to optimize the workflow.

Comments

Popular posts from this blog

Getting Hidden App Data From Your Google Drive

Some Android applications use space on your Google Drive to store data.  You can't see this data by browsing drive the normal way.  You can get access to it if you get the access token from the app and do a few other things.

I use an app to keep some notes and other things.  They require getting the paid version of the app to backup your data.  I wanted to see if I could get it myself without paying for the app.  I found out how to do this from this Stackoverflow post http://stackoverflow.com/questions/22832104/see-hidden-app-data-in-google-drive.  The example there uses php. Since I have been learning Python recently, I decided to see if I could do the same thing with Python.

 There is a pretty good explanation of why you need to go through all the steps you need to go through to get your data in the accepted answer for that post, so I won't go into too much detail about that here.


Using The Coldfusion XMLValidate Function To Validate User Content

Sometimes you want to allow a limited set of HTML tags in user generated content.  This can be done with the XMLValidate function in Coldfusion as long as the content is valid XHTML.

Several years ago I read an article about escaping form values posted by Ben Nadel on his site www.bennadel.com. Some discussion came up in the comments about allowing a limited set of html tags for paragraphs, bold text, and so on.  I had a need to do this for forum comments on a site that I was working on. This site was written in Coldfusion so I was looking at some of the same options mentioned in Ben's article. I ended up doing something a little different though.

We were using TinyMCE for the forum comments. TinyMCE produces XHTML code so I was able to use Coldfusion's abilities to handle XML to accomplish this task. Using the XMLValidate function and an XML schema that was modified to accept a small list of tags and attributes the comments were correctly limited. Here is the relevant po…

Using IR codes from Broadlink backup file

This is a continuation of yesterdays post about the Broadlink RM2 wifi remote.  I was able to test out using the codes to control my remote today.  They are stored in JSON format in the broadlink backup file.  The backup file is a zip file.  After you extract it there is a folder named SharedData.  There are several files in the folder.  The one that seems to have all the codes is named jsonIrCode.  The data looks like an array of objects, each with a code and some other information.