Mercurial > hg4j
comparison src/org/tmatesoft/hg/repo/HgDirstate.java @ 332:72c6eda838a6
NPE in HgDirstate.known() when no dirstate file present
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Wed, 09 Nov 2011 04:33:44 +0100 |
parents | 981f9f50bb6c |
children | a0864b2892cd |
comparison
equal
deleted
inserted
replaced
331:a37ce7145c3f | 332:72c6eda838a6 |
---|---|
73 canonicalPathRewrite = canonicalPath; | 73 canonicalPathRewrite = canonicalPath; |
74 } | 74 } |
75 | 75 |
76 private void read() { | 76 private void read() { |
77 normal = added = removed = merged = Collections.<Path, Record>emptyMap(); | 77 normal = added = removed = merged = Collections.<Path, Record>emptyMap(); |
78 if (canonicalPathRewrite != null) { | |
79 canonical2dirstateName = new HashMap<Path,Path>(); | |
80 } else { | |
81 canonical2dirstateName = Collections.emptyMap(); | |
82 } | |
78 if (dirstateFile == null || !dirstateFile.exists()) { | 83 if (dirstateFile == null || !dirstateFile.exists()) { |
79 return; | 84 return; |
80 } | 85 } |
81 DataAccess da = repo.getDataAccess().create(dirstateFile); | 86 DataAccess da = repo.getDataAccess().create(dirstateFile); |
82 if (da.isEmpty()) { | 87 if (da.isEmpty()) { |
85 // not sure linked is really needed here, just for ease of debug | 90 // not sure linked is really needed here, just for ease of debug |
86 normal = new LinkedHashMap<Path, Record>(); | 91 normal = new LinkedHashMap<Path, Record>(); |
87 added = new LinkedHashMap<Path, Record>(); | 92 added = new LinkedHashMap<Path, Record>(); |
88 removed = new LinkedHashMap<Path, Record>(); | 93 removed = new LinkedHashMap<Path, Record>(); |
89 merged = new LinkedHashMap<Path, Record>(); | 94 merged = new LinkedHashMap<Path, Record>(); |
90 if (canonicalPathRewrite != null) { | |
91 canonical2dirstateName = new HashMap<Path,Path>(); | |
92 } else { | |
93 canonical2dirstateName = Collections.emptyMap(); | |
94 } | |
95 try { | 95 try { |
96 parents = internalReadParents(da); | 96 parents = internalReadParents(da); |
97 // hg init; hg up produces an empty repository where dirstate has parents (40 bytes) only | 97 // hg init; hg up produces an empty repository where dirstate has parents (40 bytes) only |
98 while (!da.isEmpty()) { | 98 while (!da.isEmpty()) { |
99 final byte state = da.readByte(); | 99 final byte state = da.readByte(); |