Hinweis an alle Modulentwickler: fehlende $Id$ SVN Ersetzung in 9 Modulen

Begonnen von Markus Bloch, 13 Januar 2016, 19:38:53

Vorheriges Thema - Nächstes Thema

Markus Bloch

Zitat von: klausw am 26 Januar 2016, 00:59:55
Hallo Markus,

für die Module:

hatte ich damals die entsprechende Prozedur ausgeführt.
Die Zeile wurde ja auch angelegt.

Wenn ich es erneut versuche (nutze Apache SVN unter Win) kommt folgendes:


C:\Users\klaus\!Programme\Apache-Subversion\svn add C:\Users\klaus\Documents\Projekte\FHEM_SVN\fhem\FHEM\52_I2C_EEPROM.pm
svn: warning: W150002: 'C:\Users\klaus\Documents\Projekte\FHEM_SVN\fhem\FHEM\52_I2C_EEPROM.pm' is already under version control
svn: E200009: Could not add all targets because some targets are already versioned
svn: E200009: Illegal target for the requested operation

C:\Users\klaus\!Programme\Apache-Subversion\svn propset svn:keywords "Id" C:\Users\klaus\Documents\Projekte\FHEM_SVN\fhem\FHEM\52_I2C_EEPROM.pm
property 'svn:keywords' set on 'C:\Users\klaus\Documents\Projekte\FHEM_SVN\fhem\FHEM\52_I2C_EEPROM.pm'


Bist du sicher das die Module nicht korrekt eingecheckt sind?


Hallo Klaus,

ein "svn add ..." ist nicht notwendig, da die Datei ja bereits hinzugefügt ist.


Bei deinem "svn propset ..." kommt:
property 'svn:keywords' set on 'C:\Users\klaus\Documents\Projekte\FHEM_SVN\fhem\FHEM\52_I2C_EEPROM.pm'

Das bedeutet, dass er die Property erfolgreich gesetzt hat. Nun musst du das noch einchecken via svn commit, damit die Änderung auch im SVN landet.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Markus Bloch

Ich sehe gerade dass du das im Rahmen von r10638 durchgeführt hast.

Von daher passt das also alles.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

klausw

Zitat von: Markus Bloch am 26 Januar 2016, 09:08:44
Ich sehe gerade dass du das im Rahmen von r10638 durchgeführt hast.

Von daher passt das also alles.
Hm, mal wieder Ahnungslos alles richtig gemacht  8)
Ja ich hatte mit ein Batchfile geschrieben, was beide Befehle ausführt.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Talkabout

Hallo zusammen,

habe die Änderung für das Modul

70_Pushalot.pm

durchgeführt und committed.

Gruss

Prof. Dr. Peter Henning

Hm, ich habe meine Zweifel an der Korrektheit des Ausgangsposts.

1. Alle meine Module haben Id-Tags und werden mit dem gleichen Tool (Synchro SVN Client) hochgeladen. Deshalb tauchen in der Liste der angeblich fehlerhaften Module die meisten meiner Elaborate nicht auf.

2. Allerdings stehen in der Liste auch:

  • 95_Alarm.pm => hat sehr wohl ein Id-Tag
  • OWX_DS9097.pm => hat sehr wohl auch ein Id-Tag (das allerdings, weil das von Norbert Truchsess mit einem anderen Tool eingecheckt wurde, nicht ordnungsgemäß gefüllt wurde)

Bitte mal überprüfen, warum diese beiden Module als auffällig vermerkt wurden.

LG

pah

betateilchen

Zitat von: Prof. Dr. Peter Henning am 30 Januar 2016, 09:42:25
Bitte mal überprüfen, warum diese beiden Module als auffällig vermerkt wurden.

95_Alarm.pm hat keine svn property für Id gesetzt:

(http://up.picr.de/24433617ly.png)

OWX_DS9097.pm hat die property gesetzt, und die Id ist auch in der aktuellen Version des Moduls korrekt gefüllt. Allerdings erst seit 24.01.2016, was also NACH dem Start dieses Threads passiert ist und sich in der svn-history des Moduls nachschauen läßt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Markus Bloch

Hallo pah,

Zitat von: Prof. Dr. Peter Henning am 30 Januar 2016, 09:42:25

1. Alle meine Module haben Id-Tags und werden mit dem gleichen Tool (Synchro SVN Client) hochgeladen. Deshalb tauchen in der Liste der angeblich fehlerhaften Module die meisten meiner Elaborate nicht auf.

Das ist korrekt. In deinem Modul 95_Alarm.pm gibt es folgende Zeile:

# $Id: 95_Alarm.pm 2014-08 - pahenning $

Diese ist aber manuell durch dich gepflegt und nicht durch SVN. Syntaktisch ist sie richtig (entweder $Id$ oder $Id:...$, der genaue Inhalt ist dabei egal)

Zitat von: Prof. Dr. Peter Henning am 30 Januar 2016, 09:42:25
2. Allerdings stehen in der Liste auch:

  • 95_Alarm.pm => hat sehr wohl ein Id-Tag
  • OWX_DS9097.pm => hat sehr wohl auch ein Id-Tag (das allerdings, weil das von Norbert Truchsess mit einem anderen Tool eingecheckt wurde, nicht ordnungsgemäß gefüllt wurde)

Bitte mal überprüfen, warum diese beiden Module als auffällig vermerkt wurden.

Bei 95_Alarm.pm fehlt, wie bereits durch betateilchen angemerkt, der Wert "Id" in der SVN Property svn:keywords. Erst, wenn "Id" in dieser Property auftaucht, wird der Platzhalter $Id$ im Kommentar automatisch beim Check-In auf die aktuellen Daten angepasst. Wie das mit dem Standard-Subversion-Client funktioniert, habe ich im ersten Post beschrieben. Du nutzt einen anderen Client. Wie das dort genau funktioniert, weis ich nicht. Jeder Datei im SVN kann man Properties zuweisen. Die Property "svn:keywords" ist dabei speziell und enthält eine Auflistung aller Schlüsselwörter die beim Commit automatisch durch die jeweiligen Inhalte ersetzt werden sollen.

Siehe dazu: http://svnbook.red-bean.com/de/1.7/svn.advanced.props.special.keywords.html

Die Datei OWX_DS9097.pm hat bereits alles richtig gesetzt. Kann sein, das ich die übersehen habe. Ich habe Sie von der Liste entfernt.

Wenn Du die Property bei 95_Alarm.pm korrekt gesetzt hast, am besten direkt einchecken, dann ist alles wieder in Butter.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Prof. Dr. Peter Henning

Na, eine Erläuterung von SVN hätte ich nicht benötigt, danke trotzdem.

In meinem SVN Client ist das eigentlich als globales Attribut gesetzt - aus irgendeinem Grund hatte ich das aber explizit lokal disabled.

Einchecken funktioniert trotzdem nicht, der pre-commit-Hook meldet zwei Fehler im integrierten HTML-Code für die Commandref (unbalanced <td> und unbalanced <tr>)

Das ist aber ein Fehler, denn der HTML-Code ist syntaktisch vollkommen korrekt (validiert gegen xhtml1-transitional.dtd). Vermute mal, dass das mit der eingebetteten HTML-Table zusammenhängt.  Ich weiß nicht, wer den Hook programmiert hat - aber es wäre nett, wenn das mal mit dem folgenden Stück überprüft würde:


(hier Perl-Code)
1;
=pod
=begin html
        <a name="Alarm"></a>
        <h3>Alarm</h3>
        <a name="Alarmattr"></a>
        <h4>Attributes</h4>
        <ul>
            <li><a name="alarm_statedisplay"><code>attr &lt;name&gt; statedisplay
                        simple,color,table,none</code></a>
                <br />defines how the state of all eight alarm levels is shown. Example for the case
                when only alarm no. 2 is raised: <ul>
                    <li> simple=OOXOOOOO</li>
                    <li> color=<span style="color:green"> 0 1 <span style="width:1ex;color:red"
                                >2</span> 3 4 5 6 7</span></li>
                    <li> table=<table>
                            <tr style="height:1ex">
                                <td style="width:1ex;background-color:green"></td>
                                <td style="width:1ex;background-color:green"></td>
                                <td style="width:1ex;background-color:red"></td>
                                <td style="width:1ex;background-color:green"></td>
                                <td style="width:1ex;background-color:green"></td>
                                <td style="width:1ex;background-color:green"></td>
                                <td style="width:1ex;background-color:green"></td>
                                <td style="width:1ex;background-color:green"></td>
                            </tr>
                        </table>
                    </li>
                    <li> none=no state display</li>
                </ul>
            </li>
        </ul>
=end html
=begin html_DE

<a name="Alarm"></a>
<h3>Alarm</h3>

=end html_DE
=cut


Provisorisch habe ich die Tabelle mal aus dem Commandref-HTML entfernt, lässt sich damit wunderbar einchecken.

LG

pah

Markus Bloch

#23
siehe dazu: http://forum.fhem.de/index.php/topic,46371.0.html

Attribute in <table>,<tr>,<td> sind verboten worden:

<tr style="height:1ex">

Solche Tags werden daher von commandref_join.pl nicht mehr erkannt und resultieren daher in unbalanced.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

betateilchen

und siehe auch hier http://forum.fhem.de/index.php/topic,18962.msg392468.html#msg392468

In diesem Beitrag sind alle Bedingungen aufgeführt und erläutert, die beim Einchecken auf Korrektheit geprüft werden.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Prof. Dr. Peter Henning

Im Januar habe ich auf Grund einer wichtigen anderen Sache den Developer-Teil nicht verfolgt. Und siehe: schon  wurde ein Kind mit dem Bade ausgeschüttet.  :'(

LG

pah

UliM

Hi,
nachdem ich rausgefunden habe, wie man mit Tortoise dieses keyword setzt, nun erledigt für:
10_Itach_IR.pm
88_Itach_IRDevice.pm
95_remotecontrol.pm


Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Markus Bloch

Ich hab noch eine kurze Vorgehensweise für TortoiseSVN im Initial-Post spendiert.

Vielen Dank

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

UliM

Zitat von: Markus Bloch am 04 Februar 2016, 21:36:04
Ich hab noch eine kurze Vorgehensweise für TortoiseSVN im Initial-Post spendiert.
Bei mir ging's wie Du geschrieben hast, danach
- nochmal keyword Id markieren
- Erweitert bearbeiten
- und an 'Id' noch den Modulname.pm anhängen

=8-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Sidey

Hallöchen,

ich habe es nun endlich auch mal gemacht:

Damit können 4 Module von der Liste gestrichen werden:

00_SIGNALduino.pm
14_Hideki.pm
14_SD_WS07.pm
90_SIGNALduino_un.pm


Kleine Ergänzung zum Durchführen mit tortoiseSvn oder anderen clients.

Das Property sollte man auf seine Datei setzen und nicht im Ordner in denen diese liegen.
Rechtsklick -> propertys .... sollte man somit direkt auf die Datei anwenden, sonst wird es für alles angewendet. :)



Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker