comparison src/org/tmatesoft/hg/repo/HgMergeState.java @ 415:ee8264d80747

Explicit constant for regular file flags, access to flags for a given file revision
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Thu, 22 Mar 2012 18:54:11 +0100
parents 2fadf8695f8a
children 9c9c442b5f2e
comparison
equal deleted inserted replaced
414:bb278ccf9866 415:ee8264d80747
1 /* 1 /*
2 * Copyright (c) 2011 TMate Software Ltd 2 * Copyright (c) 2011-2012 TMate Software Ltd
3 * 3 *
4 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by 5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 2 of the License. 6 * the Free Software Foundation; version 2 of the License.
7 * 7 *
125 while ((s = br.readLine()) != null) { 125 while ((s = br.readLine()) != null) {
126 String[] r = s.split("\\00"); 126 String[] r = s.split("\\00");
127 Path p1fname = pathPool.path(r[3]); 127 Path p1fname = pathPool.path(r[3]);
128 Nodeid nidP1 = m1.nodeid(p1fname); 128 Nodeid nidP1 = m1.nodeid(p1fname);
129 Nodeid nidCA = nodeidPool.unify(Nodeid.fromAscii(r[5])); 129 Nodeid nidCA = nodeidPool.unify(Nodeid.fromAscii(r[5]));
130 HgFileRevision p1 = new HgFileRevision(repo, nidP1, p1fname); 130 HgFileRevision p1 = new HgFileRevision(repo, nidP1, m1.flags(p1fname), p1fname);
131 HgFileRevision ca; 131 HgFileRevision ca;
132 if (nidCA == nidP1 && r[3].equals(r[4])) { 132 if (nidCA == nidP1 && r[3].equals(r[4])) {
133 ca = p1; 133 ca = p1;
134 } else { 134 } else {
135 ca = new HgFileRevision(repo, nidCA, pathPool.path(r[4])); 135 ca = new HgFileRevision(repo, nidCA, null, pathPool.path(r[4]));
136 } 136 }
137 HgFileRevision p2; 137 HgFileRevision p2;
138 if (!wcp2.isNull() || !r[6].equals(r[4])) { 138 if (!wcp2.isNull() || !r[6].equals(r[4])) {
139 final Path p2fname = pathPool.path(r[6]); 139 final Path p2fname = pathPool.path(r[6]);
140 Nodeid nidP2 = m2.nodeid(p2fname); 140 Nodeid nidP2 = m2.nodeid(p2fname);
141 if (nidP2 == null) { 141 if (nidP2 == null) {
142 assert false : "There's not enough information (or I don't know where to look) in merge/state to find out what's the second parent"; 142 assert false : "There's not enough information (or I don't know where to look) in merge/state to find out what's the second parent";
143 nidP2 = NULL; 143 nidP2 = NULL;
144 } 144 }
145 p2 = new HgFileRevision(repo, nidP2, p2fname); 145 p2 = new HgFileRevision(repo, nidP2, m2.flags(p2fname), p2fname);
146 } else { 146 } else {
147 // no second parent known. no idea what to do here, assume linear merge, use common ancestor as parent 147 // no second parent known. no idea what to do here, assume linear merge, use common ancestor as parent
148 p2 = ca; 148 p2 = ca;
149 } 149 }
150 final Kind k; 150 final Kind k;