Skip to content

Commit 0c22970

Browse files
authored
Merge pull request presslabs#250 from PressLabs/239-clone-empty-repository
Show a more useful message when tring to clone an empty repository. (fixes presslabs#239)
2 parents fbfe9f3 + dc2d6ea commit 0c22970

File tree

1 file changed

+23
-15
lines changed

1 file changed

+23
-15
lines changed

gitfs/mounter.py

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
# limitations under the License.
1414

1515

16-
import argparse
1716
import sys
17+
import argparse
1818

1919
from fuse import FUSE
2020
from pygit2 import Keypair, UserPass
@@ -53,19 +53,24 @@ def prepare_components(args):
5353

5454
credentials = get_credentials(args)
5555

56-
# setting router
57-
router = Router(remote_url=args.remote_url,
58-
mount_path=args.mount_point,
59-
repo_path=args.repo_path,
60-
branch=args.branch,
61-
user=args.user,
62-
group=args.group,
63-
max_size=args.max_size * 1024 * 1024,
64-
max_offset=args.max_size * 1024 * 1024,
65-
commit_queue=commit_queue,
66-
credentials=credentials,
67-
ignore_file=args.ignore_file,
68-
hard_ignore=args.hard_ignore)
56+
try:
57+
# setting router
58+
router = Router(remote_url=args.remote_url,
59+
mount_path=args.mount_point,
60+
repo_path=args.repo_path,
61+
branch=args.branch,
62+
user=args.user,
63+
group=args.group,
64+
max_size=args.max_size * 1024 * 1024,
65+
max_offset=args.max_size * 1024 * 1024,
66+
commit_queue=commit_queue,
67+
credentials=credentials,
68+
ignore_file=args.ignore_file,
69+
hard_ignore=args.hard_ignore)
70+
except KeyError as error:
71+
sys.stderr.write("Can't clone reference origin/%s from remote %s: %s\n" %
72+
(args.branch, args.remote_url, error))
73+
raise error
6974

7075
# register all the routes
7176
router.register(routes)
@@ -101,7 +106,10 @@ def start_fuse():
101106
parser = argparse.ArgumentParser(prog='GitFS')
102107
args = parse_args(parser)
103108

104-
merge_worker, fetch_worker, router = prepare_components(args)
109+
try:
110+
merge_worker, fetch_worker, router = prepare_components(args)
111+
except:
112+
return
105113

106114
# ready to mount it
107115
if sys.platform == 'darwin':

0 commit comments

Comments
 (0)