On 25 March 2015, Ben Fritz <[email protected]> wrote:
> On Wednesday, March 25, 2015 at 12:18:46 PM UTC-5, LCD 47 wrote:
> > On 25 March 2015, Ben Fritz wrote:
> > > On Wednesday, March 25, 2015 at 10:21:41 AM UTC-5, Bruno Sutic
> > > wrote:
> > > > I'm curious, when a switch is made, will Github's "pull request"
> > > > feature be used? Or will code contributions still be done with
> > > > patches via mailing list?
> > > >
> > > > I'd guess a move to "pull request" workflow will be done since
> > > > it's so effortless on github, but maybe I'm jumping the gun
> > > > here.
> > >
> > > I'd like to take this a step further:
> > >
> > > If pull requests will NOT be used, then does GitHub offer anything
> > > at all that we cannot get elsewhere? I.e. does it give any
> > > benefits beyond the fact that a lot of people are using Git?
> > >
> > > If Bram starts using pull requests, sure GitHub makes sense
> > > because a lot of people already have accounts there. But if
> > > not...BitBucket supports Git, Kiln supports Git and also adds the
> > > grouping of multiple repositories into one project, and there may
> > > be others.
> > >
> > > I think it would be nice to have an "official" Mercurial mirror,
> > > which isn't possible at GitHub. And I think an official mirror
> > > will be harder to maintain if we need to use multiple sites for
> > > it, especially if each site has a separate bug tracker.
> >
> > Mirroring can be done with a hook, either client-side (a
> > post-commit Git hook on Bram's machine that commits and pushes to
> > Mercurial), or server-side (a webhook on GitHub).
> >
> > Having multiple bug trackers is probably a bad idea, but bug
> > trackers can be disabled on the mirror sites.
> >
>
> I'm sure a hook would make it much easier for Bram to maintain a
> mirror. Would it actually work on the server side, though, since it
> requires a plugin to be installed to actually push from git to Hg or
> vice versa?
It might. It's a common problem, if you google for "deployment from
GitHub" there are >1 mil. results. GitHub has ready-made "webhooks" for
all sort of transfer tasks and notifications, there were ~100 of them
last time I checked, and I think you can even add your own (based, of
course, on GitHub's API). But I'd say simple is likely to be better
than complex. A client-side script on Bram's machine (and on all
commiters', if any other than Bram) would be more robust, and would work
just as well.
In principle it's possible to use git-hg bridges to work on Git
repositories with Mercurial, and the other way around. It mostly
works, but I wouldn't trust that for a repository as complex as Vim's.
What I had in mind was more mundane: a single set of files that would
be both a Git and a Mercurial repository. Git and Mercurial could
be made to ignore each other, by adding .git to .hgignore and by
adding .hg to .gitignore. Then a post-commit hook in Git could simply
commit the changes it just, err, committed to Mercurial. Some minimal
porcelain code could make sure only commits to the master branch would
get mirrored, so that things like squashes and amends could happen
undisturbed in feature branches. Tags could be mirrored the same
way (although I don't remember if that could be done from the same
post-commit hook).
Then the actual pushing of the Mercurial side of the repository to
Bitbucket (or whatever) could be done, say, every 15 minutes from cron.
Pushing a repository without changes is harmless, and a failed push
would just be retried at the next cron run. There's no need for the
cron job to be aware when or how the repository gets updated.
This would be simple and robust. It only needs minimal discipline
from the commiters, and doesn't need maintenance. I doubt you can do
substantially better with a webhook on the server side.
> I agree multiple bug trackers would be a bad idea, but I also think
> going to ONE location for both bug tracker and the repository is ideal.
>
> If Bram is using pull requests then maybe it's worth the extra hassle,
> due to having so many users already on GitHub. But if Bram is not going
> to use pull requests, then I think finding a provider that supports the
> following features would be best:
>
> * Ability to link a git and Mercurial repository together under one
> project/folder
> * Ability to have a shared issue tracker.
>
> Optional: automatic mirroring/conversion/syncing between the two systems
>
> I don't think BitBucket can do linked/organized repositories (there is
> an open issue:
> https://bitbucket.org/site/master/issue/2323/create-a-way-to-group-repositories)
> and I KNOW GitHub doesn't support Mercurial. I *think* Kiln can do these
> things (but maybe not the automatic mirror unless they re-enable their
> Harmony feature). Does anyone know of other sites that can do all these
> things and make it easy?
/lcd
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.