10 Stimmen

Subversiv: Dateien innerhalb eines Tags-Ordners können nicht übertragen werden

Ich verwende Zend Studio 6.1 für Eclipse, das mit dem Subversive-Plugin ausgeliefert wird.

Mein Repo-Layout ist:

/trunk/
/branches/
/tags/

Mein Anwendungscode ist in:

/trunk/application

Ich versuche, einige Ansichtsvorlagen hinzuzufügen:

/trunk/application/views/tags/index.tpl

ABER Subversive lässt mich keine der Dateien in diesem Ordner übertragen. Die Meldung, die ich erhalte, lautet:

"Sie werden das Tag auf dem Repository ändern dem Repository ändern. Möchten Sie fortfahren?"

Ich sage also "nein". Es scheint meinen "Tags"-Ordner mit dem SVN-Konzept von Tags zu verwechseln.

Ich kann den Ordner nicht umbenennen, weil das Framework, das ich verwende, strenge Namenskonventionen zwischen Controller und Ansicht erzwingt. Ich habe einen tagsController, also müssen meine Ansichten in /views/tags sein

Ich könnte den Controller in etwas anderes als "Tags" umbenennen, aber das wäre blöd, denn ein Tag ist ein Tag und kein Schmag ;)

Haben Sie eine Idee, wie man dieses Problem umgehen kann?

20voto

RB. Punkte 35000

Es ist in der Tat in Ordnung, diese Warnung mit "Ja" zu beantworten.

Ein übliches Layout für die Versionskontrolle besteht aus 3 Stammordnern:

/trunk
/tags
/branches

Sobald ein Trunk-Build veröffentlicht wurde, wird der aktuelle Inhalt von Trunk in einen Ordner (z.B. "April 2008 Version 1.3" oder so) in Tags kopiert. Im Allgemeinen sollte dieser Ordner dann nicht verändert werden, da er ein bestimmtes Build zu einem bestimmten Zeitpunkt repräsentiert, so dass Subversion Sie warnt, wenn Sie versuchen, Dateien darin zu ändern.

In Ihrem Fall haben Sie jedoch einen Ordner, der zufällig "tags" heißt und eher Stammcode als getaggten Code enthält, so dass es vollkommen richtig ist, diese Warnung zu bejahen und mit der Übertragung fortzufahren.

Für weitere Informationen lesen Sie bitte das SVN-Buch, insbesondere Tags y Empfohlenes Repository-Layout

1voto

Keltia Punkte 14251

Vielleicht zu einem anderen Plugin wechseln? "Tags" und "Zweige" sind innerhalb von svn genau dasselbe, es ist nur die logische Sichtweise, die wir als Benutzer von beiden haben, die sie unterschiedlich macht. Sie sollten in der Lage sein - auch wenn es IMO keine gute Idee ist - hier zu committen.

Das ist übrigens einer meiner Kritikpunkte an svn, Zweige und Tags sind unterschiedliche Dinge.

1voto

John Stoneham Punkte 2445

Subversion versucht Sie nur zu warnen, dass Sie versehentlich ein Tag - d.h. eine gekennzeichnete Version des Codes - übertragen könnten, was Sie im normalen Gebrauch niemals tun würden.

In Ihrem Fall glaube ich, dass Sie einfach einen Ordner namens tags haben, in dem Sie an taglib-artigem Zeug arbeiten. Vielleicht sollten Sie ihn anders nennen, um die Warnung zu vermeiden, aber es klingt, als wäre sie in Ihrem Fall unbegründet.

0voto

Tamara Wijsman Punkte 12072

El Kofferraum sollte normalerweise die aktuelle Arbeitskopie Ihrer Anwendung darstellen, Zweigstellen sind dazu da, die Arbeit an einer früheren Version einer Anwendung zu unterstützen (wie z.B. bei Firefox, wo immer noch Fehlerkorrekturen für Version 2.0 veröffentlicht werden, während die letzte Version im Stamm ist). Tags werden nur verwendet, um eine bestimmte Version Ihrer Anwendung zu markieren, was es praktisch macht, zu überprüfen, wie der Code in einer bestimmten Version war.

Warum versuchen Sie, die getaggten Dateien zu ändern?

0voto

lo_fye Punkte 6738

Ich habe es endlich zum Laufen gebracht. Ich kann nur vermuten, dass es ein Fehler im Subversive Plugin von Zend Studio für Eclipse ist.

Wenn ich versuche, die Dateien im PHP-Explorer mit der rechten Maustaste anzuklicken, schlägt dies fehl. Wenn ich "Override and Commit" über "Team -> Synchronize with Repository" mache, funktioniert es gut.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X