Add support for multi-line commit message input by using EOF
authorZac Medico <zmedico@gentoo.org>
Fri, 14 Dec 2007 09:52:48 +0000 (09:52 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 14 Dec 2007 09:52:48 +0000 (09:52 -0000)
as a delimiter (Ctrl-d) instead of a new line.

svn path=/main/trunk/; revision=8920

bin/repoman

index 7d71d07af68a86fcfdb42ad1c8cbb6044edfc429..20abec653ed97f5c05ca196e5a849d0ee61676a5 100755 (executable)
@@ -1720,12 +1720,16 @@ else:
                # We've read the content so the file is no longer needed.
                commitmessagefile = None
        if not commitmessage:
-               print "Please enter a CVS commit message at the prompt:"
-               while not commitmessage:
-                       try:
-                               commitmessage=raw_input(green("> "))
-                       except KeyboardInterrupt: 
-                               exithandler()
+               print "Please enter a commit message. Use Ctrl-d to finish or Ctrl-c to abort."
+               commitmessage = []
+               try:
+                       while True:
+                               commitmessage.append(sys.stdin.readline())
+                               if not commitmessage[-1]:
+                                       break
+               except KeyboardInterrupt:
+                       exithandler()
+               commitmessage = "".join(commitmessage)
        portage_version = getattr(portage, "VERSION", None)
        if portage_version is None:
                sys.stderr.write("Failed to insert portage version in message!\n")