Git Weirdness, Part 2
Ok, now this is just ridiculous:
[brian@machine1 airconfig $] pwd /home/brian/src/airconfig [brian@machine1 airconfig $] git branch -a advanced-ip-settings * master nm-frontend notification-rework reconnect origin/master origin/pre-hal [brian@machine1 airconfig $] cd .. && mkdir t && cd t [brian@machine1 t $] git clone ../airconfig Initialized empty Git repository in /home/brian/src/t/airconfig/.git/ [brian@machine1 t $] cd airconfig [brian@machine1 airconfig $] git branch -a * master origin/HEAD origin/advanced-ip-settings origin/master origin/nm-frontend origin/notification-rework origin/reconnect
Ok, that makes sense! Now:
[brian@machine1 airconfig $] cd .. [brian@machine1 t $] rm -rf airconfig [brian@machine1 t $] git clone file:///home/brian/src/airconfig Initialized empty Git repository in /home/brian/src/t/airconfig/.git/ remote: Counting objects: 1272, done. remote: Compressing objects: 100% (486/486), done. remote: Total 1272 (delta 778), reused 1270 (delta 776) Receiving objects: 100% (1272/1272), 360.40 KiB, done. Resolving deltas: 100% (778/778), done. [brian@machine1 t $] cd airconfig [brian@machine1 airconfig $] git branch -a * master origin/HEAD origin/advanced-ip-settings origin/master origin/pre-hal
What. The. Fuck.
Yes, the git-clone man page tells me that, when using a local pathname (and not using a file: URI), it assumes the other repo is local and uses hardlinks between the repos. But hey, if I specify --no-hardlinks when cloning, I still get all branches if I use the "../airconfig" method.
And if I go to machine2 and do "git clone machine1:src/airconfig" I get the same broken result with the file:// method.
Git, I think you rock. But why does your user interface suck so much? And why do you just appear to be broken right now? I can't seem to find anything else in the man page to help here. (I'm using git 1.6.1.3 if that matters.)
Git Weirdness, Part 2
Ok, now this is just ridiculous:
[brian@machine1 airconfig $] pwd /home/brian/src/airconfig [brian@machine1 airconfig $] git branch -a advanced-ip-settings * master nm-frontend notification-rework reconnect origin/master origin/pre-hal [brian@machine1 airconfig $] cd .. && mkdir t && cd t [brian@machine1 t $] git clone ../airconfig Initialized empty Git repository in /home/brian/src/t/airconfig/.git/ [brian@machine1 t $] cd airconfig [brian@machine1 airconfig $] git branch -a * master origin/HEAD origin/advanced-ip-settings origin/master origin/nm-frontend origin/notification-rework origin/reconnect
Ok, that makes sense! Now:
[brian@machine1 airconfig $] cd .. [brian@machine1 t $] rm -rf airconfig [brian@machine1 t $] git clone file:///home/brian/src/airconfig Initialized empty Git repository in /home/brian/src/t/airconfig/.git/ remote: Counting objects: 1272, done. remote: Compressing objects: 100% (486/486), done. remote: Total 1272 (delta 778), reused 1270 (delta 776) Receiving objects: 100% (1272/1272), 360.40 KiB, done. Resolving deltas: 100% (778/778), done. [brian@machine1 t $] cd airconfig [brian@machine1 airconfig $] git branch -a * master origin/HEAD origin/advanced-ip-settings origin/master origin/pre-hal
What. The. Fuck.
Yes, the git-clone man page tells me that, when using a local pathname (and not using a file: URI), it assumes the other repo is local and uses hardlinks between the repos. But hey, if I specify –no-hardlinks when cloning, I still get all branches if I use the “../airconfig” method.
And if I go to machine2 and do “git clone machine1:src/airconfig” I get the same broken result with the file:// method.
Git, I think you rock. But why does your user interface suck so much? And why do you just appear to be broken right now? I can’t seem to find anything else in the man page to help here. (I’m using git 1.6.1.3 if that matters.)
Git Weirdness
So I have a git repo on my machine at home, that’s cloned from a repo on git.xfce.org. I was doing some work in it the other day – in a private branch, not published to git.xfce.org – and I wanted to continue working on the private branch from another machine. But… it won’t work. Let’s say ‘machine1’ has the repo with the private branch, and ‘machine2’ is where I want to work today.
So, on machine2, I cloned from the master repo on git.xfce.org:
[brian@machine2 src $] git clone git@git.xfce.org:kelnos/airconfig [... stuff happens...] [brian@machine2 src $] cd airconfig [brian@machine2 airconfig $] git branch -a * master origin/master origin/pre-hal
Ok, cool, that’s what I expect. So I ssh over to machine1 (the one I eventually want to pull from), and I check out my list of branches there:
[brian@machine1 airconfig $] git branch -a advanced-ip-settings master * nm-frontend notification-rework reconnect origin/master origin/pre-hal
Ok, cool. the ‘nm-frontend’ branch is the one I want to pull to machine2. So on machine2, I do this:
[brian@machine2 airconfig $] git remote add machine1 machine1:src/airconfig [brian@machine2 airconfig $] git pull machine1 nm-frontend fatal: Couldn't find remote ref nm-frontend fatal: The remote end hung up unexpectedly
Uh… what? Do I have the wrong syntax? Ok, let me just try to pull everything from the remote:
[brian@machine2 airconfig $] git pull machine1 remote: Counting objects: 1085, done. remote: Compressing objects: 100% (301/301), done. remote: Total 1085 (delta 774), reused 1085 (delta 774) Receiving objects: 100% (1085/1085), 323.43 KiB | 14 KiB/s, done. Resolving deltas: 100% (774/774), done. From machine1:src/airconfig * [new branch] advanced-ip-settings -> machine1/advanced-ip-settings * [new branch] master -> machine1/master * [new branch] pre-hal -> machine1/pre-hal
And then at the bottom it prints out a message about not knowing which local branches to merge stuff into. That’s fine, no big deal. But… how come it pulled 3 of my local branches on machine1, but left off 2 of them (‘notification-rework’ and ‘nm-frontend’). No combination of src:dest refspecs seem to do the trick. Pulling one of the 3 branches it seems to like using the syntax I used above seems to work fine, but it can’t see the one I want. What am I doing wrong…?
Git Weirdness
So I have a git repo on my machine at home, that's cloned from a repo on git.xfce.org. I was doing some work in it the other day -- in a private branch, not published to git.xfce.org -- and I wanted to continue working on the private branch from another machine. But... it won't work. Let's say 'machine1' has the repo with the private branch, and 'machine2' is where I want to work today.
So, on machine2, I cloned from the master repo on git.xfce.org:
[brian@machine2 src $] git clone git@git.xfce.org:kelnos/airconfig [... stuff happens...] [brian@machine2 src $] cd airconfig [brian@machine2 airconfig $] git branch -a * master origin/master origin/pre-hal
Ok, cool, that's what I expect. So I ssh over to machine1 (the one I eventually want to pull from), and I check out my list of branches there:
[brian@machine1 airconfig $] git branch -a advanced-ip-settings master * nm-frontend notification-rework reconnect origin/master origin/pre-hal
Ok, cool. the 'nm-frontend' branch is the one I want to pull to machine2. So on machine2, I do this:
[brian@machine2 airconfig $] git remote add machine1 machine1:src/airconfig [brian@machine2 airconfig $] git pull machine1 nm-frontend fatal: Couldn't find remote ref nm-frontend fatal: The remote end hung up unexpectedly
Uh... what? Do I have the wrong syntax? Ok, let me just try to pull everything from the remote:
[brian@machine2 airconfig $] git pull machine1 remote: Counting objects: 1085, done. remote: Compressing objects: 100% (301/301), done. remote: Total 1085 (delta 774), reused 1085 (delta 774) Receiving objects: 100% (1085/1085), 323.43 KiB | 14 KiB/s, done. Resolving deltas: 100% (774/774), done. From machine1:src/airconfig * [new branch] advanced-ip-settings -> machine1/advanced-ip-settings * [new branch] master -> machine1/master * [new branch] pre-hal -> machine1/pre-hal
And then at the bottom it prints out a message about not knowing which local branches to merge stuff into. That's fine, no big deal. But... how come it pulled 3 of my local branches on machine1, but left off 2 of them ('notification-rework' and 'nm-frontend'). No combination of src:dest refspecs seem to do the trick. Pulling one of the 3 branches it seems to like using the syntax I used above seems to work fine, but it can't see the one I want. What am I doing wrong...?
Git Weirdness
So I have a git repo on my machine at home, that’s cloned from a repo on git.xfce.org. I was doing some work in it the other day — in a private branch, not published to git.xfce.org — and I wanted to continue working on the private branch from another machine. But… it won’t work. Let’s say ‘machine1′ has the repo with the private branch, and ‘machine2′ is where I want to work today.
So, on machine2, I cloned from the master repo on git.xfce.org:
[brian@machine2 src $] git clone git@git.xfce.org:kelnos/airconfig [... stuff happens...] [brian@machine2 src $] cd airconfig [brian@machine2 airconfig $] git branch -a * master origin/master origin/pre-hal
Ok, cool, that’s what I expect. So I ssh over to machine1 (the one I eventually want to pull from), and I check out my list of branches there:
[brian@machine1 airconfig $] git branch -a advanced-ip-settings master * nm-frontend notification-rework reconnect origin/master origin/pre-hal
Ok, cool. the ‘nm-frontend’ branch is the one I want to pull to machine2. So on machine2, I do this:
[brian@machine2 airconfig $] git remote add machine1 machine1:src/airconfig [brian@machine2 airconfig $] git pull machine1 nm-frontend fatal: Couldn't find remote ref nm-frontend fatal: The remote end hung up unexpectedly
Uh… what? Do I have the wrong syntax? Ok, let me just try to pull everything from the remote:
[brian@machine2 airconfig $] git pull machine1 remote: Counting objects: 1085, done. remote: Compressing objects: 100% (301/301), done. remote: Total 1085 (delta 774), reused 1085 (delta 774) Receiving objects: 100% (1085/1085), 323.43 KiB | 14 KiB/s, done. Resolving deltas: 100% (774/774), done. From machine1:src/airconfig * [new branch] advanced-ip-settings -> machine1/advanced-ip-settings * [new branch] master -> machine1/master * [new branch] pre-hal -> machine1/pre-hal
And then at the bottom it prints out a message about not knowing which local branches to merge stuff into. That’s fine, no big deal. But… how come it pulled 3 of my local branches on machine1, but left off 2 of them (‘notification-rework’ and ‘nm-frontend’). No combination of src:dest refspecs seem to do the trick. Pulling one of the 3 branches it seems to like using the syntax I used above seems to work fine, but it can’t see the one I want. What am I doing wrong…?
Xfce 4.6.0 Released
I’m a bit late with this, but we finally got Xfce 4.6.0 out the door. Others have written much more about this than I have, so feel free to read about it on our blog aggregator.Git Weirdness, Part 2
Ok, now this is just ridiculous: [brian@machine1 airconfig $] pwd /home/brian/src/airconfig [brian@machine1 airconfig $] git branch -a advanced-ip-settings * master nm-frontend notification-rework reconnect origin/master origin/pre-hal [brian@machine1 airconfig $] cd .. && mkdir t && cd t [brian@machine1 t $] git clone ../airconfig Initialized empty Git repository in /home/brian/src/t/airconfig/.git/ [brian@machine1 t $] cd airconfig [brian@machine1 airconfig [...]Getting Things Done Right
I've started to read Getting Things Done by David Allen some time ago. You can read about the concept of GTD at 43 Folders or Lunch & Learn if all you want is a short summary.
I think it's an interesting idea and it sounds very pragmatic and feasable. I'm a very unorganized person. I usually try to keep everything I need to do in my head and I rely on friends to remind me of birthdays, exams and other events because I don't have or use a calendar. I guess I'm a tough test candidate for GTD ... and I'm planning to give it a shot.
Now the only problem I see is the question which tools I should use. I'm not that much into paperwork, so I'd like to use my laptop for organizing my tasks. Of course you can use simple text files or other generic tools to do that (just like you can use paper) but that's really far from optimal.
About a week ago, a program called Getting Things Gnome! popped up on Planet GNOME and of course there is a number of online or offline tools designed after GTD available for Linux. Most of them allow you to define tasks, add notes, group them into projects and stuff like that. However, what they are missing is proper integration with other programs, online services and file formats. Notes are limited, they usually only consist of text, though sometimes they also support markup. In a lot of scenarios this is not enough (at least it is a very complicated way) to attach useful information to a task.
Just imagine the following situation: I receive an email from someone with a link and a few pictures and asks me to do something with them, e.g. upload these pictures to the website with the given link. If I want to make that a task, I'd like to be able to attach the pictures and the link to the task. So that afterwards I can trash the mail and thereby empty my inbox again. I don't necessarily want to keep it somewhere in my email program unless it has a really good search function.
Imagine another situation: Someone sends me an email describing a problem in my software together with a link to a bugzilla entry and a backtrace file. Let's say I'm working on a new release, there's a deadline for this release and the bug is critical. I'd like to create a task for that, attach the mail content and the backtrace file. Due to the deadline I also want to set the date this task is due and have my favorite calendar application being synchronized of course.
Basically, for a GTD application to be really useful in a computer environment, it
- has to allow arbitrary task attachments likes files, emails, links or even calendar events (possibly implemented as plugins),
- has to support calendar synchronization (off- and online),
- needs to provide extensions for programs that are part of the workflow so that the user can create tasks from anywhere,
- should use a storage format that can easily be converted into other formats (to make it easier for people to switch tools without losing all their tasks).
Of course there's more involved in getting it right. But most of todays GTD applications for Linux lack the above features and thus keep me from trying GTD out on my machine.
What are your experiences with GTD software? What features do you think are essential?
A Day Like Any Other
After having finished watching Barfly, I kinda felt like I had to sum up the day. It went like this:
- Wake up hungover at noon
- Raise 265€ during the day with a call for Xfce server donations
- Buy groceries and have breakfast at 6pm
- Work out at the gymn
- Eat pizza
- Review and commit a patch
- Watch Barfly
- Finish the day with a glass of Redbreast 12 Years Old
That's it.
There won't be many days like this in the next few weeks. I'm about to move in with a friend of mine at the beginning of next month. I'm going to start working on my thesis about Thunar next week. I still have a voluntary oral exam in software verification ahead of me in 12 days (I think ...) and of course I need to find someone to take over the appartment I'm currently living in. Lots and lots of things to keep me more than busy.
Xfce Buildbot Server – Call for Donations
We've talked about the possibility of an Xfce Buildbot server for a while now. Samuel Verstraete, a fellow Lunar Linux developer, and Thomas Dupas have offered to donate a server for that. The University of Stockholm has kindly accepted to house it. The main Lunar Linux/Foo Projects server is already located there and we've made very positive experiences with them in the past.
But right now the server is still in Belgium. Samuel has calculated that 87 EUR are needed for UPS shipment. The server currently has 2 GB of RAM which is not much considering that we're planning to run several virtual machines on it. So if we could gather 40 EUR for an another 4 GB of RAM that would be great! In addition its worth thinking about adding another CPU. The machine has two sockets of which only one is being used right now. That would add another 40 EUR.
So, all in all we're in need of 130-170 EUR here. This is why we'd be very happy if you people could help us out here.
Every donator will be personally mentioned on this weblog (and thus on blog.xfce.org) and on our mailing lists. Due to the lack an official PayPal account for Xfce, donations can be send to my account: info@sten-net.de.
A start has already been made by these people:
- Michael Marending (who donated to Thunar a while a go)
- Enrico Tröger
- Colin Leroy
- Michele Renda
- Madcap
- Harold Aling
- Christoph Borsbach
- Nick Schermer
- Jim Campbell
- Jean Philippe Neumann
- Brian J. Tarricone
- Maximilan Schleiss
- Fedora
- Alexander Zolotko
Current Status: 485/170 EUR
We'll post a final update in a few days, when the missing hardware has arrived at Samuel's place.
Thanks to everyone for making this happen so fast!