| Index: gcl.py
|
| ===================================================================
|
| --- gcl.py (revision 22513)
|
| +++ gcl.py (working copy)
|
| @@ -681,6 +681,10 @@
|
| of changenames.
|
| --> Use 'gcl help try' for more information!
|
|
|
| + gcl deleteempties
|
| + Deletes all changelists that have no files associated with them. Careful,
|
| + you can lose your descriptions.
|
| +
|
| gcl help [command]
|
| Print this help menu, or help for the given command if it exists.
|
| """)
|
| @@ -973,7 +977,7 @@
|
| description = change_info.description
|
|
|
| other_files = GetFilesNotInCL()
|
| -
|
| +
|
| #Edited files will have a letter for the first character in a string.
|
| #This regex looks for the presence of that character.
|
| file_re = re.compile(r"^[a-z].+\Z", re.IGNORECASE)
|
| @@ -1023,6 +1027,11 @@
|
| status = line[:7]
|
| file = line[7:]
|
| new_cl_files.append((status, file))
|
| +
|
| + if (not len(change_info._files)) and (not change_info.issue) and \
|
| + (not len(new_description) and (not new_cl_files)):
|
| + ErrorExit("Empty changelist not saved")
|
| +
|
| change_info._files = new_cl_files
|
|
|
| change_info.Save()
|
| @@ -1094,6 +1103,16 @@
|
| print "".join(file)
|
|
|
|
|
| +def DeleteEmptyChangeLists():
|
| + """Delete all changelists that have no files."""
|
| + print "\n--- Deleting:"
|
| + for cl in GetCLs():
|
| + change_info = ChangeInfo.Load(cl, GetRepositoryRoot(), True, True)
|
| + if not len(change_info._files):
|
| + print change_info.name
|
| + change_info.Delete()
|
| +
|
| +
|
| def main(argv=None):
|
| if argv is None:
|
| argv = sys.argv
|
| @@ -1151,6 +1170,9 @@
|
| print '\n'.join(("%s: %s" % (str(k), str(v))
|
| for (k,v) in CODEREVIEW_SETTINGS.iteritems()))
|
| return 0
|
| + if command == "deleteempties":
|
| + DeleteEmptyChangeLists()
|
| + return 0
|
|
|
| if len(argv) == 2:
|
| if command == "change":
|
|
|