• Link zu Xing
  • Link zu LinkedIn
  • Link zu X
  • Link zu Rss dieser Seite
  • Link zu GitHub
  • Newsletter
  • Kontaktieren Sie mich
Frank W. Rahn
  • Meine BlogbeiträgeZeigt meinen Blog an
  • RessourcenZeigt Ihnen eine Auswahl von Ressourcen
    • Franks aktueller IT-Werkzeugkasten
      • Diese Werkzeuge setze ich zur Zeit ein
    • Meine Präsentationen
      • Zeigt Ihnen meine Präsentationen
    • Weblinks
      • Meine Linksammlung
    • Buchtipps
      • Eine Liste von mir empfohlener Literatur
    • XML-Namespace
      • Zeigt meinem XML-Namespace
  • Franks aktueller IT-WerkzeugkastenDiese Werkzeuge setze ich zur Zeit ein
  • Meine PräsentationenZeigt Ihnen meine Präsentationen
  • WeblinksMeine Linksammlung
  • BuchtippsEine Liste von mir empfohlener Literatur
  • XML-NamespaceZeigt meinem XML-Namespace
  • Über mich …Die persönlichen Informationen über den Softwarearchitekt Frank Rahn
  • Click to open the search input field Click to open the search input field Suche
  • Menü Menü
Howto

Subversion einrichten, Sicherung einspielen und aus CVS importieren

Bild von Apache Subversion

Es soll ein Repository mit Subversion eingerichtet und ein Export mit vollständiger Historie, aus einem anderen Subversion bzw. CVS Repository, importiert werden.

Inhaltsverzeichnis [verstecken]

  • Aufsetzen eines Subversion Repositories
  • Exportieren und Importieren eines Subversion Repositories
  • Exportieren und Importieren eines CVS Repositories
  • Subversion auf einem QNAP NAS TS-409 einrichten
  • Die offene Punkte
  • Die Literaturempfehlungen

Aufsetzen eines Subversion Repositories

Nachdem die benötigte Software installiert und ein Benutzer svn sowie eine Benutzergruppe svn eingerichtet wurde, kann ein Subversion Repository angelegt werden. Dazu wird zuerst ein Ablageort erzeugt und ein rudimentäres Subversion Repository angelegt.

$ mkdir /srv/svn/repository
$ svnadmin create /srv/svn/repository

Dieses Subversion Repository muss nun dem Benutzer und der Benutzergruppe zu geordnet werden. Alle Benutzer dieses Subversion Repositories müssen der Benutzergruppe svn angehören.

$ chown -R svn /srv/svn/repository
$ chgrp -R svn /srv/svn/repository

Zusätzlich müssen alle Mitglieder der Benutzergruppe svn Schreibrecht auf das Subversion Repository haben. Allerdings wird das Schreib- und Leserecht auf die Konfiguration gleich wieder auf dem Benutzer svn beschränkt.

$ chmod -R g+w /srv/svn/repository
$ chmod -R go-rw /srv/svn/repository/conf
$ chmod -R o-r /srv/svn/repository/conf

Nun kann schon lokal auf das Subversion Repository z. B. mit …

$ svn list file:///srv/svn/repository

… zugegriffen werden. Da aber auch der entfernte Zugriff möglich sein soll, wird nun der Serverprozess gestartet.

$ svnserve -d

Der Standard-Port für den Subversion Server ist 3690. Mit dem Parameter --listen-port n kann ein anderer Port angegeben werden.

Damit nun auch die Benutzer zugreifen können, wird in der Datei conf/passwd die Benutzer mit ihren Passwörtern abgelegt. Diese Benutzer können dann über den Serverprozess auf das Subversion Repository zugreifen.

### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
# harry = harryssecret
# sally = sallyssecret
username = password

Danach müssen noch die Konfiguration conf/svnserve.conf für das Subversion Repository bearbeitet werden. Dort wird der generelle Zugriff für unautorisierte (Zeile 12) und autorisierte (Zeile 13) Benutzer bearbeitet. In der Zeile 20 wird der Dateiname mit den Passwörtern und in Zeile 32 der Name des Realm angegeben.

### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository. (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)

### Visit http://subversion.tigris.org/ for more information.

[general]
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are "write", "read",
### and "none". The sample settings below are the defaults.
anon-access = read
auth-access = write
### The password-db option controls the location of the password
### database file. Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control. Unless you specify a path
### starting with a /, the file's location is relative to the the
### directory containing this file. If you don't specify an
### authz-db, no path-based access control is done.
### Uncomment the line below to use the default authorization file.
# authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa. The default realm
### is repository's uuid.
realm = My Repository

Nun kann auf das Subversion Repository von außen zugegriffen werden.

$ svn list svn://localhost/srv/svn/repository

Exportieren und Importieren eines Subversion Repositories

Zunächst wird ein bestehenden Subversion Repository mit vollständiger Historie exportiert. Dieses muss im gleichen Dateisystem erfolgen, wo auch das Subversion Repository liegt.

$ svnadmin dump /srv/svn/projects > projects-dumpfile
* Dumped revision 0.
* Dumped revision 1.
* Dumped revision 2.
...

Als nächster Schritt wird im neuen Subversion Repository ein neues Verzeichnis projects angelegt.

$ svn mkdir -m "Initial projects root" file:///srv/svn/repository/projects
Committed revision 1.
$

Jetzt kann das alte Subversion Repository unter dem neuen Verzeichnis mit vollständiger Historie in das neue Subversion Repository eingespielt werden. Wiederum muss der Befehl im gleichen Dateisystem, wo das neue Subversion Repository liegt, durchgeführt werden.

$ svnadmin load /srv/svn/repository --parent-dir projects < projects-dumpfile
<<< Started new transaction, based on original revision 1
     * adding path : projects/... ... done.

------- Committed new rev 2 (loaded from original rev 1) >>>
...

Falls das alte Subversion Repository nicht unter dem neuen Verzeichnis abgelegt werden soll, so kann der Parameter --parent-dir weggelassen werden.

Liegen das alte und neue Subversion Repository im gleichen Dateisystem, kann auch folgender Befehl verwendet werden.

$ svnadmin dump /srv/svn/projects | svnadmin load /srv/svn/repository --parent-dir projects

Das neue Subversion Repository steht sofort nach den Änderungen bereit.

Exportieren und Importieren eines CVS Repositories

Zunächst wird ein bestehendes CVS Repository mit vollständiger Historie exportiert. Dazu muss unter Linux das Package cvs2svn installiert sein.

$ cvs2svn --dumpfile=projects-cvs2svn-dump --encoding=utf_8 /srv/cvs/projects

Nun wurde die Datei projects-cvs2svn-dump im aktuellen Verzeichnis erstellt. Diese kann nach dem Verfahren aus dem vorherigen Kapitel ins neue Subversion Repository mit vollständiger Historie importiert werden.

$ svnadmin load /srv/svn/repository --parent-dir projects < projects-cvs2svn-dump

Nun ist das alte CVS Repository mit allen seinen Historien im neuem Subversion Repository vorhanden.

Eine Alternative ist der folgende Befehl, wenn altes und neues Subversion Repository im gleichen Dateisystem liegen. Dieser kopiert direkt das alte CVS Repository mit allen Historien in das neue Subversion Repository.

$ cvs2svn -s /srv/svn/repository /srv/cvs/repository

Subversion auf einem QNAP NAS TS-409 einrichten

Auf Wunsch von Sven Müller, durch seinem Kommentar, habe ich hier noch beschrieben, wie auf einen QNAP TS-409 Pro Turbo NAS ein Subversion Repository angelegt werden kann.

Dazu über das Optware IPKG (Itsy Package Management System) der Subversion Server installiert werden. Das Optware IPKG ist ein Package Manager, welcher bei der Linux-Distribution für eingebettete Systeme OpenWRT verwendet wird.

Hinweis

Das Itsy Package Management System
wird nicht mehr weiterentwickelt.
Es gibt einen Fork opkg (Open PacKaGe management).

