> From: Marc Khouzam [mailto:marc.khou...@gmail.com]
> Sent: Friday, November 23, 2012 11:51 AM
> To: Joachim Schmitz
> Cc: sze...@ira.uka.de; felipe.contre...@gmail.com
> Subject: Re: [PATCH] Completion must sort before using uniq
> On Fri, Nov 23, 2012 at 3:10 AM, Joachim Schmitz
> <j...@schmitz-digital.de> wrote:
> > Marc Khouzam wrote:
> >> The uniq program only works with sorted input. The man page states
> >> "uniq prints the unique lines in a sorted file".
> > ...
> >> --- a/contrib/completion/git-completion.bash
> >> +++ b/contrib/completion/git-completion.bash
> >> @@ -321,7 +321,7 @@ __git_refs ()
> >> if [[ "$ref" == "$cur"* ]]; then
> >> echo "$ref"
> >> fi
> >> - done | uniq -u
> >> + done | sort | uniq -u
> > Is 'sort -u' not universally available and sufficient here? It is POSIX
> > at least:
> > http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sort.html
> "-u Unique: suppress all but one in each set of lines having equal
> keys. If used with the -c option, check that there are no lines with
> duplicate keys, in addition to checking that the input file is
> What the code aims to do is to only show lines that are not
> duplicated. 'sort -u' would still output one line for each duplicated
> one. It seems 'sort -u' is the equivalent of 'sort | uniq' but won't
> replace 'sort | uniq -u'.
I can't see the difference and in fact don't understand uniq's -u option al all
Linux man pages say: "only print unique lines", but that is what uniq does by
> Is 'sort | uniq -u' not POSIX?
It is. It is one process more though.
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