Re: [PATCH v5] branch: introduce --show-current display option
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Oct 25, 2018, 19:30 UTC
- Message-ID
- <CAPig+cRVdogY8VLXcftbY=n9tQ9wDo4YrnrdU6+pZ3ch6uhZGA@mail.gmail.com>
- In-Reply-To
- <20181025190421.15022-1-daniels@umanovskis.se>
On Thu, Oct 25, 2018 at 3:04 PM Daniels Umanovskis <daniels@umanovskis.se> wrote:
Show 19 quoted lines
> When called with --show-current, git branch will print the current > branch name and terminate. Only the actual name gets printed, > without refs/heads. In detached HEAD state, nothing is output. > > Signed-off-by: Daniels Umanovskis <daniels@umanovskis.se> > --- > diff --git a/t/t3203-branch-output.sh b/t/t3203-branch-output.sh > @@ -100,6 +100,50 @@ test_expect_success 'git branch -v pattern does not show branch summaries' ' > +test_expect_success 'git branch `--show-current` works properly when tag exists' ' > + cat >expect <<-\EOF && > + branch-and-tag-name > + EOF > + test_when_finished " > + git checkout branch-one > + git branch -D branch-and-tag-name > + " && > + git checkout -b branch-and-tag-name && > + test_when_finished "git tag -d branch-and-tag-name" && > + git tag branch-and-tag-name &&
If git-tag crashes before actually creating the new tag, then "git tag -d", passed to test_when_finished(), will error out too, which is probably undesirable since "cleanup code" isn't expected to error out. You could fix it this way:
test_when_finished "git tag -d branch-and-tag-name || :" &&
git tag branch-and-tag-name &&or, even better, just swap the two lines:
git tag branch-and-tag-name &&
test_when_finished "git tag -d branch-and-tag-name" &&However, do you even need to clean up the tag? Are there tests following this one which expect a certain set of tags and fail if this new one is present? If not, a simpler approach might be just to leave the tag alone (and the branch too if that doesn't need to be cleaned up).
> + git branch --show-current >actual && > + test_cmp expect actual > +'