Zunächst wird die Software des Subversion Servers installiert.

[~] $ ipkg update
[~] $ ipkg install svn

Als nächstes muss das Starten des Subversion Servers im Init-Skript autorun.sh eingefügt werden. Dazu muss die Partition /dev/mtdblock5 mit den Init-Skripten gemounted werden.

[~] $ mount -t ext2 /dev/mtdblock5 /tmp/config
[~] $ vi /tmp/config/autorun.sh

In der Datei autorun.sh werden die folgende Befehle ab Zeile 3 angehangen.

#!/bin/sh

rm -ef /opt
ln -sf /share/MD0_DATA/optware/opt /opt

/opt/bin/svnserve -d --pid-file=/tmp/svnserve.pid

Nach dem Bearbeiten der Datei autorun.sh wird mit folgendem Befehl die Partition wieder ausgehangen.

[~] $ umount /tmp/config

Die offene Punkte

  • Den Zugriff über die HTTP/HTTPS Erweiterung WebDAV ermöglichen, dazu wird ein Apache 2-Webserver benötigt.
  • Upgrade von Subversion auf eine höhere Version.

Die Literaturempfehlungen

  • Apache Subversion
  • Apache Subversion
  • Offizielle Subversion Dokumentation
  • Versionskontrolle mit Subversion (*)
  • Über
  • Letzte Artikel
Frank Rahn
Frank Rahn
Frank Rahn ist Softwarearchitekt. Er unterstützt bei der Konzeption von Softwarearchitekturen mit Java-Technologie. Folge Sie ihm auf Facebook oder Twitter.

Benötigen Sie Unterstützung? Kontaktieren Sie ihn.

Hat Ihnen dieser Beitrag gefallen? Wir würden uns über Ihren Kommentar freuen! Bitte verwenden Sie Ihren bürgerlichen Namen.
Frank Rahn
Letzte Artikel von Frank Rahn (Alle anzeigen)
  • Wer ist der optimale Java Bean Mapper? - Freitag, 22. September 2023
  • Spring Boot Webanwendung: Die ersten Schritte (Tutorial) - Montag, 28. März 2016
  • Mainframe-Zugriff via Java - Sonntag, 04. Mai 2014
3 Kommentare/von Frank Rahn
Schlagworte: CVS, Linux, Shell, SVN
Eintrag teilen
  • Teilen auf X
  • Teilen auf WhatsApp
  • Teilen auf LinkedIn
  • Per E-Mail teilen
  • Teilen auf Xing
https://www.frank-rahn.de/wp-content/uploads/apache-subversion.png 1554 1800 Frank Rahn /wp-content/uploads/logo.png Frank Rahn2008-12-17 11:02:552021-07-10 16:21:27Subversion einrichten, Sicherung einspielen und aus CVS importieren
Das könnte Dich auch interessieren
Bild von den laufenden Prozesse unter Linux Finden eines versteckten Prozesses unter Linux
Bild einer Sicherungen von MySQL Datenbanken Sicherungen von MySQL Datenbanken
LVM: Logical Volume Manager LVM: Logisches Volume (zur Laufzeit) erweitern
Das Linux-Maskottchen: Pinguin Tux Flash BIOS unter Linux (Howto)
LVM: Logical Volume Manager LVM: Eine Festplatte einfach aus dem LVM nehmen
Die Stored Procedure "searchPersons" mit User-defined Types (UDT) Stored Procedure mit User-defined Types unter PostgreSQL
3 Kommentare
  1. S. Müller
    S. Müller sagte:
    Sonntag, 30. Januar 2011 um 11:36 Uhr

    Hallo Frank,

    da Du ja auch einen QNAP NAS hast, kannst Du mal beschreiben, wie man dort einen Subversion aufsetzt?

    Viele Grüße
    Sven

    Antworten
    • Frank Rahn
      Frank Rahn sagte:
      Sonntag, 30. Januar 2011 um 13:47 Uhr

      Hallo Sven,

      interessante Frage. Ich schaue mal, was ich machen kann.

      Viele Grüße
      Frank

      Antworten
    • Frank Rahn
      Frank Rahn sagte:
      Montag, 31. Januar 2011 um 16:13 Uhr

      Hallo Sven,

      ich hab das Installieren und Starten des Subversion Server beschrieben.

      Ein Repository hab ich, wie oben beschrieben, unter dem Verzeichnis /share/Repository angelegt.

      Viele Grüße und Spaß
      Frank

      Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Ihre E-Mail-Adresse wird nicht veröffentlicht. Ihr Kommentar wird verschlüsselt an meinen Server gesendet. Erforderliche Felder sind mit * markiert.

