]> source.dussan.org Git - jgit.git/commitdiff
Locate $HOME like C Git does on Windows 37/2237/1
authorRobin Rosenberg <robin.rosenberg@dewire.com>
Wed, 12 Jan 2011 13:58:55 +0000 (14:58 +0100)
committerRobin Rosenberg <robin.rosenberg@dewire.com>
Wed, 12 Jan 2011 13:58:55 +0000 (14:58 +0100)
Java's user.home is not the same as $HOME so EGit did see the
same global configuration as C Git does.

Bug: 333269
Change-Id: Id54fc5292bf8c5a67177f9097ee692717a7df336
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
org.eclipse.jgit/src/org/eclipse/jgit/util/FS_Win32.java

index 2cf8bf9554207af2433c4c215d3806dbba910ce7..0ee7a6bc50e6d6fe0f233e88539ef86b67f65df9 100644 (file)
@@ -96,4 +96,22 @@ class FS_Win32 extends FS {
 
                return null;
        }
+
+       @Override
+       protected File userHomeImpl() {
+               String home = SystemReader.getInstance().getenv("HOME");
+               if (home != null)
+                       return resolve(null, home);
+               String homeDrive = SystemReader.getInstance().getenv("HOMEDRIVE");
+               if (homeDrive != null) {
+                       String homePath = SystemReader.getInstance().getenv("HOMEPATH");
+                       return new File(homeDrive, homePath);
+               }
+
+               String homeShare = SystemReader.getInstance().getenv("HOMESHARE");
+               if (homeShare != null)
+                       return new File(homeShare);
+
+               return super.userHomeImpl();
+       }
 }