aboutsummaryrefslogtreecommitdiff
path: root/en/setup/develop/index.html
diff options
context:
space:
mode:
authorGina Dimino <gdimino@google.com>2021-07-12 16:35:38 -0700
committerGina Dimino <gdimino@google.com>2021-07-15 15:35:51 -0700
commitfc5fc0e74df003b0ee454d3418b88cd722282c49 (patch)
tree7fa97b880b85be7de5b713d233cdc407c20b88cd /en/setup/develop/index.html
parente55b3193405187e091a4ac7730ef04360ec04504 (diff)
downloadsource.android.com-fc5fc0e74df003b0ee454d3418b88cd722282c49.tar.gz
Remove obsolete sync directories for SAC
Test: N/A Change-Id: I5245330990d722ad4d15a0600532943840f30830
Diffstat (limited to 'en/setup/develop/index.html')
-rw-r--r--en/setup/develop/index.html407
1 files changed, 0 insertions, 407 deletions
diff --git a/en/setup/develop/index.html b/en/setup/develop/index.html
deleted file mode 100644
index 253f4759..00000000
--- a/en/setup/develop/index.html
+++ /dev/null
@@ -1,407 +0,0 @@
-<html devsite>
- <head>
- <title>Overview</title>
- <meta name="project_path" value="/_project.yaml" />
- <meta name="book_path" value="/_book.yaml" />
- </head>
- <body>
- <!--
- Copyright 2017 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
-<p>
- Working with Android code requires using <strong>Git</strong> (an open-source
- version control system) and <strong>Repo</strong> (a Google-built repository
- management tool that runs on top of Git).
-</p>
-
-<h2 id="git">Git</h2>
-
-<p>
- Git is designed to handle large projects that are distributed over multiple
- repositories. Android uses Git for local operations such as local branching,
- commits, diffs, and edits. One of the challenges in setting up the Android
- project was figuring out how to best support the outside community&mdash;from
- the hobbyist community to large OEMs building mass-market consumer devices. We
- wanted components to be replaceable, and we wanted interesting components to
- have a life of their own outside of Android. We first chose a distributed
- revision control system, then narrowed it down to Git.
-</p>
-
-<p>
- For more details on Git, refer to
- <a href="https://git-scm.com/documentation" class="external">Git
- Documentation</a>.
-</p>
-
-<h2 id="repo">Repo</h2>
-<p>
- Repo unifies Git repositories when necessary, performs uploads to the
- <a href="https://android-review.googlesource.com/">Gerrit revision control
- system</a>, and automates parts of the Android development workflow. Repo is
- not meant to replace Git, only to make it easier to work with Git in the
- context of Android. The repo command is an executable Python script that you
- can put anywhere in your path. In working with the Android source files, you
- use Repo for across-network operations. For example, with a single Repo
- command you can download files from multiple repositories into your local
- working directory.
-</p>
-
-<p>
- In most situations, you can use Git instead of Repo, or mix Repo and Git
- commands to form complex commands. However, using Repo for basic
- across-network operations will make your work much simpler. For more details
- on Repo, see the <a href="/setup/develop/repo">Repo Command Reference</a>.
-</p>
-
-<h2 id="other-tools">Other tools</h2>
-
-<p>
- Other tools include
- <a href="https://gerrit-review.googlesource.com/Documentation/" class="external">Gerrit</a>,
- a web-based code review system for projects that use Git. Gerrit encourages
- more centralized use of Git by allowing all authorized users to submit
- changes, which are automatically merged if they pass code review. In addition,
- Gerrit makes reviewing easier by displaying changes side-by-side in the
- browser and enabling inline comments.
-</p>
-
-<p>
- Finally,
- <a href="http://developer.android.com/tools/studio/index.html" class="external">Android
- Studio</a> is the official integrated development environment (IDE) for
- Android application development.
-</p>
-
-<h2 id="workflow">Workflow</h2>
-
-<p>
- Android development involves the following basic workflow:
-</p>
-
-<ol>
- <li>Start a new topic branch using <code>repo start</code>.
- </li>
- <li>Edit the files.
- </li>
- <li>Stage changes using <code>git add</code>.
- </li>
- <li>Commit changes using <code>git commit</code>.
- </li>
- <li>Upload changes to the review server using <code>repo upload</code>.
- </li>
-</ol>
-
-<h2 id="common-tasks">Common tasks</h2>
-
-<p>
- Working with Git and Repo in the Android code repositories involves
- performing the following common tasks:
-</p>
-
-<table>
- <tr>
- <th>Command</th>
- <th>Description</th>
- </tr>
- <tr>
- <td><code>repo init</code></td>
- <td>Initializes a new client.</td>
- </tr>
- <tr>
- <td><code>repo sync</code></td>
- <td>Syncs client to repositories.</td>
- </tr>
- <tr>
- <td><code>repo start</code></td>
- <td>Starts a new branch.</td>
- </tr>
- <tr>
- <td><code>repo status</code></td>
- <td>Shows status of current branch.</td>
- </tr>
- <tr>
- <td><code>repo upload</code></td>
- <td>Uploads changes to the review server.</td>
- </tr>
- <tr>
- <td><code>git add</code></td>
- <td>Stages files.</td>
- </tr>
- <tr>
- <td><code>git commit</code></td>
- <td>Commits staged files.</td>
- </tr>
- <tr>
- <td><code>git branch</code></td>
- <td>Shows current branches.</td>
- </tr>
- <tr>
- <td><code>git branch [branch]</code></td>
- <td>Creates new topic branch.</td>
- </tr>
- <tr>
- <td><code>git checkout [branch]</code></td>
- <td>Switches HEAD to specified branch.</td>
- </tr>
- <tr>
- <td><code>git merge [branch]</code></td>
- <td>Merges [branch] into current branch.</td>
- </tr>
- <tr>
- <td><code>git diff</code></td>
- <td>Shows diff of unstaged changes.</td>
- </tr>
- <tr>
- <td><code>git diff --cached</code></td>
- <td>Shows diff of staged changes.</td>
- </tr>
- <tr>
- <td><code>git log</code></td>
- <td>Shows history of current branch.</td>
- </tr>
- <tr>
- <td><code>git log m/[codeline]..</code></td>
- <td>Shows commits that are not pushed.</td>
- </tr>
-</table>
-
-<p>
- For information about using Repo to download source, see
- <a href="/setup/build/downloading">Downloading the Source</a> and the
- <a href="/setup/develop/repo">Repo Command Reference</a>.
-</p>
-
-<h3 id="synchronizing-clients">Synchronizing clients</h3>
-
-<p>
- To synchronize the files for all available projects:
-</p>
-<pre class="devsite-terminal devsite-click-to-copy">repo sync</pre>
-
-<p>
- To synchronize the files for selected projects:
-</p>
-<pre class="devsite-terminal devsite-click-to-copy">
-repo sync <var>PROJECT0 PROJECT1 ... PROJECTN</var>
-</pre>
-
-<h3 id="creating-topic-branches">Creating topic branches</h3>
-
-<p>
- Start a topic branch in your local work environment whenever you begin a
- change, such as when you begin work on a bug or new feature. A topic branch is
- <strong>not</strong> a copy of the original files; it is a pointer to a
- particular commit, which makes creating local branches and switching among
- them a lightweight operation. By using branches, you can isolate one aspect of
- your work from the others. For an interesting article about using topic
- branches, refer to
- <a href="http://www.kernel.org/pub/software/scm/git/docs/howto/separating-topic-branches.txt" class="external">Separating
- topic branches</a>.
-</p>
-
-<p>
- To start a topic branch using Repo, navigate to the project and run:
-</p>
-<pre class="devsite-terminal devsite-click-to-copy">
-repo start <var>BRANCH_NAME</var> .
-</pre>
-
-<p>
- The trailing period (.) represents the project in the current working
- directory.
-</p>
-
-<p>
- To verify the new branch was created:
-</p>
-<pre class="devsite-terminal devsite-click-to-copy">
-repo status .
-</pre>
-
-<h3 id="using-topic-branches">Using topic branches</h3>
-
-<p>To assign the branch to a specific project:</p>
-<pre class="devsite-terminal devsite-click-to-copy">
-repo start <var>BRANCH_NAME PROJECT_NAME</var>
-</pre>
-
-<p>For a list of all projects, refer to
- <a href="https://android.googlesource.com/" class="external">android.googlesource.com</a>.
-If you've already navigated to the project directory, just use a period to
-represent the current project.
-</p>
-
-<p>
- To switch to another branch in your local work environment:
-</p>
-<pre class="devsite-terminal devsite-click-to-copy">
-git checkout <var>BRANCH_NAME</var>
-</pre>
-
-<p>
- To view a list of existing branches:
-</p>
-<pre class="devsite-terminal devsite-click-to-copy">
-git branch
-</pre>
-
-<p>or</p>
-
-<pre class="devsite-terminal devsite-click-to-copy">
-repo branches
-</pre>
-
-<p>
- Both commands return the list of existing branches with the name of the
- current branch preceded by an asterisk (*).
-</p>
-
-<aside class="note"><strong>Note:</strong> A bug might cause <code>repo
-sync</code> to reset the local topic branch. If <code>git branch</code> shows *
-(no branch) after you run <code>repo sync</code>, run <code>git checkout</code>
-again.</aside>
-
-<h3 id="staging-files">Staging files</h3>
-
-<p>
- By default, Git notices but does not track the changes you make in a project.
- To tell Git to preserve your changes, you must mark or <em>stage</em> those
- changes for inclusion in a commit.
-</p>
-
-<p>
- To stage changes:
-</p>
-<pre class="devsite-terminal devsite-click-to-copy">
-git add
-</pre>
-
-<p>
- This command accepts arguments for files or directories within the project
- directory. Despite the name, <code>git add</code> does not simply add files to
- the git repository; it can also be used to stage file modifications and
- deletions.
-</p>
-
-<h3 id="viewing-client-status">Viewing client status</h3>
-
-<p>
- To list the state of files:
-</p>
-<pre class="devsite-terminal devsite-click-to-copy">
-repo status
-</pre>
-
-<p>
- To view uncommitted edits (local edits that are <strong>not</strong> marked for commit):
-</p>
-<pre class="devsite-terminal devsite-click-to-copy">
-repo diff
-</pre>
-
-<p>
- To view committed edits (located edits that <strong>are marked</strong> for
- commit), ensure you are in the project directory then run <code>git
- diff</code> with the <code>cached</code> argument:
-</p>
-<pre class="devsite-click-to-copy">
-<code class="devsite-terminal">cd <var>~/WORKING_DIRECTORY/PROJECT</var></code>
-<code class="devsite-terminal">git diff --cached</code>
-</pre>
-
-<h3 id="committing-changes">Committing changes</h3>
-
-<p>
- A <em>commit</em> is the basic unit of revision control in Git and consists of
- a snapshot of directory structure and file contents for the entire project. To
- create a commit in Git:
-</p>
-<pre class="devsite-terminal devsite-click-to-copy">
-git commit
-</pre>
-
-<p>
- When prompted for a commit message, provide a short (but helpful) message for
- changes submitted to AOSP. If you do not add a commit message, the commit is
- aborted.
-</p>
-
-<h3 id="uploading-changes-to-gerrit">Uploading changes to Gerrit</h3>
-
-<p>
- Update to the latest revision, then upload the change:
-</p>
-<pre class="devsite-click-to-copy">
-<code class="devsite-terminal">repo sync</code>
-<code class="devsite-terminal">repo upload</code>
-</pre>
-
-<p>
- This command returns a list of changes you have committed and prompts you to
- select the branches to upload to the review server. If there is only one
- branch, you will see a simple <code>y/n</code> prompt.
-</p>
-
-<h3 id="resolving-sync-conflicts">Resolving sync conflicts</h3>
-
-<p>
- If the <code>repo sync</code> command returns sync conflicts:
-</p>
-
-<ol>
- <li>View the files that are unmerged (status code = U).</li>
- <li>Edit the conflict regions as necessary.</li>
- <li>Change to the relevant project directory. Add and commit the affected
- files, then rebase the changes:
-<pre class="devsite-click-to-copy">
-<code class="devsite-terminal">git add .</code>
-<code class="devsite-terminal">git commit</code>
-<code class="devsite-terminal">git rebase --continue</code>
-</pre>
- </li>
- <li>After the rebase completes, start the entire sync again:
-<pre class="devsite-terminal devsite-click-to-copy">
-repo sync <var>PROJECT0 PROJECT1 ... PROJECTN</var>
-</pre>
- </li>
-</ol>
-
-<h3 id="cleaning-up-client-files">Cleaning up clients</h3>
-<p>
- After merging changes to Gerrit, update your local working directory then use
- <code>repo prune</code> to safely remove stale topic branches:
-</p>
-<pre class="devsite-click-to-copy">
-<code class="devsite-terminal">repo sync</code>
-<code class="devsite-terminal">repo prune</code>
-</pre>
-
-<h3 id="deleting-clients">Deleting clients</h3>
-<p>
- Because all state information is stored in your client, you only need to
- delete the directory from your filesystem:
-</p>
-<pre class="devsite-terminal devsite-click-to-copy">
-rm -rf <var>WORKING_DIRECTORY</var>
-</pre>
-
-<p>
- Deleting a client <em>permanently deletes</em> any changes you have not yet
- uploaded for review.
-</p>
-
- </body>
-</html>