/*! \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
#include <cassert>
+#include "general.h"
+
#endif
/* === U S I N G =========================================================== */
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)
#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)
{
in_repository_=true;
String::size_type s,f;
-
+
// Grab the version
s=line.find('/',1);
assert(s!=String::npos);
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;
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'",
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());
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;
}
}
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;
}
{
if(!in_sandbox_)
return synfig::String();
-
+
std::ifstream file((dirname(file_name_)+"/CVS/Root").c_str());
if(file)
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)
break;
}
}
-
+
void
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:
break;
}
}
-
+
void
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: