<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>misc/gitlogo.eps</filename>
    </added>
    <added>
      <filename>misc/gitlogo.svg</filename>
    </added>
    <added>
      <filename>src/org/netbeans/modules/git/resources/icons/gitvcs-icon.png</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -4,4 +4,4 @@ OpenIDE-Module: org.netbeans.modules.git/1
 OpenIDE-Module-Layer: org/netbeans/modules/git/resources/git-layer.xml
 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/git/Bundle.properties
 OpenIDE-Module-Requires: org.netbeans.api.javahelp.Help
-OpenIDE-Module-Specification-Version: 1.6
+OpenIDE-Module-Specification-Version: 1.0</diff>
      <filename>manifest.mf</filename>
    </modified>
    <modified>
      <diff>@@ -42,7 +42,6 @@
 package org.netbeans.modules.git;
 
 import java.io.File;
-import java.net.InetAddress;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
@@ -92,6 +91,7 @@ public class GitModuleConfig {
     private static final String DEFAULT_EXPORT_FILENAME = &quot;%b_%r_%h&quot;;                                  // NOI18N
     private static final GitModuleConfig INSTANCE = new GitModuleConfig();   
     
+    private static String email;
     private static String userName;
 
     public static GitModuleConfig getDefault() {
@@ -192,6 +192,20 @@ public class GitModuleConfig {
     }
 
     /**
+     * This method returns the email address specified in $HOME/.gitconfig
+     * or a default email address if none is found.
+     */
+    public String getEmail() {
+        email = GitConfigFiles.getInstance().getEmail();
+        if (email.length() == 0) {
+            // nothing
+            // TODO: does NetBeans provide this with product registration?
+            // if not, then get this information in setup wizard.
+        }
+        return email;
+    }
+    
+    /**
      * This method returns the username specified in $HOME/.gitconfig
      * or a default username if none is found.
      */
@@ -199,13 +213,6 @@ public class GitModuleConfig {
         userName = GitConfigFiles.getInstance().getUserName();
         if (userName.length() == 0) {
             String userId = System.getProperty(&quot;user.name&quot;); // NOI18N
-            String hostName;
-            try {
-                hostName = InetAddress.getLocalHost().getHostName();
-            } catch (Exception ex) {
-                return userName;
-            }
-            userName = userId + &quot; &lt;&quot; + userId + &quot;@&quot; + hostName + &quot;&gt;&quot;; // NOI18N
         }
         return userName;
     }
@@ -214,6 +221,10 @@ public class GitModuleConfig {
         GitConfigFiles.getInstance().setProperty(&quot;XXXXX&quot;, &quot;&quot;);
     }
     
+    public void setEmail(String email) {
+        GitConfigFiles.getInstance().setEmail(email);
+    }
+    
     public void setUserName(String name) {
         GitConfigFiles.getInstance().setUserName(name);
     }
@@ -238,20 +249,27 @@ public class GitModuleConfig {
 
     public Properties getProperties(File file) {
         Properties props = new Properties();
-        GitConfigFiles hgconfig = new GitConfigFiles(file); 
-        String name = hgconfig.getUserName(false);
+        GitConfigFiles gitconfig = new GitConfigFiles(file); 
+        String email = gitconfig.getEmail(false);
+        String name = gitconfig.getUserName(false);
+        if (email.length() == 0)
+            email = getEmail();
+        if (email.length() &gt; 0)
+            props.setProperty(&quot;email&quot;, email);
+        else
+            props.setProperty(&quot;email&quot;, &quot;&quot;);
         if (name.length() == 0) 
             name = getUserName();
         if (name.length() &gt; 0) 
-            props.setProperty(&quot;username&quot;, name); // NOI18N
+            props.setProperty(&quot;name&quot;, name); // NOI18N
         else
-            props.setProperty(&quot;username&quot;, &quot;&quot;); // NOI18N
-        name = hgconfig.getDefaultPull(false);
+            props.setProperty(&quot;name&quot;, &quot;&quot;); // NOI18N
+        name = gitconfig.getDefaultPull(false);
         if (name.length() &gt; 0) 
             props.setProperty(&quot;default-pull&quot;, name); // NOI18N
         else
             props.setProperty(&quot;default-pull&quot;, &quot;&quot;); // NOI18N
-        name = hgconfig.getDefaultPush(false);
+        name = gitconfig.getDefaultPush(false);
         if (name.length() &gt; 0) 
             props.setProperty(&quot;default-push&quot;, name); // NOI18N
         else
@@ -260,33 +278,33 @@ public class GitModuleConfig {
     }
 
     public void clearProperties(File file, String section) {
-        getHgConfigFiles(file).clearProperties(section);
+        getGitConfigFiles(file).clearProperties(section);
     }
 
     public void removeProperty(File file, String section, String name) {
-        getHgConfigFiles(file).removeProperty(section, name);
+        getGitConfigFiles(file).removeProperty(section, name);
     }
 
     public void setProperty(File file, String name, String value) {
-        getHgConfigFiles(file).setProperty(name, value);
+        getGitConfigFiles(file).setProperty(name, value);
     }
 
     public void setProperty(File file, String section, String name, String value, boolean allowEmpty) {
-        getHgConfigFiles(file).setProperty(section, name, value, allowEmpty);
+        getGitConfigFiles(file).setProperty(section, name, value, allowEmpty);
     }
 
     public void setProperty(File file, String section, String name, String value) {
-        getHgConfigFiles(file).setProperty(section, name, value);
+        getGitConfigFiles(file).setProperty(section, name, value);
     }
 
     /*
      * Get all properties for a particular section
      */
     public Properties getProperties(File file, String section) {
-        return getHgConfigFiles(file).getProperties(section);
+        return getGitConfigFiles(file).getProperties(section);
     }
 
-    private GitConfigFiles getHgConfigFiles(File file) {
+    private GitConfigFiles getGitConfigFiles(File file) {
         if (file == null) {
             return GitConfigFiles.getInstance();
         } else {</diff>
      <filename>src/org/netbeans/modules/git/GitModuleConfig.java</filename>
    </modified>
    <modified>
      <diff>@@ -67,8 +67,9 @@ public class GitConfigFiles {
     public static final String GIT_EXTENSIONS = &quot;extensions&quot;;  // NOI18N
     public static final String GIT_EXTENSIONS_GITK = &quot;gitk&quot;;  // NOI18N
     public static final String GIT_EXTENSIONS_FETCH = &quot;fetch&quot;;  // NOI18N
-    public static final String GIT_UI_SECTION = &quot;ui&quot;;  // NOI18N
-    public static final String GIT_USERNAME = &quot;username&quot;;  // NOI18N
+    public static final String GIT_USER_SECTION = &quot;user&quot;;  // NOI18N
+    public static final String GIT_USER_NAME = &quot;name&quot;;  // NOI18N
+    public static final String GIT_EMAIL = &quot;email&quot;; // NOI18N
     public static final String GIT_PATHS_SECTION = &quot;paths&quot;;  // NOI18N
     public static final String GIT_DEFAULT_PUSH = &quot;default-push&quot;;  // NOI18N
     public static final String GIT_DEFAULT_PUSH_VALUE = &quot;default-push&quot;;  // NOI18N
@@ -116,8 +117,10 @@ public class GitConfigFiles {
     }
  
     public void setProperty(String name, String value) {
-        if (name.equals(GIT_USERNAME)) { 
-            setProperty(GIT_UI_SECTION, GIT_USERNAME, value); 
+        if (name.equals(GIT_USER_NAME)) { 
+            setProperty(GIT_USER_SECTION, GIT_USER_NAME, value); 
+        } else if (name.equals(GIT_EMAIL)) {
+            setProperty(GIT_USER_SECTION, GIT_EMAIL, value);
         } else if (name.equals(GIT_DEFAULT_PUSH)) { 
             setProperty(GIT_PATHS_SECTION, GIT_DEFAULT_PUSH_VALUE, value); 
         } else if (name.equals(GIT_DEFAULT_PULL)) { 
@@ -154,14 +157,22 @@ public class GitConfigFiles {
     public void setProperty(String section, String name, String value) {
         setProperty(section, name,value, false);
     }
+    
+    public void setEmail(String value) {
+        setProperty(GIT_USER_SECTION, GIT_EMAIL, value);
+    }
 
     public void setUserName(String value) {
-        setProperty(GIT_UI_SECTION, GIT_USERNAME, value); 
+        setProperty(GIT_USER_SECTION, GIT_USER_NAME, value); 
     }
 
     public String getUserName() {
         return getUserName(true);
     }
+    
+    public String getEmail() {
+        return getEmail(true);
+    }
 
     public Properties getProperties(String section) {
         Ini.Section inisection = getSection(gitConfig, section, false);
@@ -213,7 +224,14 @@ public class GitConfigFiles {
         if (reload) {
             doReload();
         }
-        return getProperty(GIT_UI_SECTION, GIT_USERNAME);                                              
+        return getProperty(GIT_USER_SECTION, GIT_USER_NAME);                                              
+    }
+    
+    public String getEmail(Boolean reload) {
+        if (reload) {
+            doReload();
+        }
+        return getProperty(GIT_USER_SECTION, GIT_EMAIL);
     }
 
     public String getProperty(String section, String name) {</diff>
      <filename>src/org/netbeans/modules/git/config/GitConfigFiles.java</filename>
    </modified>
    <modified>
      <diff>@@ -45,7 +45,7 @@ CTL_Properties_Action_OK = OK
 
 AdvancedOption_DisplayName_Git=Git
 AdvancedOption_Tooltip_Git=Git Global Options
-GitPanel.jLabel1.text=Git &amp;User Name\:
+GitPanel.jLabel1.text=Email Address:
 
 GitPanel.jLabel3.text=(Changes will not take effect until the IDE is restarted.)
 
@@ -85,8 +85,6 @@ GitPanel.labelVariables.acsd=Lets you select a Variable
 
 
 GitPanel.jLabel4.text=Use this button to specify the extensions to be loaded by Git
-
-GitPanel.jPanel2.border.title=Git Extensions
 GitPanel.manageButton.text=&amp;Manage Extensions
 
 LBL_Properties_Progress=Scanning Git Extensions
@@ -121,4 +119,5 @@ ACSD_executablePathTextField=Specify the path for the Git executable
 ACSD_exportFileNameTextField=Specifies the default path name for export
 ACSD_btnAdd=Add  property
 ACSD_btnRemove=Remove selected properties
-ACSD_txtAreaValue=Property value
\ No newline at end of file
+ACSD_txtAreaValue=Property value
+GitPanel.jLabel5.text=Name:</diff>
      <filename>src/org/netbeans/modules/git/options/Bundle.properties</filename>
    </modified>
    <modified>
      <diff>@@ -155,7 +155,7 @@ final class GitOptionsPanelController extends OptionsPanelController implements
     }
 
     private Boolean validateFields() {
-        String username = panel.userNameTextField.getText();
+        String username = panel.emailTextField.getText();
         if (!GitModuleConfig.getDefault().isUserNameValid(username)) {
             JOptionPane.showMessageDialog(null,
                                           NbBundle.getMessage(GitPanel.class, &quot;MSG_WARN_USER_NAME_TEXT&quot;), // NOI18N</diff>
      <filename>src/org/netbeans/modules/git/options/GitOptionsPanelController.java</filename>
    </modified>
    <modified>
      <diff>@@ -15,36 +15,47 @@
   &lt;Layout&gt;
     &lt;DimensionLayout dim=&quot;0&quot;&gt;
       &lt;Group type=&quot;103&quot; groupAlignment=&quot;0&quot; attributes=&quot;0&quot;&gt;
-          &lt;Group type=&quot;102&quot; alignment=&quot;0&quot; attributes=&quot;0&quot;&gt;
+          &lt;Group type=&quot;102&quot; attributes=&quot;0&quot;&gt;
               &lt;EmptySpace max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
               &lt;Group type=&quot;103&quot; groupAlignment=&quot;0&quot; attributes=&quot;0&quot;&gt;
-                  &lt;Component id=&quot;backupOnRevertModifications&quot; alignment=&quot;0&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
-                  &lt;Component id=&quot;jPanel2&quot; alignment=&quot;0&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
-                  &lt;Component id=&quot;jPanel1&quot; alignment=&quot;0&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
-                  &lt;Group type=&quot;102&quot; alignment=&quot;0&quot; attributes=&quot;0&quot;&gt;
-                      &lt;Group type=&quot;103&quot; groupAlignment=&quot;0&quot; max=&quot;-2&quot; attributes=&quot;0&quot;&gt;
-                          &lt;Component id=&quot;jLabel1&quot; alignment=&quot;0&quot; pref=&quot;160&quot; max=&quot;32767&quot; attributes=&quot;1&quot;/&gt;
-                          &lt;Component id=&quot;jLabel2&quot; alignment=&quot;0&quot; max=&quot;32767&quot; attributes=&quot;1&quot;/&gt;
-                          &lt;Component id=&quot;exportFilename&quot; alignment=&quot;0&quot; max=&quot;32767&quot; attributes=&quot;1&quot;/&gt;
-                      &lt;/Group&gt;
-                      &lt;EmptySpace min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+                  &lt;Group type=&quot;102&quot; attributes=&quot;0&quot;&gt;
                       &lt;Group type=&quot;103&quot; groupAlignment=&quot;0&quot; attributes=&quot;0&quot;&gt;
-                          &lt;Component id=&quot;userNameTextField&quot; alignment=&quot;0&quot; pref=&quot;971&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
+                          &lt;Component id=&quot;backupOnRevertModifications&quot; alignment=&quot;0&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+                          &lt;Component id=&quot;jPanel2&quot; alignment=&quot;0&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
+                          &lt;Component id=&quot;jPanel1&quot; alignment=&quot;0&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
+                          &lt;Group type=&quot;102&quot; alignment=&quot;0&quot; attributes=&quot;0&quot;&gt;
+                              &lt;Component id=&quot;emailLabel&quot; min=&quot;-2&quot; pref=&quot;160&quot; max=&quot;-2&quot; attributes=&quot;1&quot;/&gt;
+                              &lt;EmptySpace max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+                              &lt;Component id=&quot;emailTextField&quot; pref=&quot;490&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
+                          &lt;/Group&gt;
+                          &lt;Group type=&quot;102&quot; alignment=&quot;0&quot; attributes=&quot;0&quot;&gt;
+                              &lt;Component id=&quot;userNameLabel&quot; pref=&quot;100&quot; max=&quot;32767&quot; attributes=&quot;1&quot;/&gt;
+                              &lt;EmptySpace min=&quot;-2&quot; pref=&quot;70&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+                              &lt;Component id=&quot;userNameTextField&quot; pref=&quot;490&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
+                          &lt;/Group&gt;
+                      &lt;/Group&gt;
+                      &lt;EmptySpace max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+                  &lt;/Group&gt;
+                  &lt;Group type=&quot;102&quot; alignment=&quot;0&quot; attributes=&quot;0&quot;&gt;
+                      &lt;Group type=&quot;103&quot; groupAlignment=&quot;1&quot; attributes=&quot;0&quot;&gt;
                           &lt;Group type=&quot;102&quot; alignment=&quot;1&quot; attributes=&quot;0&quot;&gt;
-                              &lt;Group type=&quot;103&quot; groupAlignment=&quot;0&quot; attributes=&quot;0&quot;&gt;
-                                  &lt;Component id=&quot;exportFilenameTextField&quot; pref=&quot;559&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
-                                  &lt;Component id=&quot;executablePathTextField&quot; alignment=&quot;1&quot; pref=&quot;559&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
-                              &lt;/Group&gt;
+                              &lt;Component id=&quot;exportFilename&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;1&quot;/&gt;
                               &lt;EmptySpace max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
-                              &lt;Group type=&quot;103&quot; groupAlignment=&quot;1&quot; attributes=&quot;0&quot;&gt;
-                                  &lt;Component id=&quot;execPathBrowseButton&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;1&quot;/&gt;
-                                  &lt;Component id=&quot;exportFilenameBrowseButton&quot; alignment=&quot;1&quot; pref=&quot;403&quot; max=&quot;32767&quot; attributes=&quot;1&quot;/&gt;
-                              &lt;/Group&gt;
                           &lt;/Group&gt;
+                          &lt;Component id=&quot;execPathLabel&quot; pref=&quot;170&quot; max=&quot;32767&quot; attributes=&quot;1&quot;/&gt;
+                      &lt;/Group&gt;
+                      &lt;Group type=&quot;103&quot; groupAlignment=&quot;1&quot; attributes=&quot;0&quot;&gt;
+                          &lt;Component id=&quot;exportFilenameTextField&quot; pref=&quot;385&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
+                          &lt;Component id=&quot;executablePathTextField&quot; pref=&quot;385&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
                       &lt;/Group&gt;
+                      &lt;EmptySpace max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+                      &lt;Group type=&quot;103&quot; groupAlignment=&quot;1&quot; attributes=&quot;0&quot;&gt;
+                          &lt;Component id=&quot;execPathBrowseButton&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;1&quot;/&gt;
+                          &lt;Component id=&quot;exportFilenameBrowseButton&quot; alignment=&quot;1&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;1&quot;/&gt;
+                      &lt;/Group&gt;
+                      &lt;EmptySpace min=&quot;-2&quot; pref=&quot;20&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
                   &lt;/Group&gt;
               &lt;/Group&gt;
-              &lt;EmptySpace max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
           &lt;/Group&gt;
       &lt;/Group&gt;
     &lt;/DimensionLayout&gt;
@@ -53,44 +64,49 @@
           &lt;Group type=&quot;102&quot; alignment=&quot;0&quot; attributes=&quot;0&quot;&gt;
               &lt;EmptySpace max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
               &lt;Group type=&quot;103&quot; groupAlignment=&quot;3&quot; attributes=&quot;0&quot;&gt;
+                  &lt;Component id=&quot;emailLabel&quot; alignment=&quot;3&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+                  &lt;Component id=&quot;emailTextField&quot; alignment=&quot;3&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+              &lt;/Group&gt;
+              &lt;EmptySpace max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+              &lt;Group type=&quot;103&quot; groupAlignment=&quot;3&quot; attributes=&quot;0&quot;&gt;
+                  &lt;Component id=&quot;userNameLabel&quot; alignment=&quot;3&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
                   &lt;Component id=&quot;userNameTextField&quot; alignment=&quot;3&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
-                  &lt;Component id=&quot;jLabel1&quot; alignment=&quot;3&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
               &lt;/Group&gt;
-              &lt;EmptySpace type=&quot;separate&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+              &lt;EmptySpace type=&quot;unrelated&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
               &lt;Group type=&quot;103&quot; groupAlignment=&quot;3&quot; attributes=&quot;0&quot;&gt;
                   &lt;Component id=&quot;execPathBrowseButton&quot; alignment=&quot;3&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
-                  &lt;Component id=&quot;jLabel2&quot; alignment=&quot;3&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
                   &lt;Component id=&quot;executablePathTextField&quot; alignment=&quot;3&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+                  &lt;Component id=&quot;execPathLabel&quot; alignment=&quot;3&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
               &lt;/Group&gt;
               &lt;EmptySpace min=&quot;-2&quot; pref=&quot;18&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
               &lt;Group type=&quot;103&quot; groupAlignment=&quot;3&quot; attributes=&quot;0&quot;&gt;
-                  &lt;Component id=&quot;exportFilename&quot; alignment=&quot;3&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
                   &lt;Component id=&quot;exportFilenameTextField&quot; alignment=&quot;3&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
                   &lt;Component id=&quot;exportFilenameBrowseButton&quot; alignment=&quot;3&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+                  &lt;Component id=&quot;exportFilename&quot; alignment=&quot;3&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
               &lt;/Group&gt;
-              &lt;EmptySpace min=&quot;-2&quot; pref=&quot;10&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+              &lt;EmptySpace pref=&quot;26&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
               &lt;Component id=&quot;jPanel1&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
-              &lt;EmptySpace type=&quot;separate&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+              &lt;EmptySpace max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
               &lt;Component id=&quot;jPanel2&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
-              &lt;EmptySpace type=&quot;separate&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
+              &lt;EmptySpace max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
               &lt;Component id=&quot;backupOnRevertModifications&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
-              &lt;EmptySpace pref=&quot;25&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
+              &lt;EmptySpace min=&quot;-2&quot; pref=&quot;27&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
           &lt;/Group&gt;
       &lt;/Group&gt;
     &lt;/DimensionLayout&gt;
   &lt;/Layout&gt;
   &lt;SubComponents&gt;
-    &lt;Component class=&quot;javax.swing.JLabel&quot; name=&quot;jLabel1&quot;&gt;
+    &lt;Component class=&quot;javax.swing.JLabel&quot; name=&quot;emailLabel&quot;&gt;
       &lt;Properties&gt;
         &lt;Property name=&quot;labelFor&quot; type=&quot;java.awt.Component&quot; editor=&quot;org.netbeans.modules.form.RADConnectionPropertyEditor&quot;&gt;
-          &lt;Connection component=&quot;userNameTextField&quot; type=&quot;bean&quot;/&gt;
+          &lt;Connection component=&quot;emailTextField&quot; type=&quot;bean&quot;/&gt;
         &lt;/Property&gt;
         &lt;Property name=&quot;text&quot; type=&quot;java.lang.String&quot; editor=&quot;org.netbeans.modules.i18n.form.FormI18nStringEditor&quot;&gt;
           &lt;ResourceString bundle=&quot;org/netbeans/modules/git/options/Bundle.properties&quot; key=&quot;GitPanel.jLabel1.text&quot; replaceFormat=&quot;org.openide.util.NbBundle.getMessage({sourceFileName}.class, &amp;quot;{key}&amp;quot;)&quot;/&gt;
         &lt;/Property&gt;
       &lt;/Properties&gt;
     &lt;/Component&gt;
-    &lt;Component class=&quot;javax.swing.JTextField&quot; name=&quot;userNameTextField&quot;&gt;
+    &lt;Component class=&quot;javax.swing.JTextField&quot; name=&quot;emailTextField&quot;&gt;
       &lt;AccessibilityProperties&gt;
         &lt;Property name=&quot;AccessibleContext.accessibleDescription&quot; type=&quot;java.lang.String&quot; editor=&quot;org.netbeans.modules.i18n.form.FormI18nStringEditor&quot;&gt;
           &lt;ResourceString bundle=&quot;org/netbeans/modules/git/options/Bundle.properties&quot; key=&quot;ACSD_userNameTextField&quot; replaceFormat=&quot;org.openide.util.NbBundle.getMessage({sourceFileName}.class, &amp;quot;{key}&amp;quot;)&quot;/&gt;
@@ -100,7 +116,7 @@
         &lt;AuxValue name=&quot;JavaCodeGenerator_VariableModifier&quot; type=&quot;java.lang.Integer&quot; value=&quot;16&quot;/&gt;
       &lt;/AuxValues&gt;
     &lt;/Component&gt;
-    &lt;Component class=&quot;javax.swing.JLabel&quot; name=&quot;jLabel2&quot;&gt;
+    &lt;Component class=&quot;javax.swing.JLabel&quot; name=&quot;execPathLabel&quot;&gt;
       &lt;Properties&gt;
         &lt;Property name=&quot;labelFor&quot; type=&quot;java.awt.Component&quot; editor=&quot;org.netbeans.modules.form.RADConnectionPropertyEditor&quot;&gt;
           &lt;Connection component=&quot;executablePathTextField&quot; type=&quot;bean&quot;/&gt;
@@ -154,7 +170,7 @@
                   &lt;Component id=&quot;jLabel3&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
                   &lt;EmptySpace type=&quot;unrelated&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
                   &lt;Component id=&quot;annotationTextField&quot; min=&quot;-2&quot; pref=&quot;405&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
-                  &lt;EmptySpace pref=&quot;494&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
+                  &lt;EmptySpace pref=&quot;13&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
                   &lt;Component id=&quot;addButton&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
                   &lt;EmptySpace min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
               &lt;/Group&gt;
@@ -216,9 +232,7 @@
       &lt;Properties&gt;
         &lt;Property name=&quot;border&quot; type=&quot;javax.swing.border.Border&quot; editor=&quot;org.netbeans.modules.form.editors2.BorderEditor&quot;&gt;
           &lt;Border info=&quot;org.netbeans.modules.form.compat2.border.TitledBorderInfo&quot;&gt;
-            &lt;TitledBorder title=&quot;Git Extensions&quot;&gt;
-              &lt;ResourceString PropertyName=&quot;titleX&quot; bundle=&quot;org/netbeans/modules/git/options/Bundle.properties&quot; key=&quot;GitPanel.jPanel2.border.title&quot; replaceFormat=&quot;org.openide.util.NbBundle.getMessage({sourceFileName}.class, &amp;quot;{key}&amp;quot;)&quot;/&gt;
-            &lt;/TitledBorder&gt;
+            &lt;TitledBorder/&gt;
           &lt;/Border&gt;
         &lt;/Property&gt;
       &lt;/Properties&gt;
@@ -232,7 +246,7 @@
               &lt;Group type=&quot;102&quot; alignment=&quot;0&quot; attributes=&quot;0&quot;&gt;
                   &lt;EmptySpace max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
                   &lt;Component id=&quot;jLabel4&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
-                  &lt;EmptySpace pref=&quot;548&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
+                  &lt;EmptySpace pref=&quot;67&quot; max=&quot;32767&quot; attributes=&quot;0&quot;/&gt;
                   &lt;Component id=&quot;manageButton&quot; min=&quot;-2&quot; max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
                   &lt;EmptySpace max=&quot;-2&quot; attributes=&quot;0&quot;/&gt;
               &lt;/Group&gt;
@@ -324,5 +338,17 @@
         &lt;/Property&gt;
       &lt;/AccessibilityProperties&gt;
     &lt;/Component&gt;
+    &lt;Component class=&quot;javax.swing.JTextField&quot; name=&quot;userNameTextField&quot;&gt;
+    &lt;/Component&gt;
+    &lt;Component class=&quot;javax.swing.JLabel&quot; name=&quot;userNameLabel&quot;&gt;
+      &lt;Properties&gt;
+        &lt;Property name=&quot;labelFor&quot; type=&quot;java.awt.Component&quot; editor=&quot;org.netbeans.modules.form.RADConnectionPropertyEditor&quot;&gt;
+          &lt;Connection component=&quot;userNameTextField&quot; type=&quot;bean&quot;/&gt;
+        &lt;/Property&gt;
+        &lt;Property name=&quot;text&quot; type=&quot;java.lang.String&quot; editor=&quot;org.netbeans.modules.i18n.form.FormI18nStringEditor&quot;&gt;
+          &lt;ResourceString bundle=&quot;org/netbeans/modules/git/options/Bundle.properties&quot; key=&quot;GitPanel.jLabel5.text&quot; replaceFormat=&quot;org.openide.util.NbBundle.getMessage({sourceFileName}.class, &amp;quot;{key}&amp;quot;)&quot;/&gt;
+        &lt;/Property&gt;
+      &lt;/Properties&gt;
+    &lt;/Component&gt;
   &lt;/SubComponents&gt;
 &lt;/Form&gt;</diff>
      <filename>src/org/netbeans/modules/git/options/GitPanel.form</filename>
    </modified>
    <modified>
      <diff>@@ -65,12 +65,12 @@ final class GitPanel extends javax.swing.JPanel {
     @Override
     public void addNotify() {
         super.addNotify();
-        userNameTextField.getDocument().addDocumentListener(listener);
+        emailTextField.getDocument().addDocumentListener(listener);
     }
 
     @Override
     public void removeNotify() {
-        userNameTextField.getDocument().removeDocumentListener(listener);
+        emailTextField.getDocument().removeDocumentListener(listener);
         super.removeNotify();
     }
 
@@ -84,20 +84,22 @@ final class GitPanel extends javax.swing.JPanel {
     // &lt;editor-fold defaultstate=&quot;collapsed&quot; desc=&quot;Generated Code&quot;&gt;//GEN-BEGIN:initComponents
     private void initComponents() {
 
-        jLabel1 = new javax.swing.JLabel();
-        jLabel2 = new javax.swing.JLabel();
+        emailLabel = new javax.swing.JLabel();
+        execPathLabel = new javax.swing.JLabel();
         jPanel1 = new javax.swing.JPanel();
         jLabel3 = new javax.swing.JLabel();
         jPanel2 = new javax.swing.JPanel();
         jLabel4 = new javax.swing.JLabel();
         exportFilename = new javax.swing.JLabel();
         backupOnRevertModifications = new javax.swing.JCheckBox();
+        userNameTextField = new javax.swing.JTextField();
+        userNameLabel = new javax.swing.JLabel();
 
-        jLabel1.setLabelFor(userNameTextField);
-        org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(GitPanel.class, &quot;GitPanel.jLabel1.text&quot;)); // NOI18N
+        emailLabel.setLabelFor(emailTextField);
+        org.openide.awt.Mnemonics.setLocalizedText(emailLabel, org.openide.util.NbBundle.getMessage(GitPanel.class, &quot;GitPanel.jLabel1.text&quot;)); // NOI18N
 
-        jLabel2.setLabelFor(executablePathTextField);
-        org.openide.awt.Mnemonics.setLocalizedText(jLabel2, org.openide.util.NbBundle.getMessage(GitPanel.class, &quot;GitPanel.jLabel2.text&quot;)); // NOI18N
+        execPathLabel.setLabelFor(executablePathTextField);
+        org.openide.awt.Mnemonics.setLocalizedText(execPathLabel, org.openide.util.NbBundle.getMessage(GitPanel.class, &quot;GitPanel.jLabel2.text&quot;)); // NOI18N
 
         org.openide.awt.Mnemonics.setLocalizedText(execPathBrowseButton, org.openide.util.NbBundle.getMessage(GitPanel.class, &quot;GitPanel.browseButton.text&quot;)); // NOI18N
 
@@ -119,7 +121,7 @@ final class GitPanel extends javax.swing.JPanel {
                 .add(jLabel3)
                 .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                 .add(annotationTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 405, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 494, Short.MAX_VALUE)
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 13, Short.MAX_VALUE)
                 .add(addButton)
                 .addContainerGap())
         );
@@ -136,7 +138,7 @@ final class GitPanel extends javax.swing.JPanel {
 
         addButton.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(GitPanel.class, &quot;ACSD_addButton&quot;)); // NOI18N
 
-        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(GitPanel.class, &quot;GitPanel.jPanel2.border.title&quot;))); // NOI18N
+        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(&quot;&quot;));
 
         org.openide.awt.Mnemonics.setLocalizedText(jLabel4, org.openide.util.NbBundle.getMessage(GitPanel.class, &quot;GitPanel.jLabel4.text&quot;)); // NOI18N
 
@@ -149,7 +151,7 @@ final class GitPanel extends javax.swing.JPanel {
             .add(jPanel2Layout.createSequentialGroup()
                 .addContainerGap()
                 .add(jLabel4)
-                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 548, Short.MAX_VALUE)
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 67, Short.MAX_VALUE)
                 .add(manageButton)
                 .addContainerGap())
         );
@@ -173,6 +175,9 @@ final class GitPanel extends javax.swing.JPanel {
         backupOnRevertModifications.setSelected(true);
         org.openide.awt.Mnemonics.setLocalizedText(backupOnRevertModifications, org.openide.util.NbBundle.getMessage(GitPanel.class, &quot;GitPanel.jCheckBox1.text&quot;)); // NOI18N
 
+        userNameLabel.setLabelFor(userNameTextField);
+        org.openide.awt.Mnemonics.setLocalizedText(userNameLabel, org.openide.util.NbBundle.getMessage(GitPanel.class, &quot;GitPanel.jLabel5.text&quot;)); // NOI18N
+
         org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
         this.setLayout(layout);
         layout.setHorizontalGroup(
@@ -180,54 +185,66 @@ final class GitPanel extends javax.swing.JPanel {
             .add(layout.createSequentialGroup()
                 .addContainerGap()
                 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
-                    .add(backupOnRevertModifications)
-                    .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                     .add(layout.createSequentialGroup()
-                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
-                            .add(jLabel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 160, Short.MAX_VALUE)
-                            .add(jLabel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                            .add(exportFilename, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
-                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                         .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
-                            .add(userNameTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 971, Short.MAX_VALUE)
-                            .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
-                                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
-                                    .add(exportFilenameTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 559, Short.MAX_VALUE)
-                                    .add(org.jdesktop.layout.GroupLayout.TRAILING, executablePathTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 559, Short.MAX_VALUE))
+                            .add(backupOnRevertModifications)
+                            .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .add(layout.createSequentialGroup()
+                                .add(emailLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 160, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
-                                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
-                                    .add(execPathBrowseButton)
-                                    .add(exportFilenameBrowseButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 403, Short.MAX_VALUE))))))
-                .addContainerGap())
+                                .add(emailTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 490, Short.MAX_VALUE))
+                            .add(layout.createSequentialGroup()
+                                .add(userNameLabel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE)
+                                .add(70, 70, 70)
+                                .add(userNameTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 490, Short.MAX_VALUE)))
+                        .addContainerGap())
+                    .add(layout.createSequentialGroup()
+                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
+                            .add(layout.createSequentialGroup()
+                                .add(exportFilename)
+                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED))
+                            .add(execPathLabel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE))
+                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
+                            .add(exportFilenameTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 385, Short.MAX_VALUE)
+                            .add(executablePathTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 385, Short.MAX_VALUE))
+                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
+                            .add(execPathBrowseButton)
+                            .add(exportFilenameBrowseButton))
+                        .add(20, 20, 20))))
         );
         layout.setVerticalGroup(
             layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
             .add(layout.createSequentialGroup()
                 .addContainerGap()
                 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
-                    .add(userNameTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
-                    .add(jLabel1))
-                .add(18, 18, 18)
+                    .add(emailLabel)
+                    .add(emailTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
+                    .add(userNameLabel)
+                    .add(userNameTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                     .add(execPathBrowseButton)
-                    .add(jLabel2)
-                    .add(executablePathTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
+                    .add(executablePathTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                    .add(execPathLabel))
                 .add(18, 18, 18)
                 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
-                    .add(exportFilename)
                     .add(exportFilenameTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
-                    .add(exportFilenameBrowseButton))
-                .add(10, 10, 10)
+                    .add(exportFilenameBrowseButton)
+                    .add(exportFilename))
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 26, Short.MAX_VALUE)
                 .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
-                .add(18, 18, 18)
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                 .add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
-                .add(18, 18, 18)
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                 .add(backupOnRevertModifications)
-                .addContainerGap(25, Short.MAX_VALUE))
+                .add(27, 27, 27))
         );
 
-        userNameTextField.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(GitPanel.class, &quot;ACSD_userNameTextField&quot;)); // NOI18N
+        emailTextField.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(GitPanel.class, &quot;ACSD_userNameTextField&quot;)); // NOI18N
         executablePathTextField.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(GitPanel.class, &quot;ACSD_executablePathTextField&quot;)); // NOI18N
         execPathBrowseButton.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(GitPanel.class, &quot;ACSD_execPathBrowseButton&quot;)); // NOI18N
         jPanel2.getAccessibleContext().setAccessibleName(&quot;&lt;GitPanel.jPanel2.border.title&gt;&quot;);
@@ -248,6 +265,7 @@ final class GitPanel extends javax.swing.JPanel {
         // someCheckBox.setSelected(NbPreferences.forModule(GitPanel.class).getBoolean(&quot;someFlag&quot;, false)); // NOI18N
         // or:
         // someTextField.setText(SomeSystemOption.getDefault().getSomeStringProperty());
+        emailTextField.setText(GitModuleConfig.getDefault().getEmail());
         userNameTextField.setText(GitModuleConfig.getDefault().getUserName());
         executablePathTextField.setText(GitModuleConfig.getDefault().getExecutableBinaryPath());
         exportFilenameTextField.setText(GitModuleConfig.getDefault().getExportFilename());
@@ -263,6 +281,7 @@ final class GitPanel extends javax.swing.JPanel {
         // NbPreferences.forModule(GitPanel.class).putBoolean(&quot;someFlag&quot;, someCheckBox.isSelected()); // NOI18N
         // or:
         // SomeSystemOption.getDefault().setSomeStringProperty(someTextField.getText());
+        GitModuleConfig.getDefault().setEmail(emailTextField.getText());
         GitModuleConfig.getDefault().setUserName(userNameTextField.getText());
         GitModuleConfig.getDefault().setExecutableBinaryPath(executablePathTextField.getText());
         GitModuleConfig.getDefault().setExportFilename(exportFilenameTextField.getText());
@@ -277,7 +296,7 @@ final class GitPanel extends javax.swing.JPanel {
     boolean valid() {
         // TODO check whether form is consistent and complete
         //return true;
-        String username = userNameTextField.getText();
+        String username = emailTextField.getText();
         Boolean valid;
         valid =  GitModuleConfig.getDefault().isUserNameValid(username);
         if (!valid) return false;
@@ -290,19 +309,21 @@ final class GitPanel extends javax.swing.JPanel {
     final javax.swing.JButton addButton = new javax.swing.JButton();
     final javax.swing.JTextField annotationTextField = new javax.swing.JTextField();
     private javax.swing.JCheckBox backupOnRevertModifications;
+    private javax.swing.JLabel emailLabel;
+    final javax.swing.JTextField emailTextField = new javax.swing.JTextField();
     final javax.swing.JButton execPathBrowseButton = new javax.swing.JButton();
+    private javax.swing.JLabel execPathLabel;
     final javax.swing.JTextField executablePathTextField = new javax.swing.JTextField();
     private javax.swing.JLabel exportFilename;
     final javax.swing.JButton exportFilenameBrowseButton = new javax.swing.JButton();
     final javax.swing.JTextField exportFilenameTextField = new javax.swing.JTextField();
-    private javax.swing.JLabel jLabel1;
-    private javax.swing.JLabel jLabel2;
     private javax.swing.JLabel jLabel3;
     private javax.swing.JLabel jLabel4;
     private javax.swing.JPanel jPanel1;
     private javax.swing.JPanel jPanel2;
     final javax.swing.JButton manageButton = new javax.swing.JButton();
-    final javax.swing.JTextField userNameTextField = new javax.swing.JTextField();
+    private javax.swing.JLabel userNameLabel;
+    private javax.swing.JTextField userNameTextField;
     // End of variables declaration//GEN-END:variables
     
 }
\ No newline at end of file</diff>
      <filename>src/org/netbeans/modules/git/options/GitPanel.java</filename>
    </modified>
    <modified>
      <diff>@@ -44,7 +44,7 @@ made subject to such option by the copyright holder.
 &lt;!DOCTYPE filesystem PUBLIC &quot;-//NetBeans//DTD Filesystem 1.1//EN&quot; &quot;http://www.netbeans.org/dtds/filesystem-1_1.dtd&quot;&gt;
 &lt;filesystem&gt;
     &lt;folder name=&quot;Actions&quot;&gt;
-        &lt;folder name=&quot;Mercurial&quot;&gt;
+        &lt;folder name=&quot;Git&quot;&gt;
             &lt;file name=&quot;org-netbeans-modules-git-ui-status-OpenVersioningAction.instance&quot;&gt;
                 &lt;attr name=&quot;instanceClass&quot; stringvalue=&quot;org.netbeans.modules.git.ui.status.OpenVersioningAction&quot;/&gt;
             &lt;/file&gt;
@@ -53,7 +53,7 @@ made subject to such option by the copyright holder.
     &lt;folder name=&quot;Editors&quot;&gt;
         &lt;folder name=&quot;SideBar&quot;&gt;
             &lt;file name=&quot;org-netbeans-modules-git-ui-annotate-AnnotationBarManager.instance&quot;&gt;
-                &lt;attr name=&quot;position&quot; intvalue=&quot;2200&quot;/&gt;
+                &lt;attr name=&quot;position&quot; intvalue=&quot;2201&quot;/&gt;
             &lt;/file&gt;
             &lt;!-- place in between line numbers sidebar and folding sidebar #57544 --&gt;
         &lt;/folder&gt;
@@ -87,7 +87,7 @@ made subject to such option by the copyright holder.
         &lt;folder name=&quot;Modes&quot;&gt;
             &lt;folder name=&quot;output&quot;&gt;
                 &lt;file name=&quot;gitversioning.wstcref&quot; url=&quot;git_wstcref.xml&quot;&gt;
-                    &lt;attr name=&quot;position&quot; intvalue=&quot;650&quot;/&gt;
+                    &lt;attr name=&quot;position&quot; intvalue=&quot;651&quot;/&gt;
                 &lt;/file&gt;
             &lt;/folder&gt;
         &lt;/folder&gt;
@@ -96,8 +96,9 @@ made subject to such option by the copyright holder.
         &lt;folder name=&quot;Window&quot;&gt;
             &lt;folder name=&quot;Versioning&quot;&gt;
                 &lt;file name=&quot;org-netbeans-modules-git-ui-status-OpenVersioningAction.shadow&quot;&gt;
+                    &lt;attr name=&quot;SystemFileSystem.icon&quot; urlvalue=&quot;nbresloc:/org/netbeans/modules/git/resources/icons/gitvcs-icon.png&quot;/&gt;
                     &lt;attr name=&quot;originalFile&quot; stringvalue=&quot;Actions/Git/org-netbeans-modules-git-ui-status-OpenVersioningAction.instance&quot;/&gt;
-                    &lt;attr name=&quot;position&quot; intvalue=&quot;400&quot;/&gt;
+                    &lt;attr name=&quot;position&quot; intvalue=&quot;401&quot;/&gt;
                 &lt;/file&gt;
             &lt;/folder&gt;
         &lt;/folder&gt;</diff>
      <filename>src/org/netbeans/modules/git/resources/git-layer.xml</filename>
    </modified>
    <modified>
      <diff>@@ -84,6 +84,9 @@
         &lt;/Component&gt;
         &lt;Component class=&quot;javax.swing.JButton&quot; name=&quot;btnRefresh&quot;&gt;
           &lt;Properties&gt;
+            &lt;Property name=&quot;icon&quot; type=&quot;javax.swing.Icon&quot; editor=&quot;org.netbeans.modules.form.editors2.IconEditor&quot;&gt;
+              &lt;Image iconType=&quot;3&quot; name=&quot;/org/netbeans/modules/git/resources/icons/refresh.png&quot;/&gt;
+            &lt;/Property&gt;
             &lt;Property name=&quot;toolTipText&quot; type=&quot;java.lang.String&quot; editor=&quot;org.netbeans.modules.i18n.form.FormI18nStringEditor&quot;&gt;
               &lt;ResourceString bundle=&quot;org/netbeans/modules/git/ui/status/Bundle.properties&quot; key=&quot;CTL_Synchronize_Action_Refresh_Tooltip&quot; replaceFormat=&quot;org.openide.util.NbBundle.getMessage({sourceFileName}.class, &amp;quot;{key}&amp;quot;)&quot;/&gt;
             &lt;/Property&gt;
@@ -106,6 +109,9 @@
         &lt;/Component&gt;
         &lt;Component class=&quot;javax.swing.JButton&quot; name=&quot;btnDiff&quot;&gt;
           &lt;Properties&gt;
+            &lt;Property name=&quot;icon&quot; type=&quot;javax.swing.Icon&quot; editor=&quot;org.netbeans.modules.form.editors2.IconEditor&quot;&gt;
+              &lt;Image iconType=&quot;3&quot; name=&quot;/org/netbeans/modules/git/resources/icons/diff.png&quot;/&gt;
+            &lt;/Property&gt;
             &lt;Property name=&quot;toolTipText&quot; type=&quot;java.lang.String&quot; editor=&quot;org.netbeans.modules.i18n.form.FormI18nStringEditor&quot;&gt;
               &lt;ResourceString bundle=&quot;org/netbeans/modules/git/ui/status/Bundle.properties&quot; key=&quot;CTL_Synchronize_Action_Diff_Tooltip&quot; replaceFormat=&quot;java.util.ResourceBundle.getBundle(&amp;quot;{bundleNameSlashes}&amp;quot;).getString(&amp;quot;{key}&amp;quot;)&quot;/&gt;
             &lt;/Property&gt;
@@ -133,6 +139,9 @@
         &lt;/Container&gt;
         &lt;Component class=&quot;javax.swing.JButton&quot; name=&quot;btnUpdate&quot;&gt;
           &lt;Properties&gt;
+            &lt;Property name=&quot;icon&quot; type=&quot;javax.swing.Icon&quot; editor=&quot;org.netbeans.modules.form.editors2.IconEditor&quot;&gt;
+              &lt;Image iconType=&quot;3&quot; name=&quot;/org/netbeans/modules/git/resources/icons/update.png&quot;/&gt;
+            &lt;/Property&gt;
             &lt;Property name=&quot;toolTipText&quot; type=&quot;java.lang.String&quot; editor=&quot;org.netbeans.modules.i18n.form.FormI18nStringEditor&quot;&gt;
               &lt;ResourceString bundle=&quot;org/netbeans/modules/git/ui/status/Bundle.properties&quot; key=&quot;CTL_Synchronize_Action_Update_Tooltip&quot; replaceFormat=&quot;java.util.ResourceBundle.getBundle(&amp;quot;{bundleNameSlashes}&amp;quot;).getString(&amp;quot;{key}&amp;quot;)&quot;/&gt;
             &lt;/Property&gt;
@@ -153,6 +162,9 @@
         &lt;/Component&gt;
         &lt;Component class=&quot;javax.swing.JButton&quot; name=&quot;btnCommit&quot;&gt;
           &lt;Properties&gt;
+            &lt;Property name=&quot;icon&quot; type=&quot;javax.swing.Icon&quot; editor=&quot;org.netbeans.modules.form.editors2.IconEditor&quot;&gt;
+              &lt;Image iconType=&quot;3&quot; name=&quot;/org/netbeans/modules/git/resources/icons/commit.png&quot;/&gt;
+            &lt;/Property&gt;
             &lt;Property name=&quot;toolTipText&quot; type=&quot;java.lang.String&quot; editor=&quot;org.netbeans.modules.i18n.form.FormI18nStringEditor&quot;&gt;
               &lt;ResourceString bundle=&quot;org/netbeans/modules/git/ui/status/Bundle.properties&quot; key=&quot;CTL_CommitForm_Action_Commit_Tooltip&quot; replaceFormat=&quot;java.util.ResourceBundle.getBundle(&amp;quot;{bundleNameSlashes}&amp;quot;).getString(&amp;quot;{key}&amp;quot;)&quot;/&gt;
             &lt;/Property&gt;</diff>
      <filename>src/org/netbeans/modules/git/ui/status/VersioningPanel.form</filename>
    </modified>
    <modified>
      <diff>@@ -696,6 +696,7 @@ class VersioningPanel extends JPanel implements ExplorerManager.Provider, Prefer
         jSeparator2.setOrientation(javax.swing.SwingConstants.VERTICAL);
         jPanel2.add(jSeparator2);
 
+        btnRefresh.setIcon(new javax.swing.ImageIcon(getClass().getResource(&quot;/org/netbeans/modules/git/resources/icons/refresh.png&quot;))); // NOI18N
         btnRefresh.setToolTipText(org.openide.util.NbBundle.getMessage(VersioningPanel.class, &quot;CTL_Synchronize_Action_Refresh_Tooltip&quot;)); // NOI18N
         btnRefresh.setMaximumSize(new java.awt.Dimension(28, 28));
         btnRefresh.setMinimumSize(new java.awt.Dimension(28, 28));
@@ -704,6 +705,7 @@ class VersioningPanel extends JPanel implements ExplorerManager.Provider, Prefer
         jPanel2.add(btnRefresh);
         btnRefresh.getAccessibleContext().setAccessibleName(&quot;Refresh Status&quot;);
 
+        btnDiff.setIcon(new javax.swing.ImageIcon(getClass().getResource(&quot;/org/netbeans/modules/git/resources/icons/diff.png&quot;))); // NOI18N
         btnDiff.setToolTipText(bundle.getString(&quot;CTL_Synchronize_Action_Diff_Tooltip&quot;)); // NOI18N
         btnDiff.setFocusable(false);
         btnDiff.setPreferredSize(new java.awt.Dimension(22, 25));
@@ -714,6 +716,7 @@ class VersioningPanel extends JPanel implements ExplorerManager.Provider, Prefer
         jPanel3.setOpaque(false);
         jPanel2.add(jPanel3);
 
+        btnUpdate.setIcon(new javax.swing.ImageIcon(getClass().getResource(&quot;/org/netbeans/modules/git/resources/icons/update.png&quot;))); // NOI18N
         btnUpdate.setToolTipText(bundle.getString(&quot;CTL_Synchronize_Action_Update_Tooltip&quot;)); // NOI18N
         btnUpdate.setFocusable(false);
         btnUpdate.setPreferredSize(new java.awt.Dimension(22, 25));
@@ -721,6 +724,7 @@ class VersioningPanel extends JPanel implements ExplorerManager.Provider, Prefer
         jPanel2.add(btnUpdate);
         btnUpdate.getAccessibleContext().setAccessibleName(&quot;Update&quot;);
 
+        btnCommit.setIcon(new javax.swing.ImageIcon(getClass().getResource(&quot;/org/netbeans/modules/git/resources/icons/commit.png&quot;))); // NOI18N
         btnCommit.setToolTipText(bundle.getString(&quot;CTL_CommitForm_Action_Commit_Tooltip&quot;)); // NOI18N
         btnCommit.setFocusable(false);
         btnCommit.setPreferredSize(new java.awt.Dimension(22, 25));</diff>
      <filename>src/org/netbeans/modules/git/ui/status/VersioningPanel.java</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>ad7f93f36e0fa09915ed1ef38c685a75348ca705</id>
    </parent>
  </parents>
  <author>
    <name>Alex Coles</name>
    <email>alexbcoles@mac.com</email>
  </author>
  <url>http://github.com/myabc/nbgit/commit/474f376112eb654e4791347c8a4a67d24d587c0e</url>
  <id>474f376112eb654e4791347c8a4a67d24d587c0e</id>
  <committed-date>2008-04-03T19:01:44-07:00</committed-date>
  <authored-date>2008-04-03T19:01:44-07:00</authored-date>
  <message>Set module specification to 1.0.
Added email address and name into UI Options Panel. Users can now successfully
change their ~/.gitconfig user name + password.
Added artwork into misc/ folder (logo borrowed from msysgit project)
Added icon for Git VCS.
Fixed missing icons in VersioningPanel.</message>
  <tree>33e5bddab379f0edb0aea8ab9647f7c951d90c39</tree>
  <committer>
    <name>Alex Coles</name>
    <email>alexbcoles@mac.com</email>
  </committer>
</commit>
