Go to file
Josh Steadmon 244c9a71a6 trace: allow writing traces to a socket
Git can write trace2 events to a Unix domain socket [1]. This can be
specified via Git's `trace2.eventTarget` config option, which we read to
determine where to log our own trace2 events. Currently, if the Git
config specifies a socket as the trace2 target, we fail to log any
traces.

Fix this by adding support for writing to a Unix domain socket,
following the same specification that Git supports.

[1]: https://git-scm.com/docs/api-trace2#_enabling_a_target

Change-Id: I928bc22ba04fba603a9132eb055141845fa48ab2
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/332339
Reviewed-by: Raman Tenneti <rtenneti@google.com>
Reviewed-by: Mike Frysinger <vapier@google.com>
Tested-by: Josh Steadmon <steadmon@google.com>
2022-03-16 17:33:07 +00:00
.github/workflows Drop support for Python 3.5 2021-06-03 11:34:17 +00:00
docs manifest_xml: group for submanifest projects 2022-02-28 20:08:58 +00:00
hooks Revert "commit-msg: Insert Change-Id at start of trailers" 2020-04-15 07:17:16 +00:00
man man: refresh pages 2021-11-12 17:30:45 +00:00
release sign-launcher: make the help text more automatic 2021-10-06 17:02:56 +00:00
subcmds Add multi-manifest support with <submanifest> element 2022-02-17 21:57:55 +00:00
tests trace: allow writing traces to a socket 2022-03-16 17:33:07 +00:00
.flake8 flake8: Suppress "E731 do not assign a lambda expression, use a def" 2020-02-15 03:41:17 +00:00
.gitattributes Adds additional crlf clobber avoidance. 2016-06-22 08:36:45 +00:00
.gitignore Add parallelism to 'branches' command 2020-12-14 23:35:12 +00:00
.gitreview git-review: add config file 2021-11-15 01:39:36 +00:00
.mailmap Update .mailmap 2020-02-13 04:49:55 +00:00
.project Set correct name in PyDev and Eclipse project config 2013-04-19 09:35:43 +09:00
.pydevproject Leverage the next keyword from python 2.7 2018-12-19 11:06:35 -08:00
color.py strip python2-only coding:utf-8 & print_function settings 2021-01-06 18:53:05 +00:00
command.py Add multi-manifest support with <submanifest> element 2022-02-17 21:57:55 +00:00
completion.bash bash-completion: complete projects with repo forall 2021-07-27 06:20:52 +00:00
editor.py strip python2-only coding:utf-8 & print_function settings 2021-01-06 18:53:05 +00:00
error.py help/version: sprinkle bug report URL around 2021-04-26 21:43:43 +00:00
event_log.py strip python2-only coding:utf-8 & print_function settings 2021-01-06 18:53:05 +00:00
fetch.py Support more url schemes for getting standalone manifest 2021-10-27 13:20:35 +00:00
git_command.py project: store objects in project-objects directly 2022-01-19 17:24:51 +00:00
git_config.py Fix typo for ValueError 2021-11-07 02:32:08 +00:00
git_refs.py git_refs: fix crash with binary . files in .git/refs/ 2021-02-28 16:07:24 +00:00
git_ssh add license header to a few more files 2019-06-13 13:23:19 -04:00
git_superproject.py Add multi-manifest support with <submanifest> element 2022-02-17 21:57:55 +00:00
git_trace2_event_log.py trace: allow writing traces to a socket 2022-03-16 17:33:07 +00:00
gitc_utils.py superproject: pass groups to ToXml method. 2021-03-11 01:24:52 +00:00
hooks.py drop pyversion & is_python3 checking 2021-01-06 18:53:58 +00:00
LICENSE setup.py: add basic packaging files 2019-12-02 04:23:31 +00:00
main.py Add multi-manifest support with <submanifest> element 2022-02-17 21:57:55 +00:00
manifest_xml.py manifest_xml: group for submanifest projects 2022-02-28 20:08:58 +00:00
MANIFEST.in setup.py: add basic packaging files 2019-12-02 04:23:31 +00:00
pager.py strip python2-only coding:utf-8 & print_function settings 2021-01-06 18:53:05 +00:00
platform_utils_win32.py drop pyversion & is_python3 checking 2021-01-06 18:53:58 +00:00
platform_utils.py make file removal a bit more robust 2021-09-28 16:06:50 +00:00
progress.py progress: hide progress bar when --quiet 2021-04-13 22:25:26 +00:00
project.py Add multi-manifest support with <submanifest> element 2022-02-17 21:57:55 +00:00
README.md README: use new bug template 2020-02-26 23:20:43 +00:00
repo init: add an option --enable-git-lfs-filter 2022-01-26 01:47:20 +00:00
repo_trace.py strip python2-only coding:utf-8 & print_function settings 2021-01-06 18:53:05 +00:00
requirements.json Drop support for Python 3.5 2021-06-03 11:34:17 +00:00
run_tests run_tests: fix pytest selection inside tox venv 2021-06-03 15:27:51 +00:00
setup.py Drop support for Python 3.5 2021-06-03 11:34:17 +00:00
ssh.py ssh: handle FileNotFoundError errors 2021-10-26 16:18:45 +00:00
SUBMITTING_PATCHES.md SUBMITTING_PATCHES: link to commit message style docs 2021-11-15 01:39:16 +00:00
tox.ini Drop support for Python 3.5 2021-06-03 11:34:17 +00:00
wrapper.py strip python2-only coding:utf-8 & print_function settings 2021-01-06 18:53:05 +00:00

repo

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.

Contact

Please use the repo-discuss mailing list or issue tracker for questions.

You can file a new bug report under the "repo" component.

Please do not e-mail individual developers for support. They do not have the bandwidth for it, and often times questions have already been asked on repo-discuss or bugs posted to the issue tracker. So please search those sites first.

Install

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