diff src/org/tmatesoft/hg/repo/HgDataFile.java @ 420:6c22bdc0bdfd

Respect long offsets in revlogs
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Thu, 22 Mar 2012 22:56:01 +0100
parents ccd7d25e5aea
children 9c9c442b5f2e
line wrap: on
line diff
--- a/src/org/tmatesoft/hg/repo/HgDataFile.java	Thu Mar 22 21:36:41 2012 +0100
+++ b/src/org/tmatesoft/hg/repo/HgDataFile.java	Thu Mar 22 22:56:01 2012 +0100
@@ -41,6 +41,7 @@
 import org.tmatesoft.hg.internal.FilterByteChannel;
 import org.tmatesoft.hg.internal.FilterDataAccess;
 import org.tmatesoft.hg.internal.IntMap;
+import org.tmatesoft.hg.internal.Internals;
 import org.tmatesoft.hg.internal.RevlogStream;
 import org.tmatesoft.hg.util.ByteChannel;
 import org.tmatesoft.hg.util.CancelSupport;
@@ -129,7 +130,8 @@
 		} else if (fileRevisionIndex == WORKING_COPY) {
 			File f = getRepo().getFile(this);
 			if (f.exists()) {
-				return (int) /*FIXME long!*/ f.length();
+				// single revision can't be greater than 2^32, shall be safe to cast to int
+				return Internals.ltoi(f.length());
 			}
 			Nodeid fileRev = getWorkingCopyRevision();
 			if (fileRev == null) {