[Israel.pm] Presentation request: workflow on github

sawyer x xsawyerx at gmail.com
Wed Sep 7 00:21:22 PDT 2011

On Mon, Sep 5, 2011 at 8:23 PM, Gabor Szabo <szabgab at gmail.com> wrote:

> Hi,


> I'd like to thank the great presentations of Sawyer.

thanks. :)

> I think I know a little bit more now about git and I am trying
> out gitflow.
> I have also cloned the https://github.com/xsawyerx/dotfiles and I'll
> try to use at least the git related things.

Funny, because with dotfiles I don't use gitflow. Then again, I have no need
for it there.
You also might find the following aliases useful:
alias feature='git flow feature'
alias release='git flow release'

I added them yesterday to dotfiles.git. Now you can do "feature start ..."
and "feature finish ..." (and the same with release) - I find it very

BTW, I should add instructions on how I use my dotfiles but basically:
1. Clone it under "code/personal" (at least it's where I put it)
2. cp git_term ~/.git_term
3. In ~/.bashrc I add: . ~/code/personal/dotfiles/bashrc
4. ln -s ~/code/personal/dotfiles/aliases ~/.aliases
5. Copy the aliases from gitconfig to ~/.gitconfig
6. cp vimrc ~/.vimrc

> I'd like to see another presentation on how you
> (yes, I am looking at you Sawyer :) is using Github.

I can do that.

1) Do you 'follow' project and/or people ?

Both. If there is a person I really like or find their work very interesting
I'll follow them. This is only on Github though. :)
I only follow 10 people, you among them.

I follow projects I contribute to, in order to know when they get updated
and with what. I also follow projects that I use, forks people made of my
projects, and I also get the distribution release feed from CPAN.

> 2) Do you visit the Github web site and browse to see what did these people
> do?

I usually won't. I find the interface in Github uncomfortable when wanting
to see what projects people are working on. It's a long list, and it's built
in big chunks of UI, so I have to scroll a lot to see the stuff. It won't
sort by what are original repos and what are forks (instead, it sorts by
date) so often times I'll see someone's fork instead of the original repo.

I usually know what people do by their CPAN identity, and I remember
relatively well who does what.

> 3) If you need to fix a project of someone else that is on Github,
> what is your workflow?

I used to just open an RT ticket and try to add a patch. Nowadays, I'll go
straight to Github and search for their project (!github PROJECT on my
DuckDuckGo! toolbar), fork it, start a branch with the fix, commit and send
a pull request. I try to add tests, as it helps get it integrated much

Recently I've added a new Perlbal feature using that workflow. It was merged
by Ask quite fast due to having a clean flow and tests included.

If there is no Github repo, I'll put a patch (or multiple patches of
consecutive commits) in an RT ticket on rt.cpan.org. Sometimes I'll email
the authors if I think it's very urgent or important or I know they're very
nice and communicative. For example, the author of Net::OpenSSH is very
responsive and very nice. I like emailing him directly when I need to. I've
also been recently emailed about projects I did (MetaCPAN::API,
App::Genpass) and it was fun contacting a user directly on a personal level.

If I'm unsure about a fix, I'll message the author first to get an
impression of it. Either a Github message, an email, or even IRC.

  What if you have several unrelated changes?

Multiple branches, multiple pull requests, multiple RT tickets.

> 4) How can the main author of the project handle the changes you pushed
> out?

They can either apply the pull request, or apply the patches, or close it
and ignore me. :)

Sometimes I'll just explain a problem (maybe give a line number or how I
suggest to generally fix it), they can then either fix it the way I
suggested or find their own way.

> 5) ... ?


Hope that helps,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.perl.org.il/pipermail/perl/attachments/20110907/0ef767ca/attachment.htm 

More information about the Perl mailing list