Ver Fonte

Fehler beim handeln von gelöschten dateien in der Versionskontrolle behoben

Kolja Strohm há 5 anos atrás
pai
commit
2735a67ae9

BIN
Fertig/x32/smp.exe


BIN
Fertig/x64/smp.exe


+ 2 - 1
SMP/Netzwerk/Patch/PSKlient.cpp

@@ -303,7 +303,7 @@ bool PSKlient::getFileVersion( char *path, int system, int group, int *version )
     return 1;
 }
 
-bool PSKlient::updateFile( const char *pfad, Zeit *zLetzteÄnderung, int system, int gruppe )
+bool PSKlient::updateFile( const char *pfad, char status, Zeit *zLetzteÄnderung, int system, int gruppe )
 {
     if( !verbunden )
         verbinden();
@@ -318,6 +318,7 @@ bool PSKlient::updateFile( const char *pfad, Zeit *zLetzte
         unsigned short len = textLength( pfad );
         k->sende( (char *)& len, 2 );
         k->sende( pfad, len );
+        k->sende( &status, 1 );
         if( zLetzteÄnderung )
         {
             Text *time = zLetzteÄnderung->getZeit( "y-m-d h:i:s" );

+ 1 - 1
SMP/Netzwerk/Patch/PSKlient.h

@@ -42,7 +42,7 @@ public:
     bool getSystemInfoList( RCArray< ReferenceCounting< std::pair< int, Text > > > *list );
     bool getFileInfoList( int system, int group, RCArray< ReferenceCounting< FileInfo > > *list );
     bool getFileVersion( char *path, int system, int group, int *version );
-    bool updateFile( const char *pfad, Zeit *zLetzteÄnderung, int system, int gruppe );
+    bool updateFile( const char *pfad, char status, Zeit *zLetzteÄnderung, int system, int gruppe );
     bool dateiGruppeUpdate( int gruppe );
     void abbruch();
     // Reference Counting

+ 3 - 3
SMP/Programm/Version/Version.cpp

@@ -643,7 +643,7 @@ bool Version::commitMausEreignis( void *o, MausEreignis me )
 				Datei *d = new Datei();
 				d->setDatei( pfad );
 				Zeit *zeit = d->getLastChange();
-                if( !psc || !psc->updateFile( ( (TextFeld*)dateiT->zZeichnung( 0, i ) )->zText()->getText(), zeit, system, gruppe ) )
+                if( !psc || !psc->updateFile( ( (TextFeld*)dateiT->zZeichnung( 0, i ) )->zText()->getText(), 1, zeit, system, gruppe ) )
                 {
                     dateiF->removeStyle( Fenster::Style::Sichtbar );
                     aktualisieren->removeStyle( Knopf::Style::Erlaubt );
@@ -665,7 +665,7 @@ bool Version::commitMausEreignis( void *o, MausEreignis me )
 			}
 			else if( ( (TextFeld*)dateiT->zZeichnung( 2, i ) )->zText()->istGleich( "Gelöscht" ) )
 			{ // datei ist Gelöscht
-                if( !psc || !psc->updateFile( ( (TextFeld*)dateiT->zZeichnung( 0, i ) )->zText()->getText(), 0, system, gruppe ) )
+                if( !psc || !psc->updateFile( ( (TextFeld*)dateiT->zZeichnung( 0, i ) )->zText()->getText(), 0, 0, system, gruppe ) )
                 {
                     dateiF->removeStyle( Fenster::Style::Sichtbar );
                     aktualisieren->removeStyle( Knopf::Style::Erlaubt );
@@ -687,7 +687,7 @@ bool Version::commitMausEreignis( void *o, MausEreignis me )
 				Datei *d = new Datei();
 				d->setDatei( pfad );
 				Zeit *zeit = d->getLastChange();
-                if( !psc || !psc->updateFile( ( (TextFeld*)dateiT->zZeichnung( 0, i ) )->zText()->getText(), zeit, system, gruppe ) )
+                if( !psc || !psc->updateFile( ( (TextFeld*)dateiT->zZeichnung( 0, i ) )->zText()->getText(), 2, zeit, system, gruppe ) )
                 {
                     dateiF->removeStyle( Fenster::Style::Sichtbar );
                     aktualisieren->removeStyle( Knopf::Style::Erlaubt );