Mercurial > jhg
annotate src/org/tmatesoft/hg/repo/HgInvalidControlFileException.java @ 522:2103388d4010 v1.1m2
Expose option to report changesets in reversed order
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> | 
|---|---|
| date | Wed, 26 Dec 2012 18:14:53 +0100 | 
| parents | 51d682cf9cdc | 
| children | 6526d8adbc0f | 
| rev | line source | 
|---|---|
| 
318
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
1 /* | 
| 
394
 
f52ca9530774
Resolve FIXMEs: more consistent exceptions
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
354 
diff
changeset
 | 
2 * Copyright (c) 2011-2012 TMate Software Ltd | 
| 
318
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
3 * | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
4 * This program is free software; you can redistribute it and/or modify | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
5 * it under the terms of the GNU General Public License as published by | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
6 * the Free Software Foundation; version 2 of the License. | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
7 * | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
8 * This program is distributed in the hope that it will be useful, | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
11 * GNU General Public License for more details. | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
12 * | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
13 * For information on how to redistribute this software under | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
14 * the terms of a license other than GNU General Public License | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
15 * contact TMate Software at support@hg4j.com | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
16 */ | 
| 
423
 
9c9c442b5f2e
Major refactoring of exception handling. Low-level API uses RuntimeExceptions, while checked are left for higher level
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
396 
diff
changeset
 | 
17 package org.tmatesoft.hg.repo; | 
| 
318
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
18 | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
19 import java.io.File; | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
20 | 
| 
423
 
9c9c442b5f2e
Major refactoring of exception handling. Low-level API uses RuntimeExceptions, while checked are left for higher level
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
396 
diff
changeset
 | 
21 import org.tmatesoft.hg.core.Nodeid; | 
| 
396
 
0ae53c32ecef
Straighten out exceptions thrown when file access failed - three is too much
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
394 
diff
changeset
 | 
22 import org.tmatesoft.hg.util.Path; | 
| 
318
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
23 | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
24 /** | 
| 
335
 
3d41dc148d14
Do not fail with exception on syntax errors in .hgignore
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
318 
diff
changeset
 | 
25 * Subclass of {@link HgInvalidFileException} to indicate failure to deal with one of <b>Mercurial</b> control files | 
| 
 
3d41dc148d14
Do not fail with exception on syntax errors in .hgignore
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
318 
diff
changeset
 | 
26 * (most likely those under .hg/, but also those residing in the repository, with special meaning to the Mercurial, like .hgtags or .hgignore) | 
| 
396
 
0ae53c32ecef
Straighten out exceptions thrown when file access failed - three is too much
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
394 
diff
changeset
 | 
27 * | 
| 
318
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
28 * @author Artem Tikhomirov | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
29 * @author TMate Software Ltd. | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
30 */ | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
31 @SuppressWarnings("serial") | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
32 public class HgInvalidControlFileException extends HgInvalidFileException { | 
| 
467
 
51d682cf9cdc
Cleaned experimental tag and updated comments/javadoc
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
423 
diff
changeset
 | 
33 // XXX Perhaps, child HgInvalidRevlogException and parent HgInvalidRepositoryFileException? | 
| 
318
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
34 | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
35 public HgInvalidControlFileException(String message, Throwable th, File file) { | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
36 super(message, th, file); | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
37 } | 
| 
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
38 | 
| 
348
 
a0864b2892cd
Expose errors reading mercurial control files with exception
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
335 
diff
changeset
 | 
39 @Override | 
| 
 
a0864b2892cd
Expose errors reading mercurial control files with exception
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
335 
diff
changeset
 | 
40 public HgInvalidControlFileException setFile(File file) { | 
| 
 
a0864b2892cd
Expose errors reading mercurial control files with exception
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
335 
diff
changeset
 | 
41 super.setFile(file); | 
| 
 
a0864b2892cd
Expose errors reading mercurial control files with exception
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
335 
diff
changeset
 | 
42 return this; | 
| 
 
a0864b2892cd
Expose errors reading mercurial control files with exception
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
335 
diff
changeset
 | 
43 } | 
| 
354
 
5f9073eabf06
Propagate errors with exceptions up to a end client
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
348 
diff
changeset
 | 
44 | 
| 
 
5f9073eabf06
Propagate errors with exceptions up to a end client
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
348 
diff
changeset
 | 
45 @Override | 
| 
 
5f9073eabf06
Propagate errors with exceptions up to a end client
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
348 
diff
changeset
 | 
46 public HgInvalidControlFileException setRevision(Nodeid r) { | 
| 
396
 
0ae53c32ecef
Straighten out exceptions thrown when file access failed - three is too much
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
394 
diff
changeset
 | 
47 return (HgInvalidControlFileException) super.setRevision(r); | 
| 
354
 
5f9073eabf06
Propagate errors with exceptions up to a end client
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
348 
diff
changeset
 | 
48 } | 
| 
394
 
f52ca9530774
Resolve FIXMEs: more consistent exceptions
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
354 
diff
changeset
 | 
49 | 
| 
 
f52ca9530774
Resolve FIXMEs: more consistent exceptions
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
354 
diff
changeset
 | 
50 @Override | 
| 
396
 
0ae53c32ecef
Straighten out exceptions thrown when file access failed - three is too much
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
394 
diff
changeset
 | 
51 public HgInvalidControlFileException setRevisionIndex(int rev) { | 
| 
 
0ae53c32ecef
Straighten out exceptions thrown when file access failed - three is too much
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
394 
diff
changeset
 | 
52 return (HgInvalidControlFileException) super.setRevisionIndex(rev); | 
| 
 
0ae53c32ecef
Straighten out exceptions thrown when file access failed - three is too much
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
394 
diff
changeset
 | 
53 } | 
| 
 
0ae53c32ecef
Straighten out exceptions thrown when file access failed - three is too much
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
394 
diff
changeset
 | 
54 | 
| 
 
0ae53c32ecef
Straighten out exceptions thrown when file access failed - three is too much
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
394 
diff
changeset
 | 
55 @Override | 
| 
 
0ae53c32ecef
Straighten out exceptions thrown when file access failed - three is too much
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
394 
diff
changeset
 | 
56 public HgInvalidControlFileException setFileName(Path name) { | 
| 
 
0ae53c32ecef
Straighten out exceptions thrown when file access failed - three is too much
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
394 
diff
changeset
 | 
57 return (HgInvalidControlFileException) super.setFileName(name); | 
| 
394
 
f52ca9530774
Resolve FIXMEs: more consistent exceptions
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents: 
354 
diff
changeset
 | 
58 } | 
| 
318
 
c3d2233ba842
Shall propagate errors to clients, not work around them silently
 
Artem Tikhomirov <tikhomirov.artem@gmail.com> 
parents:  
diff
changeset
 | 
59 } | 
