[QGIT PATCH] Add safeguards to Git::userInfo()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/10/2008 13:57, Marco Costalba wrote:
On Tue, Oct 7, 2008 at 1:36 PM, Abdelrazak Younes<younes@xxxxxxx>  wrote:
Sound like a problem of startup directory: on the command line you
start from the right directory...when you double click on which repo
qgit is open ?

None of course. But when I open a repository manually I would expect that
this is properly filled in.


In git.cpp, Git::userInfo() function get info about user by means of
'git config' calls, my guess (I cannot it test now) is that 'git
config' does not work if we are not in a git directory.

OK, with this patch, I see that the local config request is apparently successful even though the 'user' and 'email' strings stay empty.
OTOH, the two global config requests fail.

---
 src/git.cpp |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/git.cpp b/src/git.cpp
index 4ffc4ea..e77f4a1 100755
--- a/src/git.cpp
+++ b/src/git.cpp
@@ -6,6 +6,8 @@
     Copyright: See COPYING file that comes with this distribution

 */
+#include <string>
+
 #include <QApplication>
 #include <QDateTime>
 #include <QDir>
@@ -347,13 +349,16 @@ void Git::userInfo(SList info) {

     errorReportingEnabled = false; // 'git config' could fail, see docs

-    run("git config user.name", &user);
-    run("git config user.email", &email);
-    info << "Local config" << user << email;
-
-    run("git config --global user.name", &user);
-    run("git config --global user.email", &email);
-    info << "Global config" << user << email;
+    if (bool success = run("git config user.name", &user)) {
+        success = run("git config user.email", &email);
+        if (success)
+            info << "Local config" << user << email;
+    }
+    if (bool success = run("git config --global user.name", &user)) {
+        success = run("git config --global user.email", &email);
+        if (success)
+            info << "Global config" << user << email;
+    }

     errorReportingEnabled = true;
 }
--
1.6.0.2.1172.ga5ed0


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux