X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fsynfigapp%2Fcvs.cpp;h=71737850ebaa8178e441d578cf46907e36c77d97;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=0ebb5257b9d60a26f4caba4dcb9b19312cb8a6e7;hpb=ce408de81ca266b1f334ee9bc6c8fb7ba1492ed4;p=synfig.git diff --git a/synfig-studio/trunk/src/synfigapp/cvs.cpp b/synfig-studio/trunk/src/synfigapp/cvs.cpp index 0ebb525..7173785 100644 --- a/synfig-studio/trunk/src/synfigapp/cvs.cpp +++ b/synfig-studio/trunk/src/synfigapp/cvs.cpp @@ -2,7 +2,7 @@ /*! \file cvs.cpp ** \brief Template File ** -** $Id: cvs.cpp,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $ +** $Id$ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley @@ -43,6 +43,8 @@ #include +#include "general.h" + #endif /* === U S I N G =========================================================== */ @@ -90,7 +92,7 @@ void CVSInfo::set_file_name(const synfig::String& file_name) { file_name_=file_name; - + std::ifstream file((dirname(file_name_)+"/CVS/Root").c_str()); if(file) @@ -108,10 +110,10 @@ CVSInfo::calc_repository_info() #ifdef _DEBUG synfig::info("in_sandbox() = %d",in_sandbox()); #endif - + if(!in_sandbox_) return; - + std::ifstream file((dirname(file_name_)+"/CVS/Entries").c_str()); while(file) @@ -122,7 +124,7 @@ CVSInfo::calc_repository_info() { in_repository_=true; String::size_type s,f; - + // Grab the version s=line.find('/',1); assert(s!=String::npos); @@ -130,7 +132,7 @@ CVSInfo::calc_repository_info() f=line.find('/',s+1); assert(f!=String::npos); cvs_version_=String(line,s,f-s); - + // Grab the time #ifdef HAVE_STRPTIME s=f+1; @@ -140,7 +142,7 @@ CVSInfo::calc_repository_info() strptime(String(line,s,f-s).c_str(),"%c",&time_struct); original_timestamp_=mktime(&time_struct); #endif - + if( system(strprintf( "cd '%s' && cvs status '%s' | grep -q -e 'Needs Patch'", @@ -162,8 +164,8 @@ CVSInfo::calc_repository_info() synfig::info("UPDATE_AVAILABLE=FALSE"); update_available_=false; } - - + + #ifdef _DEBUG synfig::info("in_repository() = %d",in_repository()); synfig::info("get_cvs_version() = %s",get_cvs_version().c_str()); @@ -172,7 +174,7 @@ CVSInfo::calc_repository_info() synfig::info("get_current_timestamp() = %s",ctime(&t)); synfig::info("get_cvs_root() = %s",get_cvs_root().c_str()); synfig::info("get_cvs_module() = %s",get_cvs_module().c_str()); -#endif +#endif return; } } @@ -203,11 +205,11 @@ CVSInfo::in_repository()const bool CVSInfo::is_modified()const { + if(!in_sandbox() || !in_repository()) + return false; #ifdef _DEBUG synfig::info("%d-%d=%d",get_current_timestamp(),get_original_timestamp(),get_current_timestamp()-get_original_timestamp()); #endif - if(!in_sandbox() || !in_repository()) - return false; return get_current_timestamp()!=get_original_timestamp() && abs(get_current_timestamp()-get_original_timestamp())!=3600; } @@ -238,7 +240,10 @@ CVSInfo::get_current_timestamp()const synfig::error("Unable to get file stats"); return false; } - return st.st_mtime+timezone+(daylight-1)*3600; + time_t ret((daylight-1)*3600); + //ret+=timezone; + ret+=st.st_mtime; + return ret; } synfig::String @@ -246,7 +251,7 @@ CVSInfo::get_cvs_root()const { if(!in_sandbox_) return synfig::String(); - + std::ifstream file((dirname(file_name_)+"/CVS/Root").c_str()); if(file) @@ -302,11 +307,11 @@ CVSInfo::cvs_add(const synfig::String& message) throw int(); return; } - + synfig::String command(strprintf("cd '%s' && %s add -m '%s' '%s'",dirname(file_name_).c_str(),cvs_command.c_str(),fix_msg(message).c_str(),basename(file_name_).c_str())); - + int ret(system(command.c_str())); - + calc_repository_info(); switch(ret) @@ -319,7 +324,7 @@ CVSInfo::cvs_add(const synfig::String& message) break; } } - + void CVSInfo::cvs_update() { @@ -329,13 +334,13 @@ CVSInfo::cvs_update() throw int(); return; } - + synfig::String command(strprintf("cd '%s' && %s update '%s'",dirname(file_name_).c_str(),cvs_command.c_str(),basename(file_name_).c_str())); - + int ret(system(command.c_str())); calc_repository_info(); - + switch(ret) { case 0: @@ -346,7 +351,7 @@ CVSInfo::cvs_update() break; } } - + void CVSInfo::cvs_commit(const synfig::String& message) { @@ -356,13 +361,13 @@ CVSInfo::cvs_commit(const synfig::String& message) throw int(); return; } - + synfig::String command(strprintf("cd '%s' && %s commit -m '%s' '%s'",dirname(file_name_).c_str(),cvs_command.c_str(),fix_msg(message).c_str(),basename(file_name_).c_str())); - + int ret(system(command.c_str())); calc_repository_info(); - + switch(ret) { case 0: