pywol: Python Wake on Lan
by Mike
I was looking for a reason to try GitHub out so I decided to release a module for doing Wake on Lan in Python.
It was actually the subject of my Code WTF post , so I thought I would jazz it up and put it up on GitHUB as well as commit the new version back into the project It originally came from.
It currently is unfinished but its in a state good enough to integrate into your project if you needed some code to handle Wake on Lan functionality. That being said, I will be adding some additions to it so it can be used from command line and a few other things.
anyway, check it out on GitHub, you can grab the code or branch it.
Aside: The verdict on git is that I like it alot. I also like GitHub alot. If am seriously considering upgrading my GitHub account and I have only used it for around an hour.
Comments
Mind filling us in on some of the specifics that you really like about git and GitHub? I’m not overly familiar with git so I’d love to hear about it more. Also, some specifics on what [you think] makes it better than SVN? Thanks
Well like I said Jason, I haven’t used Git very long, but the things I do like about it are mainly in the way its distributed. Main scenario that shows improvement is that if I was using a remote svn and my network was down I could not use svn at all(unless it was local to me), with git, all the changes are done local then pushed remotely and merged with the tree. So you can edit to your hearts content in your local branch all the while you are offline(or for as long as you want for that matter) then once you are ready to submit your main changes to the master tree you just push them. Its a little different because when you are working offline with svn no revision history is being saved or anything like that. Branching and Merging is also much less painful in Git, if you want to try out something funky with your source tree, branch it, if your funky experiment worked out, just merge it back in. Its easy as that.
As for GitHub besides easy integration with Git(which is what it is made for), it has some cool social features, a wiki, bug tracker, etc. However, I do wish it was a bit cheaper, $7 a month isn’t bad, but if you want people to be able to collaborate on a small project together then $12 is a bit more to pay. However, I guess you have to keep the lights on somehow, cannot begrudge a company that!
Oh Git also has some cool pastebin type features too, its pretty neat.
I like the idea of offline revision history. There’s been times where I made changes locally, then made more and forgot what the previous changes were. Unfortunately, I could only compare against the base revision. Definitely a nice feature.
The revisions you make locally, when pushed, are they merged into a single revision on the primary server or will each offline revision be considered its own revision when pushed also? Not that big of a deal but I’d love to be able to consider all offline revisions a single revision when pushed to the server.
Right now I have my desktop back in town set up for remote access. A bit of screwing around since Rogers blocks most of the major ports so I had to use alternate ports. If we weren’t so far into our project I’d consider giving it a go. Also, the fact that git isn’t a core feature of Trac, that would be a little inconvenient.
the trac thing is the big issue(but if you were using something like github it wouldn’t be, but of course, you would still have to pay like 7$), however, there is a hack to make trac work with Git http://trac-hacks.org/wiki/TracGitPlugin. As for the revision, I think the entire revision history is pushed as well(as to keep an accurate record of revisions) when they go to the server, I am not entirely sure , but I am guessing. I will test later and confirm.
Update: All revision history gets pushed to the server. you can see the behavior on my github account.
I created a new branch locally called development. Then I took that branch and made some commits locally then I pushed it all to the development branch in the repository.
And when you look at the revision history, it shows all the revisions from the branch it was taking from and all the revisions from the new branch. I assume when you merge it back into the original branch the revision history is copied as well, which is pretty smart as it gives you a true history of the files in your project.
Well, the reason I mentioned that was due to revision numbers. I don’t think it matters with git though, because from what I can tell revisions aren’t numbered. And yeah, I noticed the git plugin for Trac, but I’d rather avoid that and stick with things that are in the core. I think for just two of us working on the project, SVN will get the job done but next time I may look into git