gitfuchsia

Source for a build from fuchsia.dev vs the process to submit a change to fuchsia.googlesource.com?


Fuchsia > Guides -- Get Fuchsia source code seems to imply that git is involved in the downloading of the source for Fuchsia OS:

$ sudo apt-get install build-essential curl git python unzip

The actual commands for the download do not use git explicitly:

curl -s "https://fuchsia.googlesource.com/fuchsia/+/master/scripts/bootstrap?format=TEXT" | base64 --decode | bash

Fuchsia > Guides -- Contribute changes show a git command as the first step in the process of making a coding change to Fuchsia OS.

git checkout -b <branch_name>

What is the relationship of getting the source for a build from fuchsia.dev and the process to submit a change to fuchsia.googlesource.com?

For example, does one need to do these as two separate actions to different places or can one just jump in the middle of the downloaded sources from fuchsia.dev for the git commands as described in fuchsia.googlesource.com?


Solution

  • Fuchsia uses a tool called jiri to manage the multiple repositories that make up a complete Fuchsia build/development environment. You'll see that the boostrap script mentioned in your post makes use of this tool to do the checkout.

    After jiri is done making your environment for you, you can use git commands as per usual. jiri is just the tool used to make sure you have a consistent/working set across the multiple git repositories in the project.

    What is the relationship of getting the source for a build from fuchsia.dev and the process to submit a change to fuchsia.googlesource.com?

    Getting a development environment is best done with the jiri tool. You'll end up with a bunch of git repositories to which you can make changes. Those changes can be pushed via normal git/gerrit commands to submit code for review.

    For example, does one need to do these as two separate actions to different places or can one just jump in the middle of the downloaded sources from fuchsia.dev for the git commands as described in fuchsia.googlesource.com?

    The git repositories cloned by the jiri tool are suitable for doing development and pushing code for review. Their origin remotes should be correctly set up "out of the box" so to speak.