Qtopia
Qtopia (formerly QPE) is a user environment for handheld devices developed by
Trolltech, based on QtEmbedded.
There is also a fork of Qtopia called
Opie.
Qtopia 4
Trolltech is releasing snapshots of Qtopia 4.3.2 as nightly tarballs.
AsheeshLaroia is automatically (every night):
-
putting these into a git repository at git://git.asheesh.org/qtopia_snapshot.git
-
which is readable in a gitweb at http://git.asheesh.org/?p=qtopia_snapshot.git
Note that many snapshots contain the same contents; the automatic script only commits if the snapshots contains some new data.
How to use the git repository
Step 1: Create a clone
$ git clone git://git.asheesh.org/qtopia_snapshot.git $ cd qtopia_snapshot
Step 2: Switch to your preferred branch
You probably want to track the updates for your particular hardware, which would be maintained in a branch. For example:
$ git branch --track myphone origin/htcuniversal
This creates a local branch called "myphone" that tracks the updates found in the branch "htcuniversal" on the server.
If you want to track a different server-side branch than the htcuniversal, then just change that word.
$ git checkout myphone
This switches your local working copy to the "myphone" branch.
Step 3: Making local changes
If you want to make changes to your local branch, make the changes, then:
$ git commit -a -m "Fixed a bug in the bbq sandwich"
That commits your changes locally!
Step 4: Sharing your changes with others
If you want to publish your changes on the git.asheesh.org server, you must email your SSH public key to Asheesh Laroia <qtopia_snapshot@asheesh.org> and have him add it. Once you do that:
Step 4.1: Tell git you have write permission
-
Edit .git/config with your favorite editor.
-
Look for this line:
url = git://git.asheesh.org/qtopia_snapshot.git
-
Change it to:
url = git@git.asheesh.org:qtopia_snapshot.git
Step 4.2: Push your branch
$ git push origin myphone:refs/heads/myname
Above, "origin" refers to git.asheesh.org, and myphone refers to the name of the local branch you created. myname is the name of the remote branch you will keep in sync with your local copy.
Step 5: See your changes on the web
Now if you go to the
gitweb, you will see your branch listed at the bottom.
Step 6: Pulling in changes
In order to pull in changes as snapshots change, just do:
$ git fetch $ git merge origin/4.3.2-snapshot
In order to pull in changes from other people's branches, just do:
$ git fetch $ git rebase --interactive origin/htcuniversal
Step 7: Further git use
Removing your changes to a file and switching that file to the copy in someone else's branch
Let's say you've done this:
$ echo 'lol' > some_file $ git add some_file $ git commit -m 'I made it better'
But in the origin/htcuniversal branch, someone made changes that are so good, you want to switch to them:
$ git checkout origin/htcuniversal some_file $ git add some_file $ git commit -m 'htcuniversal version is even better'