Frage

Ich habe ein Projekt, das mithilfe von Subversion und VisualSVN quellgesteuert wird.Da die Version von web.config auf dem Server und auf den Computern der Entwickler unterschiedlich ist, möchte ich, dass die Datei auf den Computern verbleibt, aber von Subversion ignoriert wird.Ich habe es zu svn:ignore hinzugefügt, aber es bleibt bestehen (und hat auch immer noch ein rotes Ausrufezeichen, da wir es nicht festschreiben).

Wie kann ich es sicher aus Subversion entfernen, ohne dass es aus dem Dateisystem gelöscht wird?

Danke, Adin

War es hilfreich?

Lösung

Sie werden sowohl das Entfernen zu tun haben, und den Betrieb ignorieren

  • zunächst eine Sicherungskopie Ihrer lokalen Datei machen (wie @ibz sagte)
  • entfernen Sie die web.config aus dem Repository.
  • kopieren Sie die web.config in den gleichen Ordner zurück
  • schließlich svn: ignorieren, so dass Subversion nicht versucht, es hinzuzufügen wieder in das Repository

da ich tortoisesvn i verwenden, können Sie nicht wirklich sagen, was SVN-Befehle, die Sie verwenden müssen, aber mit tortoisesvn es wäre:

  • make backup
  • Rechtsklick auf web.config auf den Ordner unter Quellcodeverwaltung, wählen Sie TortoiseSVN | Löschen
  • Rechtsklick auf web.config auf dem Ordner unter Quellcodeverwaltung, wählen Sie SVN Commit => danach werden Sie feststellen, dass die Datei tatsächlich aus dem Dateisystem gelöscht
  • nach oben und der rechten Maustaste auf den Ordner unter Quellcodeverwaltung, wählen Sie TortoiseSVN | Eigenschaften
  • auf Eigenschaftenfenster klicken Sie auf neu + Eigenschaftsname „svn: ignore“; Eigenschaftswert „web.config“. Änderungen übernehmen
  • commit Änderungen

auf meine .net-Projekte i gehören die folgenden Ausschluss mit svn: ignore: bin, OBJ, * .suo, * .user

Andere Tipps

Idealerweise sollten Sie Versionen von Server-Kopie von web.config halten auch in SVN. Wir benennen in der Regel die Produktion web.config web.config.prod (eine Kopie für jede der Umgebungen) und haben das Build-Tool die richtige Datei auswählen und benennen Sie sie in web.config zurück, während für die Bereitstellung von Verpackungen.

svn rm --force web.config
svn commit

Achten Sie darauf, Ihre lokale Kopie zu sichern (von web.config), bevor dies zu tun, da es gelöscht wird.

Ich habe dieses Problem mit Nant mit Ccnet gelöst. Nach Nant Build-Skript ersetzt web.test.config Datei mit lokaler web.config-Datei;

<?xml version="1.0"?>
    <project name="Project1" default="build">
      <target name="init" depends="clean" />
      <target name="clean" />
      <target name="checkout"/>
      <target name="compile"/>
      <target name="deploy"/>
      <target name="test"/>
      <target name="inspect"/>
      <target name="build" depends="init, checkout">
        <call target="compile" />
        <call target="inspect" />
        <call target="test" />
        <call target="deploy" />
      </target>

      <copy file="..\TestDeployments\Project1\Project1.Solution\Project1.Web.UI\web.Test.config" 
          tofile="..\TestDeployments\Project1\Project1.Solution\Project1.Web.UI\web.config" 
          overwrite="true" 
       />
       <delete file="..\TestDeployments\Project1\Project1.Solution\Project1.Web.UI\web.Test.config" />

    </project>

NAnt Aufgabe kopieren

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top