commit | 04122b7261319dae3abcaf0eb63af7ed937dc463 | [log] [tgz] |
---|---|---|
author | Mike Frysinger <vapier@google.com> | Wed Jul 31 23:32:58 2019 -0400 |
committer | Mike Frysinger <vapier@google.com> | Tue Feb 04 20:34:01 2020 +0000 |
tree | 4e8092cae702cd7b667b4cd95f1cfc5dbba221f3 | |
parent | f5525fb310f0aae2783d9ccf647cac967efb2600 [diff] |
manifest: add basic path checks for <copyfile> & <linkfile> Reject paths in <copyfile> & <linkfile> that point outside of their respective scopes. This validates paths while parsing the manifest as this should be quick & cheap: we don't access the filesystem as this code runs before we've synced. Bug: https://crbug.com/gerrit/11218 Change-Id: I8e17bb91f3f5b905a9d76391b29fbab4cb77aa58 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/232932 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Mike Frysinger <vapier@google.com> Reviewed-by: Michael Mortensen <mmortensen@google.com>
Repo is a tool built on top of Git. Repo helps manage many Git repositories, does the uploads to revision control systems, and automates parts of the development workflow. Repo is not meant to replace Git, only to make it easier to work with Git. The repo command is an executable Python script that you can put anywhere in your path.
Many distros include repo, so you might be able to install from there.
# Debian/Ubuntu. $ sudo apt-get install repo # Gentoo. $ sudo emerge dev-vcs/repo
You can install it manually as well as it's a single script.
$ mkdir -p ~/.bin $ PATH="${HOME}/.bin:${PATH}" $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/.bin/repo $ chmod a+rx ~/.bin/repo