Como faço para espelhar qualquer VCS exclusivo para o Ubuntu?

0

Sou estudante da UWyo pesquisando as diferenças de código-fonte. Eu tenho clonado repositórios git de distribuições de acordo com o seguinte:

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

Eu gostaria de saber para os engenheiros que estão por aí, se for possível simplesmente espelhar o servidor git que está executando as coisas (não o espelho do pacote). Eu sei que a maioria dos pacotes é realmente upstream no debian. . . mas algumas coisas mudam à medida que são contribuídas.

Como eu abordaria o espelhamento desse servidor? Quais são algumas das suas saídas para esse comando?

    
por thetoxicarcade 19.07.2015 / 07:44

2 respostas

1

Você não pode espelhar os servidores, você pode clonar os projetos.

Use o comando awk abaixo para uma execução a seco

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

Exemplo de saída

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

e este comando para clonar os repositórios, no meu caso 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
    
por A.B. 19.07.2015 / 13:09
0

Se você quer o código que está realmente empacotado no Ubuntu, patches e tudo, eles estão no Launchpad , facilmente clonado usando o Bazar . Tudo o que você precisa saber é o nome do pacote fonte de qualquer pacote.

Então você pode fazer:

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

Adaptando o código que você usou:

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