Wie spiegele ich ein für Ubuntu einzigartiges VCS?

Wie spiegele ich ein für Ubuntu einzigartiges VCS?

Ich bin Student an der UWyo und untersuche Unterschiede im Quellcode. Ich habe Git-Repositorys von Distributionen geklont, die den folgenden Anforderungen entsprechen:

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

Ich würde für die Ingenieure da draußen gerne wissen, ob es machbar ist, einfach den Git-Server zu spiegeln, auf dem die Dinge laufen (nicht den Paketspiegel). Ich weiß, dass die meisten Pakete eigentlich Upstream in Debian sind … aber einige Dinge ändern sich, wenn sie beigesteuert werden.

Wie würde ich vorgehen, um diesen Server zu spiegeln? Was sind einige Ihrer Ausgaben für diesen Befehl?

Antwort1

Sie können die Server nicht spiegeln, Sie können die Projekte klonen.

Verwenden Sie den awkfolgenden Befehl für einen Probelauf

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

Beispielausgabe

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

und dieser Befehl zum Klonen der Repositories, in meinem Fall11.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

Antwort2

Wenn Sie den Code möchten, der tatsächlich in Ubuntu verpackt ist, Patches und alles, dann sind sie aufLaunchpad, einfach klonbar mitBasar. Sie müssen lediglich den Namen des Quellpakets eines bestimmten Pakets kennen.

Dann können Sie Folgendes tun:

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

Anpassen des von Ihnen verwendeten Codes:

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

verwandte Informationen