AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SVN-Branch mit automatischem Comit

Ein Thema von himitsu · begonnen am 7. Jun 2011 · letzter Beitrag vom 10. Aug 2011
Antwort Antwort
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#1

SVN-Branch mit automatischem Comit

  Alt 7. Jun 2011, 10:00
Moin,

ich hab da so eine Idee, aber keine Ahnung, ob/wie das geht.

Wir haben unser Projekt via Subversion gesichert.
Nun würde ich gerne einen "parallelen" Branch erzeugen, so für Testzwecke.

Wäre dann praktisch, wenn man nun Einzelteile davon manuell in den "Hauptentwicklungsbranch" kopieren/einfügen kann
und im Gegenzug "automatisch" alle Änderungen am Hauptbranch in diesen Testbranch kopiert würden.


Hat da wer Ideen/Tipps?
Miniaturansicht angehängter Grafiken
unbenannt.png  
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 7. Jun 2011 um 22:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.608 Beiträge
 
#2

AW: SVN-Branch mit utomatischem Comit

  Alt 7. Jun 2011, 10:22
Nein, das geht nicht. Du musst die Änderungen im Trunk immer manuell in Deinen aktuellen Entwicklungs-Branch mergen. Du kannst Dir allerdings ein Batchfile schreiben, was das automatisiert und dabei automatisch alle auftretenden Konflikte auf 'resolve all later' setzt.

Genau diese Konflikte sind nämlich das Problem. Wenn sich im trunk und in Deinem Branch an der gleichen Stelle etwas ändert, ist ein manueller Eingriff zwingend notwendig um das aufzulösen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#3

AW: SVN-Branch mit utomatischem Comit

  Alt 7. Jun 2011, 10:39
Zitat:
Wenn sich im trunk und in Deinem Branch an der gleichen Stelle etwas ändert, ist ein manueller Eingriff zwingend notwendig um das aufzulösen.
Das stimmt nicht ganz (auf den ztwingenden manuellen Eingriff bezogen), vielleicht hilft dir das weiter:
Es gibt für "Automatismen" dieser Art die command line switches

--accept theirs-full
--accept mine-full

um Konflikte auch ohne Interaktion zu lösen.

Also z.B.

svn resolve --accept mine-full
svn commit -m ""

(überschreibt alle Konflikte im repository mit deinen dateien)

und

svn update --accept theirs full

(überschreibt alle Konflikte in deiner working copy mit denen aus dem repository)

Um den Branch in den Trunk zu mergen, kannst du das ja auch serverseitig über einen Cronjob / Trigger etc. machen.


Einen guten Überblick über merge, branch, reintegrate (eigentlich genau das, was du machen willst, soweit ich das verstanden habe), findest du auch hier:
Subversion Howto Branch, Merge, Reintegrate

Geändert von blackfin ( 7. Jun 2011 um 10:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#4

AW: SVN-Branch mit utomatischem Comit

  Alt 7. Jun 2011, 14:13
Solange die Konflikte im SVN mit den aktuellen Daten des Hauptzweiges behoben werden, bleiben diese Änderungen ja erstmal in den lokalen Kopieen der Programmierer erhalten, wo man dann immernoch reagieren kann, beim nächsten Update.

Na dann mal sehn, ob ich da etwas hinbekomm.
Danke erstmal für die Hilfe.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#5

AW: SVN-Branch mit automatischem Comit

  Alt 10. Aug 2011, 14:24
Irgendwie bekomm ich es einfach nicht hin

also
- ich hab mit mal einen Test-Trunk erstellt "Test_1", mit zwei Dateien drin
- von diesem wurde ein Branch "Test_2" angelegt
- dann hab ich im Trunk "Test_1" eine der beiden Dateien geändert
- und nun kommt es ... jetzt wollte ich ein Merge von "Test_1" in die lokale Kopie des Branches "Test_2" machen

Code:
TortoiseProc /command:merge /path:"S:\Test_2" svn://.../Test_1 /closeonend:3

REM entspricht (aktives Verzeichnis = S:\Test_2)

SVN merge svn://.../Test_1
if ERRORLEVEL 1   PAUSE
Ergebnis:
Code:
--- Merging r6759 through r6798 into '.':
   C Neue Bitmap.bmp
   C Neues Textdokument.txt
Summary of conflicts:
  Tree conflicts: 2
Im Branch wurde lokal (noch) nichts verändert.
Im Trunk wurde nur die Textdatei verändert, aber das Bitmap ist noch so, wie zum Zeitpunkt der Brancherstellung.


Theoretisch dürfte es also mit dem Bitmap keinerlei Probleme geben, da es unverändert ist und da die Textdatei im Branch unverändert ist, wäre es doch ein Leichtes einfach die neuere Version aus'm Trunk zu mergen/importieren,
aber nee, es wird komplett gemeckert.

--accept theirs-full
--accept mine-full
--accept mine-conflict
haben auf den "svn"-Befehl keine Wirkung und TortoiseProc scheint da auch nichts zu kennen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz