Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   SVN + DFM + TBitButton (u.a.) merge (https://www.delphipraxis.net/153993-svn-dfm-tbitbutton-u-merge.html)

hoika 24. Aug 2010 12:29

SVN + DFM + TBitButton (u.a.) merge
 
Hallo #,

ich habe ein paar Probleme,
DFM-Dateien (Textformat) zu "bearbeiten",
die Ressourcen enthalten (z.B. Glyph).

Jedesmal wenn einer der Entwickler mit einem Form arbeitet,
wo auch ein PageControl drauf ist und er ActivePage "ändert"
(indem er auf einem anderen TabSheet arbeitet und speichert),
versucht SVN die DFM-Dateien zumergen und das geht schief ... ;(

Dabei werden auch die Glyph's "gemerged",
was zu einem Fehler beim nächsten Laden des Forms in der IDE führt, ist ja auch logisch.

Ich bin drauf und dran, dass Form so zu ändern, dass die Glyphs erst zur Runtime geladen werden.


Wie geht ihr denn so vor ?


Heiko

shmia 24. Aug 2010 16:00

AW: SVN + DFM + TBitButton (u.a.) merge
 
Ich benütze SVN zwar nicht, aber ich denke du solltest SVN klarmachen, dass die DFM-Dateien als Binärfile zu betrachten sind.
How do I tell Subversion to treat a file as a binary file?

Lemmy 24. Aug 2010 16:59

AW: SVN + DFM + TBitButton (u.a.) merge
 
Hi,

ich hatte zwar nur wenige BitButton, aber mir ist nie aufgefallen, dass bei einem Merge (und die gabs bei uns oft) die Glyphs kaputt werden. Vor allem: warum wird da überhaupt was an den Glyphs gemacht - wenn sich nur die ActivePage verändert hat.. Das ist seltsam...

Win32.API 24. Aug 2010 17:20

AW: SVN + DFM + TBitButton (u.a.) merge
 
Poste mal bitte einen Diff. DFM-Files werden doch Base64-Kodiert gespeichert - Also keine Binärdaten.

shmia 24. Aug 2010 17:55

AW: SVN + DFM + TBitButton (u.a.) merge
 
Zitat:

Zitat von Win32.API (Beitrag 1044633)
DFM-Files werden doch Base64-Kodiert gespeichert - Also keine Binärdaten.

Es kommt drauf an, ob SVN die Formulardateien als binär betrachtet oder nicht.

Falls SVN "denkt" es handle sich um Textdateien, dann können Mergeoperationen ausgeführt werden.
Dieses zeilenweise Mergen mag zwar bei Sourcecode funktionieren, bei DFM-Dateien kommt aber nur Unsinn raus wenn Glyphs oder Imagelists enthalten sind.

Die Bilddaten stützen sich auf die COMCTL32.DLL.
Je nach Version der COMCTL32.DLL kann die interne Repräsentation der Bilddaten abweichen.
Es kann also passieren, dass rein nur durch das Abspeichern einer DFM-Datei der Inhalt sich stark verändert.
(wenn die Entwicklungsrechner verschiedene Versionen der DLL haben. Insbes. bei versch. Windowsversionenen und/oder IE Versionen)
Das Formular und die Bildchen drauf mögen zwar optisch immer noch gleich aussehen; in der DFM-Datei haben sich aber mehrerer Hundert Zeilen verändert.

=> SVN darf die DFM-Dateien nicht als Textdateien sondern als Binärdateien betrachten um störende Mergeoperationen zu unterbinden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 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