On Fri, Oct 11, 2013 at 11:49 PM, Ralf Thielow <ralf.thielow@xxxxxxxxx> wrote: > Since 920b691 (clone: refuse to clone if --branch > points to bogus ref) we refuse to clone with option > "-b" if the specified branch does not exist in the > (non-empty) upstream. If the upstream repository is empty, > the branch doesn't exist, either. So refuse the clone too. Yeah, much simpler approach :) > Signed-off-by: Ralf Thielow <ralf.thielow@xxxxxxxxx> > --- > builtin/clone.c | 4 ++++ > t/t5706-clone-branch.sh | 8 +++++++- > 2 files changed, 11 insertions(+), 1 deletion(-) > > diff --git a/builtin/clone.c b/builtin/clone.c > index ca3eb68..5af386e 100644 > --- a/builtin/clone.c > +++ b/builtin/clone.c > @@ -945,6 +945,10 @@ int cmd_clone(int argc, const char **argv, const char *prefix) > our_head_points_at = remote_head_points_at; > } > else { > + if (option_branch) > + die(_("Remote branch %s not found in upstream %s"), > + option_branch, option_origin); > + > warning(_("You appear to have cloned an empty repository.")); > mapped_refs = NULL; > our_head_points_at = NULL; > diff --git a/t/t5706-clone-branch.sh b/t/t5706-clone-branch.sh > index 56be67e..6e7a7be 100755 > --- a/t/t5706-clone-branch.sh > +++ b/t/t5706-clone-branch.sh > @@ -20,7 +20,9 @@ test_expect_success 'setup' ' > echo one >file && git add file && git commit -m one && > git checkout -b two && > echo two >file && git add file && git commit -m two && > - git checkout master) > + git checkout master) && > + mkdir empty && > + (cd empty && git init) > ' > > test_expect_success 'vanilla clone chooses HEAD' ' > @@ -61,4 +63,8 @@ test_expect_success 'clone -b with bogus branch' ' > test_must_fail git clone -b bogus parent clone-bogus > ' > > +test_expect_success 'clone -b not allowed with empty repos' ' > + test_must_fail git clone -b branch empty clone-branch-empty > +' > + > test_done > -- > 1.8.4.652.g0d6e0ce > -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html