# [PATCH] Documentation: show-ref: document --exclude-existing

3 messages from 2007-04-09 to 2007-04-10. Participants: Julian Phillips, Junio C Hamano.
Thread: https://gitlist.dev/t/7588

## Julian Phillips, 2007-04-09 20:57

Subject: [PATCH] Documentation: show-ref: document --exclude-existing
Message-ID: <20070409205754.21048.73087.julian@quantumfyre.co.uk>
URL: https://gitlist.dev/e/20070409205754.21048.73087.julian%40quantumfyre.co.uk

```
Use the comment in the code to document the --exclude-existing
function to git-show-ref.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
---

While looking at the automatic tag following code in git-fetch.sh, I discovered that the --exclude-existing option to git-show-ref was undocumented (outside of the code anyway).

 Documentation/git-show-ref.txt |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/Documentation/git-show-ref.txt b/Documentation/git-show-ref.txt
index 5973a82..1e07c50 100644
--- a/Documentation/git-show-ref.txt
+++ b/Documentation/git-show-ref.txt
@@ -10,6 +10,7 @@ SYNOPSIS
 [verse]
 'git-show-ref' [-q|--quiet] [--verify] [-h|--head] [-d|--dereference]
 	     [-s|--hash] [--abbrev] [--tags] [--heads] [--] <pattern>...
+'git-show-ref' --exclude-existing[=pattern]
 
 DESCRIPTION
 -----------
@@ -19,6 +20,9 @@ commit IDs. Results can be filtered using a pattern and tags can be
 dereferenced into object IDs. Additionally, it can be used to test whether a
 particular ref exists.
 
+The --exclude-existing form is a filter that does the inverse, it shows the
+refs from stdin that don't exist in the local repository.
+
 Use of this utility is encouraged in favor of directly accessing files under
 in the `.git` directory.
 
@@ -61,6 +65,18 @@ OPTIONS
 	Do not print any results to stdout. When combined with '--verify' this
 	can be used to silently check if a reference exists.
 
+--exclude-existing, --exclude-existing=pattern::
+
+	Make git-show-ref act as a filter that reads refs from stdin of the
+	form "^(?:<anything>\s)?<refname>(?:\^\{\})?$" and performs the
+	following actions on each:
+	(1) strip "^{}" at the end of line if any;
+	(2) ignore if match is provided and does not head-match refname;
+	(3) warn if refname is not a well-formed refname and skip;
+	(4) ignore if refname is a ref that exists in the local repository;
+	(5) otherwise output the line.
+
+
 <pattern>::
 
 	Show references matching one or more patterns.
-- 
1.5.1

```

## Julian Phillips, 2007-04-09 20:57

Subject: [PATCH v2] Documentation: show-ref: document --exclude-existing
Message-ID: <20070409210721.21570.18686.julian@quantumfyre.co.uk>
URL: https://gitlist.dev/e/20070409210721.21570.18686.julian%40quantumfyre.co.uk
In-Reply-To: <20070409205754.21048.73087.julian@quantumfyre.co.uk>

```
Use the comment in the code to document the --exclude-existing
function to git-show-ref.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
---

This fixes an embarrassing copy/paste error with the previous version ...

 Documentation/git-show-ref.txt |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/Documentation/git-show-ref.txt b/Documentation/git-show-ref.txt
index 5973a82..2355aa5 100644
--- a/Documentation/git-show-ref.txt
+++ b/Documentation/git-show-ref.txt
@@ -10,6 +10,7 @@ SYNOPSIS
 [verse]
 'git-show-ref' [-q|--quiet] [--verify] [-h|--head] [-d|--dereference]
 	     [-s|--hash] [--abbrev] [--tags] [--heads] [--] <pattern>...
+'git-show-ref' --exclude-existing[=pattern]
 
 DESCRIPTION
 -----------
@@ -19,6 +20,9 @@ commit IDs. Results can be filtered using a pattern and tags can be
 dereferenced into object IDs. Additionally, it can be used to test whether a
 particular ref exists.
 
+The --exclude-existing form is a filter that does the inverse, it shows the
+refs from stdin that don't exist in the local repository.
+
 Use of this utility is encouraged in favor of directly accessing files under
 in the `.git` directory.
 
@@ -61,6 +65,18 @@ OPTIONS
 	Do not print any results to stdout. When combined with '--verify' this
 	can be used to silently check if a reference exists.
 
+--exclude-existing, --exclude-existing=pattern::
+
+	Make git-show-ref act as a filter that reads refs from stdin of the
+	form "^(?:<anything>\s)?<refname>(?:\^\{\})?$" and performs the
+	following actions on each:
+	(1) strip "^{}" at the end of line if any;
+	(2) ignore if pattern is provided and does not head-match refname;
+	(3) warn if refname is not a well-formed refname and skip;
+	(4) ignore if refname is a ref that exists in the local repository;
+	(5) otherwise output the line.
+
+
 <pattern>::
 
 	Show references matching one or more patterns.
-- 
1.5.1

```

## Junio C Hamano, 2007-04-10 01:55

Subject: Re: [PATCH v2] Documentation: show-ref: document --exclude-existing
Message-ID: <7v3b39xabl.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7v3b39xabl.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <20070409210721.21570.18686.julian@quantumfyre.co.uk>

```
Thanks.

```
