Einstellen der SVN „Ausführen“ Bit in einer Subversion-Repository TortoiseSVN oder Befehlszeile SVN

StackOverflow https://stackoverflow.com/questions/103395

Frage

Ich habe einen Open-Source-app, die bei code.google.com gehostet wird. Es ist Cross-Plattform (Linux / Windows / Mac). Ich lud den Code zunächst von einer WinXP Maschine TortoiseSVN verwenden und es scheint, dass keine der „konfiguriert“ Batch-Dateien, die für das Linux-Build verwendet werden, hat ihr „execute“ Bits gesetzt.

Was wäre der einfachste Weg, diese für die Dateien festlegen, die sie benötigen? Mit TortoiseSVN wäre einfacher, nehme ich an, aber wenn das nicht verwendet werden kann, dann könnte ich auch die Befehlszeile SVN auf meinem Linux-Rechner verwenden.

War es hilfreich?

Lösung

Mit Schildkröte SVN, es ist ganz einfach: Sie können mehrere Dateien auswählen (kann aus den Suchergebnissen sein, damit sie nicht im selben Verzeichnis sein müssen), wählen Sie „Eigenschaften“ im TortoiseSVN Menü, fügen Sie die benötigte Eigenschaft (es gibt eine Dropdown-Liste der meist verwendeten Eigenschaften, in diesem Fall „svn: ausführbarer“) und setzen Sie den Wert (in diesem Fall „*“). Wenn die geänderten Dateien zu begehen und sie aus unter Linux überprüft, wird das Ausführungs-Bit gesetzt werden.

Wenn Sie mehr als eine Eigenschaft auf einmal einstellen wollen, kann es sicherer sein (im Fall von Fehlern) zu setzen zunächst die Eigenschaften korrekt für eine Datei, um sie in eine Datei exportieren, wählen Sie alle benötigten Dateien, wählen Sie " Eigenschaften“Menü und importieren Sie die zuvor gespeicherten Eigenschaften.

Andere Tipps

Hier ist, wie es auf der Kommandozeile zu tun:

for file in `find . -name configure`; do
  svn ps svn:executable yes ${file}
done

oder für nur eine Datei (configure ist der Dateiname hier):

svn ps svn:executable yes configure

Auf Unix-Anwendung {} resultset Adresse:

find . -type f -name "*.bat" -exec svn propset svn:executable yes '{}' \;

Weiß jemand, warum diese Eigenschaft „Ja“ als gültiges Argument erfordert? Gefunden ein weiteres Beispiel mit ‚‘ statt ja, funktioniert auch ...

find . -type f -name "*.bat" -exec svn propset svn:executable yes "${}" \;

Natürlich ist das gleiche gilt für .exe, etc.

Methode zur Wiederherstellung der ausführbaren Berechtigungen, die während svn Import verloren:

Kopie Berechtigungen von Ihrer ursprünglichen Quelle, die Sie während svn Imports verwendet (aktuelles Verzeichnis version1):

find . -type f | xargs -I {} chmod --reference {} ../version1/{}

setzen Sie svn: executable für alle ausführbaren Dateien des folgenden Shell-Skript:

for file in `find . -executable -type f`; do
  svn ps svn:executable yes ${file}
done
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top