Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Das Gurke

Community-Fossil

  • »Das Gurke« ist der Autor dieses Themas

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

1

05.03.2009, 19:59

.Net Assemblies und Subversion

Ich bin gerade ein wenig am grübeln, ob ich folgendes Verhalten abstellen kann:

Mein .Net Projekt hat ein gemütliches Zuhause in einem SVN Repository. Wenn ich das Projekt nun auschecke, einmal kompiliere (ohne was am Code geändert zu haben) findet Subversion sofort Unterschiede bei den "neuen" Kompilaten (sowohl reine Satelite Assemblies für Lokalisierung als auch der "echte" Code in den DLLs / Anwendungen).

Ich hab mich schon hie und da mal umgelesen ohne herauszufinden, WAS genau sich anscheinend bei jeder Kompilierung von .Net Assemblies ändert. So richtig dramatisch ist das Verhalten auch nicht, aber es wäre schon schön das abzustellen.

Keine Ahnung ob man das jetzt irgendwie "abstellen" kann. Bei C / C++ Projekten an denen ich mit Subversion gearbeitet habe trat dieses Verhalten nicht auf. Da wurden nur die Kompilate verändert, bei denen sich auch der Quellcode veränder hat (es sei denn natürlich, man hat auch Compilerweichen irgendwo umgestellt).

Falls das wichtig sein sollte: Ich arbeite mit Subversion 1.5, .Net 2.0 (speziell C#) und dem Visual Studio 2005 (sowohl Express als auch Standard, das Verhalten tritt aber bei beiden Versionen auf).

Am Rande: Bitte keine Diskussionen über den Sinn und Unsinn von Kompilaten in Subversion Repositories. Das Repository muss auch für Leute erreichbar sein, die das Projekt nicht selber kompilieren wollen / können, die dafür aber Übersetzungen, Grafiken oder sonstwas beisteuern.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

05.03.2009, 21:03

schonmal n diff drauf losgelassen?
reicht ja wenn der da die uhrzeit reinkompilliert oder was auch immer...

trozdem find ichs unsinning binaries einzuchecken ;)
für die die nicht selber kompilieren könnt ihr ja nen extra ordner machen wo immer ne kompillierte stable version drin is oder einfach nen download auf der hp oder so!?

Beneroth

Alter Hase

Beiträge: 969

Wohnort: Schweiz

Beruf: Software Entwickler

  • Private Nachricht senden

3

05.03.2009, 22:05

Schreibt der Compiler nicht die Compilierungszeit und sonst noch paar Sachen in die binaries?

Insbesondere auch z.T. zum random zu intialisieren und so?
Dachte irgend sowas war da...weiss es aber gerade nicht (und zu faul zum suchen) :roll:

Das Gurke

Community-Fossil

  • »Das Gurke« ist der Autor dieses Themas

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

4

06.03.2009, 10:46

Ich hab mal n diff drübergelassen aber da ändert sich auf den ersten Blick zuviel. Und da hab ichs dann doch bleiben lassen *g* Aber vllt komm ich mal drauf zurück.

Die Binärdaten fliegen da momentan mit rein, weil ich es noch nicht geschafft habe das Buildsystem zu automatisieren. Ist ja mit .Net und Linux auch nicht zwingend einfach ... Wenn ich da was auf die Reihe kriege wäre das vermutlich die bessere Lösung. Einfach im post-commit hook den ganzen kram kompilieren, zusammenpacken und als nightly zur Verfügung stellen.

Es geht halt darum den Arbeitsaufwand für die Entwickler zu minimieren und trotzdem alle Grafiker etc. immer auf dem aktuellen Stand zu halten, da sich momentan einiges recht flott ändert. Wir haben ne zeitlang versucht das manuell zu pflegen und das gab dabei immer nur Konflikte :(

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

5

06.03.2009, 10:57

Zitat von »"Das Gurke"«


Die Binärdaten fliegen da momentan mit rein, weil ich es noch nicht geschafft habe das Buildsystem zu automatisieren. Ist ja mit .Net und Linux auch nicht zwingend einfach ... Wenn ich da was auf die Reihe kriege wäre das vermutlich die bessere Lösung. Einfach im post-commit hook den ganzen kram kompilieren, zusammenpacken und als nightly zur Verfügung stellen.

Ich glaube dazu gibt es spezielle Build Server die das übernehmen. Frag im irc mal mirlix, wenn ich mich recht erinnere, hat er das mal eingerichtet..

Ansonsten. Wäre es vielleicht sinnvoller als Post-Build Operation deine Assembly (und wirklich nur die die von den Grafikern genutzt werden) einfach in einen anderen Ordner zu kopieren.
Wenn du dann alle Zwischendateien aus dem Build-Verzeichnis aus dem Repo entfernst sollte es klappen.

Edit: Vielleicht wäre es sogar sinnvoll das Kopieren per Hand zu machen. So, dass nicht jeder neue Build auch gleich eine neue Version für die Grafiker darstellt. Die aktuelle Revision funktioniert ja nicht immer so gut wie sie sollte, da ist ne art "stable" Version für die Grafiker sicher praktischer.

Werbeanzeige