Как создать зеркало любой системы контроля версий, уникальной для Ubuntu?

Как создать зеркало любой системы контроля версий, уникальной для Ubuntu?

Я студент UWyo, исследующий различия в исходном коде. Я клонировал репозитории git из дистрибутивов, соответствующих следующему:

sudo cat /var/lib/apt/lists/* | grep Vcs-Git | awk '{print $2}' > ~/apt-sources

Я хотел бы узнать для инженеров, возможно ли просто зеркалировать сервер git, на котором что-то работает (не зеркало пакетов). Я знаю, что большинство пакетов на самом деле находятся в апстриме в Debian... но некоторые вещи меняются по мере добавления.

Как бы я подошел к зеркалированию этого сервера? Каковы некоторые из ваших выходов для этой команды?

решение1

Вы не можете зеркалировать серверы, вы можете клонировать проекты.

Используйте awkкоманду ниже для пробного запуска

find /var/lib/apt/lists/ -type f ! -name "*.gpg" ! -name "lock" -exec  awk '/Vcs-Git/ {print "git clone "$2}' {} \; | sort -u

Пример вывода

git clone https://gitlab.uncompleted.org/debian/postfwd.git
git clone https://gitlab.uncompleted.org/debian/ps-watcher.git
git clone https://git.torproject.org/debian/tor.git
git clone http://smarden.org/git/bcron.git/
git clone http://smarden.org/git/dash.git/
git clone http://smarden.org/git/ipsvd.git/
git clone http://smarden.org/git/twoftpd.git/
git clone http://smarden.org/git/ucspi-tcp.git/
git clone https://mod.gnutls.org/mod_gnutls
git clone https://repo.or.cz/r/git/debian.git/
git clone https://www.github.com/ioerror/tlsdate/
git clone http://tcosproject.org/git/p910nd.git
git clone http://tcosproject.org/git/tcosconfig.git
git clone http://tcosproject.org/git/tcos-configurator.git
git clone http://tcosproject.org/git/tcosmonitor.git
git clone http://uv-cdat.llnl.gov/git/cmip5-cmor-tables.git
git clone http://www.project-moonshot.org/git/moonshot.git
git clone http://www.project-moonshot.org/git/moonshot-ui.git

и эта команда для клонирования репозиториев, в моем случае11,818

mkdir -p ~/src
mkdir -p ~/src/mirror
cd ~/src/mirror
find /var/lib/apt/lists/ -type f ! -name "*.gpg" ! -name "lock" -exec  awk '/Vcs-Git/ {system("git clone "$2)}' {} \; | sort -u

решение2

Если вам нужен код, который действительно упакован в Ubuntu, с патчами и всем остальным, то они здесьСтартовая площадка, легко клонируется с помощьюБазар. Все, что вам нужно знать, — это имя исходного пакета любого пакета.

Затем вы можете сделать:

bzr branch lp:ubuntu/<source-package-name>

Адаптируем использованный вами код:

awk '/Source/{print $2}' /var/lib/apt/lists/*Packages | 
 sort -u | 
 xargs -i bzr branch lp:ubuntu/{}

Связанный контент