Re: [PATCH] vcs-svn: Fix 'fa/remote-svn' and 'fa/vcs-svn' in pu

2012-08-27 Thread Florian Achleitner
Hi! Thanks for your fixups. I'm currently integrating them in a new series. On what platform did you find that problems? Tried to reproduce them on 64bit Linux. Anyways the fixes look very reasonable. Florian On Thursday 23 August 2012 18:55:39 Ramsay Jones wrote: Signed-off-by: Ramsay Jones

Re: git no longer prompting for password

2012-08-27 Thread Iain Paton
On 26/08/12 10:57, Iain Paton wrote: If %{THE_REQUEST} =~ /git-receive-pack/ I've just discovered that the If .. directive only appears in apache 2.4 so something more generic will probably be a better idea. Not everyone will be running 2.4.x for a while yet. Iain -- To unsubscribe

Re: [PATCH 04/17] Name local variables more consistently

2012-08-27 Thread Michael Haggerty
On 08/26/2012 07:39 PM, Junio C Hamano wrote: Jeff King p...@peff.net writes: On Thu, Aug 23, 2012 at 10:10:29AM +0200, mhag...@alum.mit.edu wrote: From: Michael Haggerty mhag...@alum.mit.edu Use the names (nr_heads, heads) consistently across functions, instead of sometimes naming the

Re: [PATCH 04/17] Name local variables more consistently

2012-08-27 Thread Jeff King
On Mon, Aug 27, 2012 at 11:22:36AM +0200, Michael Haggerty wrote: Using one name is better, but I wonder heads is the better one between the two. After all, this codepath is not limited to branches these days as the word head implies. Rather, nr_thing, thing has what we asked for,

Re: [PATCH/RFC v4 02/13] read-cache.c: Re-read index if index file changed

2012-08-27 Thread Thomas Gummerer
On 08/25, Joachim Schmitz wrote: Thomas Gummerer t.gumme...@gmail.com schrieb im Newsbeitrag news:134529-6925-3-git-send-email-t.gumme...@gmail.com... [...] + usleep(10*1000); usleep() is not available to anybody, e.g. it is not in HP NonStop (not in every case at least)

Re: git checkout -t -B

2012-08-27 Thread Nguyen Thai Ngoc Duy
On Mon, Aug 27, 2012 at 1:38 AM, Junio C Hamano gits...@pobox.com wrote: 乙酸鋰 ch3co...@gmail.com writes: git checkout -t -B origin/abcde works but git checkout -B -t origin/abcde does not. Could you document the order of parameters or fix the behaviour? It is crystal clear that

[PATCH 0/8] fix password prompting for half-auth servers

2012-08-27 Thread Jeff King
On Sun, Aug 26, 2012 at 06:13:41AM -0400, Jeff King wrote: No problem. I'll probably be a day or two on the patches, as the http tests are in need of some refactoring before adding more tests. But in the meantime, I think your config change is a sane work-around. OK, here is the series. For

[PATCH 1/8] t5550: put auth-required repo in auth/dumb

2012-08-27 Thread Jeff King
In most of our tests, we put repos to be accessed by dumb protocols in /dumb, and repos to be accessed by smart protocols in /smart. In our test apache setup, the whole /auth hierarchy requires authentication. However, we don't bother to split it by smart and dumb here because we are not

[PATCH 3/8] t/lib-httpd: only route auth/dumb to dumb repos

2012-08-27 Thread Jeff King
Our test apache config points all of auth/ directly to the on-disk repositories via an Alias directive. This works fine because everything authenticated is currently in auth/dumb, which is a subset. However, this would conflict with a ScriptAlias for auth/smart (which will come in future

[PATCH 4/8] t/lib-httpd: recognize */smart/* repos as smart-http

2012-08-27 Thread Jeff King
We do not currently test authentication for smart-http repos at all. Part of the infrastructure to do this is recognizing that auth/smart is indeed a smart-http repo. The current apache config recognizes only ^/smart/* as smart-http. Let's instead treat anything with /smart/ in the URL as

[PATCH 5/8] t: test basic smart-http authentication

2012-08-27 Thread Jeff King
We do not currently test authentication over smart-http at all. In theory, it should work exactly as it does for dumb http (which we do test). It does indeed work for these simple tests, but this patch lays the groundwork for more complex tests in future patches. Signed-off-by: Jeff King

[PATCH 6/8] t: test http access to half-auth repositories

2012-08-27 Thread Jeff King
Some sites set up http access to repositories such that fetching is anonymous and unauthenticated, but pushing is authenticated. While there are multiple ways to do this, the technique advertised in the git-http-backend manpage is to block access to locations matching /git-receive-pack$. Let's

[PATCH 7/8] http: factor out http error code handling

2012-08-27 Thread Jeff King
Most of our http requests go through the http_request() interface, which does some nice post-processing on the results. In particular, it handles prompting for missing credentials as well as approving and rejecting valid or invalid credentials. Unfortunately, it only handles GET requests. Making

[PATCH 8/8] http: prompt for credentials on failed POST

2012-08-27 Thread Jeff King
All of the smart-http GET requests go through the http_get_* functions, which will prompt for credentials and retry if we see an HTTP 401. POST requests, however, do not go through any central point. Moreover, it is difficult to retry in the general case; we cannot assume the request body fits in

Re: git no longer prompting for password

2012-08-27 Thread BJ Hargrave
On Aug 27, 2012, at 04:28 , Iain Paton wrote: On 26/08/12 10:57, Iain Paton wrote: If %{THE_REQUEST} =~ /git-receive-pack/ I've just discovered that the If .. directive only appears in apache 2.4 so something more generic will probably be a better idea. Not everyone will be

exporting a .git file ?

2012-08-27 Thread Aaron Gray
Hi, Is there anyway to get my git repository as a single file ? Many thanks in advance, Aaron -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: exporting a .git file ?

2012-08-27 Thread Mihamina Rakotomandimby
On 08/27/2012 05:32 PM, Aaron Gray wrote: Is there anyway to get my git repository as a single file ? What is the purpose? .git/ is a folder... -- RMA. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at

Re: exporting a .git file ?

2012-08-27 Thread Aaron Gray
On 27 August 2012 15:35, Mihamina Rakotomandimby miham...@rktmb.org wrote: On 08/27/2012 05:32 PM, Aaron Gray wrote: Is there anyway to get my git repository as a single file ? What is the purpose? .git/ is a folder... I realize that but I wanted to distribute it as a downloadable file

Re: exporting a .git file ?

2012-08-27 Thread Aaron Gray
On 27 August 2012 15:45, Dan Johnson computerdr...@gmail.com wrote: On Mon, Aug 27, 2012 at 10:32 AM, Aaron Gray aaronngray.li...@gmail.com wrote: Hi, Is there anyway to get my git repository as a single file ? You're probably looking for the git bundle command (see git bundle --help),

Re: exporting a .git file ?

2012-08-27 Thread Konstantin Khomoutov
On Mon, 27 Aug 2012 15:32:40 +0100 Aaron Gray aaronngray.li...@gmail.com wrote: Is there anyway to get my git repository as a single file ? Depends on what you really need. If you need to export the repository *history* of one or more references (branches or tags), use `git bundle` to create a

Re: exporting a .git file ?

2012-08-27 Thread Andreas Schwab
Aaron Gray aaronngray.li...@gmail.com writes: I realize that but I wanted to distribute it as a downloadable file without having to use a server. git bundle can create a single file from the object database. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7

Re: exporting a .git file ?

2012-08-27 Thread Michael Haggerty
On 08/27/2012 04:45 PM, Dan Johnson wrote: On Mon, Aug 27, 2012 at 10:32 AM, Aaron Gray aaronngray.li...@gmail.com wrote: Hi, Is there anyway to get my git repository as a single file ? You're probably looking for the git bundle command (see git bundle --help), but it's possible you

Re: [PATCH v2] test: set the realpath of CWD as TRASH_DIRECTORY

2012-08-27 Thread Junio C Hamano
Jiang Xin worldhello@gmail.com writes: Some testcases will fail if current work directory is on a symlink. symlink$ sh ./t4035-diff-quiet.sh $ sh ./t4035-diff-quiet.sh --root=/symlink $ TEST_OUTPUT_DIRECTORY=/symlink sh ./t4035-diff-quiet.sh This is because the realpath of

Re: libgit2 status

2012-08-27 Thread dag
Junio C Hamano gits...@pobox.com writes: And the last one should really be a longer term item. It is more important for its codebase to get mature and robust, and that can only happen by various projects and products (e.g. GitHub for Mac) using it to improve it. I do not think subtree (or

Re: [PATCH v2 6/7] Fix tests under GETTEXT_POISON on git-remote

2012-08-27 Thread Junio C Hamano
Jiang Xin worldhello@gmail.com writes: Use i18n-specific test functions in test scripts for git-remote. This issue was was introduced in v1.7.10-233-gbb16d5: bb16d5 i18n: remote: mark strings for translation and been broken under GETTEXT_POISON=YesPlease since. Signed-off-by:

Re: [PATCH 04/17] Name local variables more consistently

2012-08-27 Thread Junio C Hamano
Michael Haggerty mhag...@alum.mit.edu writes: On 08/26/2012 07:39 PM, Junio C Hamano wrote: ... After all, this codepath is not limited to branches these days as the word head implies. Rather, nr_thing, thing has what we asked for, and refs has what the other sides have, and we are trying

Re: [PATCH 04/17] Name local variables more consistently

2012-08-27 Thread Junio C Hamano
Jeff King p...@peff.net writes: Yeah, I agree that refnames would be better. I think something like spec or refspec would indicate better that they are to be matched against, but then you run afoul of confusing that with colon-delimited refspecs (which I do not think fetch-pack understands at

Re: git checkout -t -B

2012-08-27 Thread Junio C Hamano
Nguyen Thai Ngoc Duy pclo...@gmail.com writes: On Mon, Aug 27, 2012 at 1:38 AM, Junio C Hamano gits...@pobox.com wrote: 乙酸鋰 ch3co...@gmail.com writes: git checkout -t -B origin/abcde works but git checkout -B -t origin/abcde does not. Could you document the order of parameters or fix

Re: libgit2 status

2012-08-27 Thread Junio C Hamano
d...@cray.com writes: I am hoping to move git-subtree into core once it performs a little better and I've fixed a couple of bugs. Will basing it on libgit2 delay that process significantly? Six months delay is no problem. 2 years would be problematic. I would be happy to be a guinea pig

Re: [PATCH 0/8] fix password prompting for half-auth servers

2012-08-27 Thread Junio C Hamano
Jeff King p...@peff.net writes: (+cc: Shawn) On Sun, Aug 26, 2012 at 06:13:41AM -0400, Jeff King wrote: No problem. I'll probably be a day or two on the patches, as the http tests are in need of some refactoring before adding more tests. But in the meantime, I think your config change is a

Re: [PATCH 2/3] branch: add --unset-upstream option

2012-08-27 Thread Carlos Martín Nieto
Junio C Hamano gits...@pobox.com writes: Carlos Martín Nieto c...@elego.de writes: diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index e9019ac..93e5d6e 100755 --- a/t/t3200-branch.sh +++ b/t/t3200-branch.sh @@ -383,6 +383,22 @@ test_expect_success 'use --set-upstream-to modify a

Re: [PATCH 8/8] http: prompt for credentials on failed POST

2012-08-27 Thread Junio C Hamano
Jeff King p...@peff.net writes: Most of the time, this is not a big deal; for both fetching and pushing, we make a GET request before doing any POSTs, so typically we figure out the credentials during the first request, then reuse them during the POST. However, some servers may allow a

Re: [PATCH 2/3] branch: add --unset-upstream option

2012-08-27 Thread Junio C Hamano
c...@elego.de (Carlos Martín Nieto) writes: Junio C Hamano gits...@pobox.com writes: Carlos Martín Nieto c...@elego.de writes: diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index e9019ac..93e5d6e 100755 --- a/t/t3200-branch.sh +++ b/t/t3200-branch.sh @@ -383,6 +383,22 @@

Re: [PATCH 2/3] branch: add --unset-upstream option

2012-08-27 Thread Junio C Hamano
Junio C Hamano gits...@pobox.com writes: c...@elego.de (Carlos Martín Nieto) writes: Junio C Hamano gits...@pobox.com writes: Carlos Martín Nieto c...@elego.de writes: diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index e9019ac..93e5d6e 100755 --- a/t/t3200-branch.sh +++

'git --grep' doesn't grep notes?

2012-08-27 Thread Todd A. Jacobs
I have a note attached to a commit, but the text of the note isn't treated as part of the commit for the purposes of grep. For example: mkdir /tmp/foo cd /tmp/foo git init git commit --allow-empty -m 'Blank commit.' git notes add -m 'Find me!' git log --show-notes

Re: synchronization with Subversion

2012-08-27 Thread Semen Vadishev
Hello Tad, we maintain a central/main git repository which our developers clone from. We want to synchronize this central git repository with Subversion. I know this is not the recommended way to do this, but this was the choice that was made. The central git repository was originally cloned

Re: libgit2 status

2012-08-27 Thread dag
Junio C Hamano gits...@pobox.com writes: I would be happy to be a guinea pig for libgit2 in order to improve it, but I don't want to significantly impact git-subtree's move to core. I'll have to figure out the right balance there given feedback. I expect it will take some time for libgit2 to

Re: 'git --grep' doesn't grep notes?

2012-08-27 Thread Andreas Schwab
Todd A. Jacobs nospam+listm...@codegnome.org writes: What is the right way to include notes in log searches, especially if the end goal is to find the related commit ID? You can git grep on refs/notes/commits and s,/,,g on the file name found. Andreas. -- Andreas Schwab,

[RFC v2 PATCH] Teach rm to remove submodules unless they contain a git directory

2012-08-27 Thread Jens Lehmann
Currently using git rm on a submodule - populated or not - fails with this error: fatal: git rm: 'submodule path': Is a directory This made sense in the past as there was no way to remove a submodule without possibly removing unpushed parts of the submodule's history contained in its .git

Re: libgit2 status

2012-08-27 Thread Junio C Hamano
d...@cray.com writes: Junio C Hamano gits...@pobox.com writes: I would be happy to be a guinea pig for libgit2 in order to improve it, but I don't want to significantly impact git-subtree's move to core. I'll have to figure out the right balance there given feedback. I expect it will take

Re: [RFC v2 PATCH] Teach rm to remove submodules unless they contain a git directory

2012-08-27 Thread Junio C Hamano
Jens Lehmann jens.lehm...@web.de writes: diff --git a/Documentation/git-rm.txt b/Documentation/git-rm.txt index 5d31860..3c76f9c 100644 --- a/Documentation/git-rm.txt +++ b/Documentation/git-rm.txt @@ -107,6 +107,21 @@ as well as modifications of existing paths. Typically you would first

Re: libgit2 status

2012-08-27 Thread dag
Junio C Hamano gits...@pobox.com writes: Well that's a chicken-and-egg problem, isn't it. How will a library become widespread unless something uses it? That something will not be the git core itself. Otherwise we will lose a stable reference implementation to catch its bugs. Well, the

Re: [PATCH v2 6/7] Fix tests under GETTEXT_POISON on git-remote

2012-08-27 Thread Jiang Xin
2012/8/28 Junio C Hamano gits...@pobox.com: Jiang Xin worldhello@gmail.com writes: Use i18n-specific test functions in test scripts for git-remote. This issue was was introduced in v1.7.10-233-gbb16d5: bb16d5 i18n: remote: mark strings for translation and been broken under

Re: [PATCH 2/3] branch: add --unset-upstream option

2012-08-27 Thread Carlos Martín Nieto
Junio C Hamano gits...@pobox.com writes: Junio C Hamano gits...@pobox.com writes: c...@elego.de (Carlos Martín Nieto) writes: Junio C Hamano gits...@pobox.com writes: Carlos Martín Nieto c...@elego.de writes: diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index e9019ac..93e5d6e

Re: libgit2 status

2012-08-27 Thread Nicolas Sebrecht
The 27/08/12, Junio C Hamano wrote: d...@cray.com writes: Junio C Hamano gits...@pobox.com writes: I would be happy to be a guinea pig for libgit2 in order to improve it, but I don't want to significantly impact git-subtree's move to core. I'll have to figure out the right balance

Re: [PATCH 8/8] http: prompt for credentials on failed POST

2012-08-27 Thread Jeff King
On Mon, Aug 27, 2012 at 10:48:28AM -0700, Junio C Hamano wrote: Jeff King p...@peff.net writes: Most of the time, this is not a big deal; for both fetching and pushing, we make a GET request before doing any POSTs, so typically we figure out the credentials during the first request,

Re: Bringing a bit more sanity to $GIT_DIR/objects/info/alternates?

2012-08-27 Thread Oswald Buddenhagen
hi, Junio C Hamano gitster at pobox.com writes: The alternates mechanism [...] sorry for the somewhat late response - i found this thread only now. at qt-project.org we have a somewhat peculiar setup: we have the qt4 repository, and a bunch of qt5 repositories which resulted from a split. qt5

[PATCH v3 1/7] Fix tests under GETTEXT_POISON on relative dates

2012-08-27 Thread Jiang Xin
Use a i18n-specific test_i18ncmp in t/t0006-date.sh for relative dates tests. This issue was was introduced in v1.7.10-230-g7d29a: 7d29a i18n: mark relative dates for translation and been broken under GETTEXT_POISON=YesPlease since. Signed-off-by: Jiang Xin worldhello@gmail.com

[PATCH v3 2/7] Fix tests under GETTEXT_POISON on git-stash

2012-08-27 Thread Jiang Xin
Use i18n-specific test functions in test scripts for git-stash. This issue was was introduced in v1.7.4.1-119-g355ec: 355ec i18n: git-status basic messages and been broken under GETTEXT_POISON=YesPlease since. Signed-off-by: Jiang Xin worldhello@gmail.com Signed-off-by: Nguyễn Thái Ngọc

[PATCH v3 3/7] Fix tests under GETTEXT_POISON on diffstat

2012-08-27 Thread Jiang Xin
Use i18n-specific test functions in test scripts for diffstat. This issue was was introduced in v1.7.9-1-g7f814: 7f814 Use correct grammar in diffstat summary line and been broken under GETTEXT_POISON=YesPlease since. Signed-off-by: Jiang Xin worldhello@gmail.com Signed-off-by: Nguyễn

[PATCH v3 4/7] Fix tests under GETTEXT_POISON on git-apply

2012-08-27 Thread Jiang Xin
Use i18n-specific test functions in test scripts for git-apply. This issue was was introduced in the following commits: de373 i18n: apply: mark parseopt strings for translation 3638e i18n: apply: mark strings for translation and been broken under GETTEXT_POISON=YesPlease since.

[PATCH v3 5/7] Fix tests under GETTEXT_POISON on pack-object

2012-08-27 Thread Jiang Xin
Use i18n-specific test functions in test scripts for pack-object. This issue was was introduced in v1.7.10.2-556-g46140: 46140 index-pack: use streaming interface for collision test on large blobs cf2ba pack-objects: use streaming interface for reading large loose blobs and been broken

[PATCH v3 6/7] Fix tests under GETTEXT_POISON on git-remote

2012-08-27 Thread Jiang Xin
Use i18n-specific test functions in test scripts for git-remote, and bypass some testcases using C_LOCALE_OUTPUT prereq flag. This issue was was introduced in v1.7.10-233-gbb16d5: bb16d5 i18n: remote: mark strings for translation and been broken under GETTEXT_POISON=YesPlease since.

[PATCH v3 7/7] Fix tests under GETTEXT_POISON on parseopt

2012-08-27 Thread Jiang Xin
Use i18n-specific test functions in test scripts for parseopt tests. This issue was was introduced in v1.7.10.1-488-g54e6d: 54e6d i18n: parseopt: lookup help and argument translations when showing usage and been broken under GETTEXT_POISON=YesPlease since. Signed-off-by: Jiang Xin

Re: git checkout -t -B

2012-08-27 Thread Philip Oakley
From: Junio C Hamano gits...@pobox.com Sent: Sunday, August 26, 2012 7:38 PM 乙酸鋰 ch3co...@gmail.com writes: git checkout -t -B origin/abcde works but git checkout -B -t origin/abcde does not. Could you document the order of parameters or fix the behaviour? It is crystal clear that

[PATCH 0/5] optimize fast-forward checks

2012-08-27 Thread Junio C Hamano
This is a follow-up to $gmane/204149; somehow the discussion petered out, but I think this topic (and also tag --contains that was not really discussed) needs to be looked into. Here is a first baby step. - The first one is an obvious simplification; we never supported more than one

[PATCH 1/5] in_merge_bases(): support only one other commit

2012-08-27 Thread Junio C Hamano
In early days of its life, I planned to make it possible to compute is a commit contained in all of these other commits? with this function, but it turned out that no caller needed it. Just make it take two commit objects and add a comment to say what these two functions do. Signed-off-by: Junio

[PATCH 2/5] receive-pack: use in_merge_bases() for fast-forward check

2012-08-27 Thread Junio C Hamano
The original computed merge-base between the old commit and the new commit and checked if the old commit was a merge base between them, in order to make sure we are fast-forwarding. Instead, call in_merge_bases(old, new) which does the same. Signed-off-by: Junio C Hamano gits...@pobox.com ---

[PATCH 4/5] in_merge_bases(): omit unnecessary redundant common ancestor reduction

2012-08-27 Thread Junio C Hamano
The function get_merge_bases() needs to postprocess the result from merge_bases_many() in order to make sure none of the commit is a true ancestor of another commit, which is expensive. However, when checking if a commit is an ancestor of another commit, we only need to see if the commit is a

[PATCH 3/5] http-push: use in_merge_bases() for fast-forward check

2012-08-27 Thread Junio C Hamano
The original computed merge-base between HEAD and the remote ref and checked if the remote ref is a merge base between them, in order to make sure that we are fast-forwarding. Instead, call in_merge_bases(remote, HEAD) which does the same. Signed-off-by: Junio C Hamano gits...@pobox.com ---

[PATCH 5/5] (BROKEN) get_merge_bases_many(): walk from many tips in parallel

2012-08-27 Thread Junio C Hamano
After merge_bases_many() paints the graph in two colors to find common ancestors, get_merge_bases_many() reduces the result by excluding commits that can be reached from other commits in the result. We used to do N * (N-1) traversals for this, but we can check if one commit is reachable from any

Re: git checkout -t -B

2012-08-27 Thread Junio C Hamano
Philip Oakley philipoak...@iee.org writes: I searched for all occurrences of '[[' which would indicate a double optional argument within the synopsis and only found git-read-tree. Double-optional? That is not an issue. If an option always takes a parameter, we would have git cmd

Re: [PATCH 8/8] http: prompt for credentials on failed POST

2012-08-27 Thread Junio C Hamano
Jeff King p...@peff.net writes: A silly question. Does the initial GET request when we push look any different from the initial GET request when we fetch? Can we make them look different in an updated client, so that the server side can say this GET is about pushing into us, and we require

Re: [PATCH 5/5] (BROKEN) get_merge_bases_many(): walk from many tips in parallel

2012-08-27 Thread Junio C Hamano
Junio C Hamano gits...@pobox.com writes: for (i = 0; i cnt; i++) { - if (rslt[i]) + /* + * Is rslt[i] an ancestor of any of the others? + * then it is not interesting to us. + */ + for (j = 0; j i; j++) +

Re: in_merge_bases() is too expensive for recent pu update

2012-08-27 Thread Junio C Hamano
Thomas Rast tr...@student.ethz.ch writes: diff --git i/commit.c w/commit.c index 65a8485..70427ab 100644 --- i/commit.c +++ w/commit.c @@ -837,10 +837,13 @@ int in_merge_bases(struct commit *commit, struct commit **reference, int num) struct commit_list *bases, *b; int ret =

[PATCH] checkout: verify new branch name's validity early

2012-08-27 Thread Nguyễn Thái Ngọc Duy
If the new branch name to -b/-B happens to be missing, the next argument may be mistaken as branch name and no longer recognized by checkout as argument. This may lead to confusing error messages. By checking branch name early and printing out the invalid name, users may realize they forgot to

Re: [PATCH] checkout: verify new branch name's validity early

2012-08-27 Thread Junio C Hamano
Nguyễn Thái Ngọc Duy pclo...@gmail.com writes: If the new branch name to -b/-B happens to be missing, the next argument may be mistaken as branch name and no longer recognized by checkout as argument. This may lead to confusing error messages. By checking branch name early and printing out