On 30/10/14 22:48, Gregory Szorc wrote:
> I'm trying to learn more about how the people who use Git for
> Firefox/Gecko development manage interacting with repositories that have
> their canonical home in Mercurial (mozilla-central, Try, etc). I'm doing
> this to ensure the replacement Try architecture will be usable by Git
> users.
> 
> I'm looking for more information and trying to tease out the relative
> popularity and pain points of the technical solutions for the following
> tasks:

Mostly just using gecko-dev + moz-git-tools.

> a) Landing code to inbound, fx-team, aurora, etc

git push-to-hg

> b) Pushing to Try

git push-to-try

> c) Fetching new commits

git pull

> d) Collaborating/sharing commits with others, especially hg<->git sharing

Honestly, my experience is that this doesn't happen too much at the
moment except via textual patches to bugs (git bz attach). It is maybe a
bit offtopic for this thread, but I find that compared to other
workflows I have experienced, the one for code that ends up in m-c seems
to strongly discourage collaboration. Maybe my experience isn't typical,
but as far as I can tell most bugs seem to be fixed by patches that are
primarily the work of a single author. If code review identifies
problems with a patch it is very difficult for anyone other than the
original author to step in and help fix those problems. This is because
there's no shared space where one can create branches that exist for the
lifetime of a bug or feature and allow multiple developers to
simultaneously contribute. Where larger projects absolutely require this
facility they have to take a high-overhead approach and go through the
process of renting a twig repository for the duration of their project.

Where I want to share wip code with others (or myself across machines) I
use github (my previous attempts to do this using mq were an unmitigated
disaster). However this is effectively read-only unless I go through the
effort of giving them write access to my gecko-dev fork, and they go
through the effort of adding a remote.

> I found https://etherpad.mozilla.org/moz-git-tools and the like-named
> GitHub repo with a suite of Mozilla-centric Git commands. These seem to
> be largely based on top of low-level patch format conversion and make
> little attempt (if any) to preserve commit SHA-1 mappings to enable
> bi-directional conversion (i.e. they are unidirectional, lossy tools).
> Many of them seem to have `hg` invocations buried under the covers.

Yes, but I find I only use these at the edges of my workflow and try to
stay inside git for as long as possible. This is imperfect of course.

> I'm interested in knowing how people feel about these "hidden hg" tools.
> Is going through a hidden, local hg bridge seamless? Satisfactory?
> Barely tolerable? A horrible pain point? (I noticed some of the hg
> interactions in moz-git-tools aren't optimal. If these are important
> tools, please ping me off list so I can help you improve them.)

It's satisfactory, but improvements would undoubtedly be productivity wins.

> Overall, how happy are you with your Git fetch/push workflows? Short of
> switching the canonical repositories to Git, what do you need to be more
> productive?

git push working seamlessly.

Switching to reviewboard makes this even more important.

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to