Weitere Informationen und Widerrufshinweise finden Sie in meiner Datenschutzerklärung.

Wollen Sie kein neuen Beiträge mehr verpassen?
Dann abonnieren Sie bitte meinen Newsletter.
Meinen Newsletter abonnieren

Themen

  • Wer ist der optimale Java Bean Mapper?
  • Einführung in das Spring Framework, Boot, Batch, Data, REST, Security, Web, …
  • Franks aktueller IT-Werkzeugkasten
  • Git, GitHub, EGit, …

Navigation

  • Buchtipps
  • Newsletter
  • Weblinks
Search Search

Werbung

  • JProfiler
Beliebt
  • Das Klassendiagramm für den Java Bean Mapper Test am Beispiel "ByHand"
    Wer ist der optimale Java Bean Mapper?Freitag, 22. September 2023 - 20:59 Uhr
  • Das offizielle Logo von EGit
    GitHub mit Eclipse (EGit)Freitag, 26. Oktober 2012 - 16:15 Uhr
  • Grobe Übersicht üder den Spring Framework Container
    Einführung in das Spring FrameworkSonntag, 01. Mai 2011 - 18:30 Uhr
  • Die Stored Procedure "searchPersons" mit User-defined Types (UDT)
    Spring und Stored Procedure mit User-defined Types (Tut...Freitag, 26. Oktober 2012 - 21:45 Uhr
  • Spring Boot Webanwendung
    Spring Boot Webanwendung: Die ersten Schritte (Tutorial...Montag, 28. März 2016 - 16:29 Uhr
Schlagworte
Annotations AOP Architektur Autorisierung Cookies CRUD DAO DI Git HTML HTTP IoC Java Java EE Java SE JPA JSR Linux MVC Open Source Software PDF POJO REST (RESTful) ROCA Self-contained Systems Serviceorientierte Shell Sicherheit (Security) SOAP Spring SQL SVN Test Toolchain URI URL URN User-defined Type Versionsverwaltung VPN Webservice WS-* WSDL XML XML-Schema

Blogarchiv

Links

Mastodon
Twitter
LinkedIn
Xing
GitHub

Lizenz

Creative Commons Lizenzvertrag Die Texte (nicht Bilder) von Frank Rahn stehen unter einer Creative Commons Namensnennung - Keine Bearbeitungen 4.0 Deutschland Lizenz.

Affiliate-Links

Die mit (*) gekennzeichnete Links sind sogenannte Affiliate-Links. Kommt über einen solchen Link ein Einkauf zustande, werde ich mit einer Provision beteiligt. Für Sie entstehen dabei keine Mehrkosten. Wo, wann und wie Sie ein Produkt kaufen, bleibt natürlich Ihnen überlassen.

Blogkategorien

Copyright © Frank W. Rahn
  • Impressum / HaftungsausschlussDie notwendigen gesetzlichen Angaben dieser Webseite von Frank Rahn
  • DatenschutzerklärungDie Datenschutzerklärung von Frank Rahn
  • NewsletterKeine neuen Beiträge mehr verpassen!
  • BildnachweisDer komplette Bildnachweis von Frank Rahn
Link to: LVM: Logisches Volume (zur Laufzeit) erweitern Link to: LVM: Logisches Volume (zur Laufzeit) erweitern LVM: Logisches Volume (zur Laufzeit) erweiternLVM: Logical Volume Manager Link to: Ein VPN mit einem SSH Tunnel aufbauen Link to: Ein VPN mit einem SSH Tunnel aufbauen Bild der Darstellung eines SSH TunnelsEin VPN mit einem SSH Tunnel aufbauen
Nach oben scrollen Nach oben scrollen Nach oben scrollen

Wir setzen auf unserer Webseite verschiedene Arten von Cookies ein, die auf Ihrem Gerät gespeichert werden. Einige dieser Cookies sind für die einwandfreie Funktion der Webseite notwendig, während andere Cookies Ihnen ein besseres Besuchererlebnis bieten.

DatenschutzerklärungImpressumAlle Cookies akzeptierenKeine Cookies akzeptierenIndividuelle Cookie-Einstellungen vornehmen

Cookie- und Datenschutzeinstellungen



Wie wir Cookies verwenden

Wir setzen auf unserer Webseite verschiedene Arten von Cookies ein, die auf Ihrem Gerät gespeichert werden.

Einige dieser Cookies sind für die einwandfreie Funktion der Webseite notwendig, während andere Cookies Ihnen ein besseres Besuchererlebnis bieten.

Klicken Sie links auf die verschiedenen Reitern, um mehr zu erfahren. Sie können auch einige Cookie-Einstellungen individuell anpassen. Beachten Sie, dass das Blockieren einiger Cookies die einwandfreie Funktion unserer Webseite beeinträchtigt.

Technisch notwendige Cookies

Diese Cookies sind unbedingt erforderlich, denn sie ermöglichen grundlegende Funktionen und sind für die einwandfreie Funktion der Webseite erforderlich.

Sie können diese Cookies jederzeit blockieren oder löschen, indem Sie Ihre Browsereinstellungen ändern und die Blockierung aller Cookies auf dieser Webseite erzwingen. Leider werden Sie dann immer wieder gefragt, ob Sie Cookies akzeptieren oder ablehnen wollen, wenn Sie unsere Webseite erneut besuchen.

Wir setzen die Cookies aviaPrivacyEssentialCookiesEnabled, aviaPrivacyMustOptInSetting, aviaPrivacyRefuseCookiesHideBar und aviaCookieConsent ein, um Ihre individuellen Cookie-Einstellungen zu speichern. Diese Informationen geben wir an keinen Drittanbietern weiter.

Diese Cookies haben eine Laufzeit von einem Jahr, dann müssen Sie die Einstellungen wiederholen.

Die VG WORT setzt das Sitzungscookie srp zur Messung von Zugriffen auf Texten, um die Kopierwahrscheinlichkeit des Textes zu erfassen. Damit partizipieren ich an den Ausschüttungen der VG WORT, welche die gesetzliche Vergütung für die Nutzungen urheberrechtlich geschützter Werke gemäß § 53 UrhG sicherstellen. Das Cookie wird dazu verwendet, um den Nutzer zu identifizieren und ggf. Daten mehrerer Aufrufe von Texten miteinander verknüpfen zu können.

Nach Angaben der VG WORT stellt das eingesetzte Verfahren sicher, dass einzelne Nutzer oder ihr Leseverhalten nicht ermittelbar sind, wenn die Anzahl der Textaufrufe gezählt wird. Alle von der VG Wort erfassten Daten werden sofort sicher verschlüsselt. Der Einsatz des Zählpixels wurde durch das Bayerische Landesamt für Datenschutzaufsicht begutachtet und als datenschutzkonform bewertet.

Datenschutzerklärung der VG WORT

Marketing-Cookies

Die Marketing-Cookies werden von Drittanbietern oder Publishern, wie z. B. Google Analytics, verwendet, um personalisierte Werbung anzuzeigen. Sie tun dies, indem sie Besucher über Webseiten hinweg verfolgen (Tracking).

Wir setzen keine Marketing-Cookies ein.

Datenschutzbestimmungen

Sie können unsere Cookies und Datenschutzeinstellungen im Detail in unserer Datenschutzerklärung nachlesen.

Cookie-Einstellungen übernehmenKeine Cookies akzeptieren
Nachrichtenleiste öffnen Nachrichtenleiste öffnen Nachrichtenleiste öffnen