| Index: gcl.py
|
| diff --git a/gcl.py b/gcl.py
|
| index 2911b1212b5ce382e4026b583e91cf5399947d3c..456d1d7dd34266f67586de626a8858435ff55eb9 100755
|
| --- a/gcl.py
|
| +++ b/gcl.py
|
| @@ -10,6 +10,7 @@ import getpass
|
| import os
|
| import random
|
| import re
|
| +import shutil
|
| import string
|
| import subprocess
|
| import sys
|
| @@ -21,7 +22,7 @@ import xml.dom.minidom
|
| # gcl now depends on gclient.
|
| import gclient
|
|
|
| -__version__ = '1.0'
|
| +__version__ = '1.1'
|
|
|
|
|
| CODEREVIEW_SETTINGS = {
|
| @@ -34,7 +35,6 @@ CODEREVIEW_SETTINGS = {
|
| # globals that store the root of the current repository and the directory where
|
| # we store information about changelists.
|
| repository_root = ""
|
| -gcl_info_dir = ""
|
|
|
| # Filename where we store repository specific information for gcl.
|
| CODEREVIEW_SETTINGS_FILE = "codereview.settings"
|
| @@ -110,10 +110,12 @@ def GetRepositoryRoot():
|
|
|
| def GetInfoDir():
|
| """Returns the directory where gcl info files are stored."""
|
| - global gcl_info_dir
|
| - if not gcl_info_dir:
|
| - gcl_info_dir = os.path.join(GetRepositoryRoot(), '.svn', 'gcl_info')
|
| - return gcl_info_dir
|
| + return os.path.join(GetRepositoryRoot(), '.svn', 'gcl_info')
|
| +
|
| +
|
| +def GetChangesDir():
|
| + """Returns the directory where gcl change files are stored."""
|
| + return os.path.join(GetInfoDir(), 'changes')
|
|
|
|
|
| def GetCodeReviewSetting(key):
|
| @@ -373,7 +375,7 @@ def GetChangelistInfoFile(changename):
|
| """Returns the file that stores information about a changelist."""
|
| if not changename or re.search(r'[^\w-]', changename):
|
| ErrorExit("Invalid changelist name: " + changename)
|
| - return os.path.join(GetInfoDir(), changename)
|
| + return os.path.join(GetChangesDir(), changename)
|
|
|
|
|
| def LoadChangelistInfoForMultiple(changenames, fail_on_not_found=True,
|
| @@ -442,7 +444,7 @@ def LoadChangelistInfo(changename, fail_on_not_found=True,
|
|
|
| def GetCLs():
|
| """Returns a list of all the changelists in this repository."""
|
| - cls = os.listdir(GetInfoDir())
|
| + cls = os.listdir(GetChangesDir())
|
| if CODEREVIEW_SETTINGS_FILE in cls:
|
| cls.remove(CODEREVIEW_SETTINGS_FILE)
|
| return cls
|
| @@ -1020,10 +1022,19 @@ def main(argv=None):
|
| Help()
|
| return 0;
|
|
|
| - # Create the directory where we store information about changelists if it
|
| + # Create the directories where we store information about changelists if it
|
| # doesn't exist.
|
| if not os.path.exists(GetInfoDir()):
|
| os.mkdir(GetInfoDir())
|
| + if not os.path.exists(GetChangesDir()):
|
| + os.mkdir(GetChangesDir())
|
| + # For smooth upgrade support, move the files in GetInfoDir() to
|
| + # GetChangesDir().
|
| + # TODO(maruel): Remove this code in August 2009.
|
| + for file in os.listdir(unicode(GetInfoDir())):
|
| + file_path = os.path.join(unicode(GetInfoDir()), file)
|
| + if os.path.isfile(file_path) and file != CODEREVIEW_SETTINGS_FILE:
|
| + shutil.move(file_path, GetChangesDir())
|
|
|
| # Commands that don't require an argument.
|
| command = argv[1]
|
|
|