Mercurial > jhg
comparison src/org/tmatesoft/hg/core/HgCloneCommand.java @ 295:981f9f50bb6c
Issue 11: Error log facility. SessionContext to share common facilities
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Fri, 16 Sep 2011 05:35:32 +0200 |
parents | a415fe296a50 |
children | fc8bc2f1edbe |
comparison
equal
deleted
inserted
replaced
294:32890bab7209 | 295:981f9f50bb6c |
---|---|
69 public HgCloneCommand source(HgRemoteRepository hgRemote) { | 69 public HgCloneCommand source(HgRemoteRepository hgRemote) { |
70 srcRepo = hgRemote; | 70 srcRepo = hgRemote; |
71 return this; | 71 return this; |
72 } | 72 } |
73 | 73 |
74 public HgRepository execute() throws HgException, CancelledException { | 74 public HgRepository execute() throws HgBadArgumentException, HgRemoteConnectionException, HgInvalidFileException, CancelledException { |
75 if (destination == null) { | 75 if (destination == null) { |
76 throw new HgBadArgumentException("Destination not set", null); | 76 throw new IllegalArgumentException("Destination not set", null); |
77 } | 77 } |
78 if (srcRepo == null || srcRepo.isInvalid()) { | 78 if (srcRepo == null || srcRepo.isInvalid()) { |
79 throw new HgBadArgumentException("Bad source repository", null); | 79 throw new HgBadArgumentException("Bad source repository", null); |
80 } | 80 } |
81 if (destination.exists()) { | 81 if (destination.exists()) { |
99 mate.initEmptyRepository(); | 99 mate.initEmptyRepository(); |
100 // pull changes | 100 // pull changes |
101 completeChanges.inspectAll(mate); | 101 completeChanges.inspectAll(mate); |
102 mate.complete(); | 102 mate.complete(); |
103 } catch (IOException ex) { | 103 } catch (IOException ex) { |
104 throw new HgException(ex); | 104 throw new HgInvalidFileException(getClass().getName(), ex); |
105 } finally { | 105 } finally { |
106 completeChanges.unlink(); | 106 completeChanges.unlink(); |
107 } | 107 } |
108 return new HgLookup().detect(destination); | 108 return new HgLookup().detect(destination); |
109 } | 109 } |