Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
"""
-import sys, os
+import sys, os, re
from optparse import OptionParser, make_option
from stgit.utils import *
pass
-# Global variables
-crt_series = stack.Series()
-
-
# Utility functions
-def git_id(string):
+def git_id(string, strict = False):
"""Return the GIT id
"""
if not string:
id_file = os.path.join(path, git_id)
if os.path.isfile(id_file):
return read_string(id_file)
+
+ # maybe GIT knows more about this id
+ if not strict:
+ return git_id
elif len(string_list) == 2:
patch_name = string_list[0]
if patch_name == '':
print 'No patches applied'
def resolved(filename):
- git.update_cache([filename])
+ git.update_cache([filename], force = True)
for ext in ['.local', '.older', '.remote']:
fn = filename + ext
if os.path.isfile(fn):
for filename in conflicts:
resolved(filename)
os.remove(os.path.join(git.base_dir, 'conflicts'))
+
+def name_email(string):
+ """Return a tuple consisting of the name and email parsed from a
+ standard 'name <email>' string
+ """
+ str_list = re.findall('^(.*)\s+<(.*)>$', string)
+ if not str_list:
+ raise CmdException, 'Incorrect "name <email>" string: %s' % string
+
+ return str_list[0]
+
+def name_email_date(string):
+ """Return a tuple consisting of the name, email and date parsed
+ from a 'name <email> date' string
+ """
+ str_list = re.findall('^(.*)\s+<(.*)>\s+(.*)$', string)
+ if not str_list:
+ raise CmdException, 'Incorrect "name <email> date" string: %s' % string
+
+ return str_list[0]