Some usages and understandings of repo
Repo is simply a script file called Git that is used to control the software project's repository configuration file, describing some dependencies between the software.
Under Google's Android project:
Repo is just a script from Google that calls git in a Python script, primarily the software repository for downloading and managing Android projects. (That is, he is used to manage a repository for git management)
1. Download repo address: Http://android.git.kernel.org/repo, you can use one of the following to download
Repo Curl Http://android.git.kernel.org/repo > ~/bin/repo
After the download is complete, you must modify the repo permissions:
chmod a+x ~/bin/repo
2. With repo sync when crawling Android source code, there are often errors that cause repo sync to break and start manually each time.
You can use the following command to automatically repeat
$?=1;
While [$?-ne 0]
Do
Repo Sync
Done
Or find the fetch attribute in the manifest.xml in the. Repo directory
Change into
Fetch= "git://android.git.linaro.org/"
Or find the review attribute in the manifest.xml in the. Repo directory
Change into
Review= "http://android-review.googlesource.com/" (change HTTPS to HTTP)
Get help:
Repo Help [command]//display command details
Example: Repo Help init for other uses of Repo init
3.repo init-u URL to install repository in the current directory, create a directory in the current directory. Repo the-u parameter specifies a URL,
Get the repository manifest file from this URL.
Example: Repo init-u git://android.git.kernel.org/platform/manifest.git
The obtained manifest file is placed in the. Repo directory. Name is manifest.xml. The content of this file is actually a list of all repositories managed by Git!
You can use the-m parameter to choose to get a specific manifest file in the repository, which is represented as the default manifest file (default.xml) if not specified.
Repo Init-u git://android.git.kernel.org/platform/manifest.git-m Dalvik-plus.xml (There are many manifest files for our selection, all
Manifest files are placed in the directory. Repo/manifests, the directory itself is managed by git, you can go to the CD to see it)
You can use the-b parameter to specify a manifest branch.
Repo Init-u git://android.git.kernel.org/platform/manifest.git-b release-1.0
You will find that. repo/manifests is a git-managed repository with all the manifest files (*.xml), because Git is a branch, and b can switch to the branch you want and then
Download the relevant XML file, of course, the specific download of the XML also depends on the-m parameter, so if you only specify-B and no-M, it is to download the Default.xml file under the-B specified branch
If you do not specify the-b parameter, the master branch is used by default
4.repo sync [project-list] Download the latest local working file, the update is successful, the local file and the code in the repository is the same.
You can specify which project needs to be updated, and if you do not specify any parameters, the entire project is synchronized.
If you are running Repo sync for the first time, this command is equivalent to Git clone, which copies everything in the repository to local. If you are not running Repo sync for the first time,
is equivalent to git remote update; Git rebase origin/branch. Repo Sync will update the. repo file below. If there is a conflict during the merge process, this needs to be run manually
Git rebase--continue
5.repo update[Project-list] Upload the modified code, if your local code has been modified, then run Repo sync, you will be prompted to upload the modified code,
All the modified code branches will be uploaded to Gerrit (Web-based Code review system), Gerrit the uploaded code will be converted to a change, allowing people to review the modified code.
6. Repo diff [Project-list] shows the difference between the submitted code and the current working directory code.
7. Repo Download target revision download the specific modified version to local,
Example: Repo download Pltform/frameworks/base 1241 download code with modified version 1241
8. Repo Start Newbranchname. Creates a new branch branch. "." represents the branch branch of the current work.
9. Repo prune [Project list] Delete the merge project
Repo foreach [project-lists]-C command to run command commands on each project
Repo status displays the state of each warehouse in project
Repo Forall-c
Under the Fedora operating system
The repo file is a configuration file for the Yum source (software repository) in fedora, typically a repo file defines the details of one or more repositories, such as where we will download packages that need to be installed or upgraded, and the settings in the repo file will be read and applied by Yum!
Yum's work is not complicated, and every RPM software's head (header) records the dependencies of the software, so if you can record the contents of the header and analyze it, you know what additional basic software is required for each software installation. That is, the server above the analysis tool to analyze all the RPM files, and then record the analysis, as long as the installation or upgrade to query the record of the file, you can know all the associated software. So Yum's basic workflow is as follows:
Server-side: All the RPM packages are stored on the server, and then the dependencies of each RPM file are analyzed with related functions, and the data is recorded in a specific directory on the server.
Client: If you need to install a software, first download the server record of the dependency relationship file (can be www or FTP), through the server-side download record data analysis, and then get all the relevant software, all at once downloaded to install.
A brief introduction to rope