I truly find it hard to believe that there are a significant number of
people who would contribute, but don't, just because of the source
control technology used. Like I said previously I believe this
project's problems are people-related and not technology-related. The
two main contributors were previously employed at a company whose
product depended heavily on PoCo::MQ and that is no longer the case.
In the past year, no new serious contributors have come to the
project. I personally see the real solution to this problem being
something people-based and not technology-based.
However! I can see the argument coming that technology choices
influence people's interest in something. And there is only one way
to find out if using git would bring contributors, and that is:
empirically.
I'd be willing to setup an official GitHub mirror and advertise in the
POD docs that contributions via the git are accepted and welcome. If
it turns out that we start getting a significant number of
contributions via git and the bzr repo is only being used by me, I'll
switch. But until that is the case, I don't see any reason to make
any premature leaps. bzr and git are technologically equivalent
enough (please, no flames on this point!), that this wouldn't be a
technology-motivated decision, but rather a social one.
So, that said: Who is wants to help setting up the GitHub mirror? ;-)
Squeeks, I know that you did some work to import PoCo::MQ into git.
If you could give me your scripts or some instructions, that would be
much appreciated. I'll probably stash a script to do the voodoo in
the main branch and (if I have time) setup a hook to run when I commit
to the bzr branch, just so I can't forget.
I can't exactly say when I'll have time to hack on this but lets get
it set in motion.
Thank you,
David Snopek.
Getting it from Bazaar and into git isn't actually too hard if your
working copy of bazaar is in good order, you just need to install the
fast-import module(https://launchpad.net/bzr-fastimport), then just
call `bzr fast-export --plain devel.mainline/ pocomq-fastexport` to
export it out. Then somewhere else just create a new git repository
`git init`, and import it `git fast-import < pocomq-fastexport` and it
should just push straight in.
Getting incremental changes from Bazaar into git however isn't
something I've worked out, sadly. And I'd happily look at keeping the
git mirror running and up to date where possible, though since you
need to ditch, burn and import the lot in one hit, this could get
difficult with updates.
I can only speak for myself, and I can say that having this project
hosted on github would make it much more convenient for me to
contribute. I'm just recently wrapping my head around distributed
version control, and I am comfortable enough now to just fork a
project on github, commit, push, and request a pull. Easy enough.
Having to learn Bazaar is something I would like to avoid for the time
being, due to time constraints.
And here we have the code on GitHub:
http://github.com/dsnopek/POE--Component--MessageQueue
I experimented with some local bzr branchs and doing the cycle after
some changes to simulate progressive imports and, although I could be
missing something because I've never really used git, it actually
seemed to work as expected. Apparently, the bzr-fastimport module
supports doing progressive updates (when putting data into bzr)
according to its documentation here:
http://wiki.bazaar.canonical.com/BzrFastImport
So, maybe the git fast-import does as well?
I don't know where to look for to see if revision IDs have gotten
damaged between imports or anything like that. If anyone can point me
to the correct place that'd be awesome.
Anyway, I guess we'll just try it after we make some changes and see
what happens. Anyone got any changes? ;-)
Happy Hacking!
David Snopek.
I just made some changes to the Bazaar branch (for Naveed's patch for
rt #49666) and then mirrored it to the GitHub branch.
Can an experienced git user confirm that the branch on GitHub is all
in order? Like if you had a checkout of it from earlier and you
update that checkout, does it update same as if I had made the actual
changes directly in git?
Everything seems OK to me... If it turns out everything is good with
this method of git mirroring, I will put a note in the POD docs about
it which will go up with the next release. FYI, the next release is
only waiting on confirmation that bug #49666 is fixed and that the git
mirroring is OK.
Thanks!
David.