The simplest method is to use the extension package glossaries-extra and use the category attributes glossname (for the display of the name field in the glossary) and, optionally, glossdesc (for the display of the description field in the glossary):
\documentclass{article}
\usepackage[acronyms]{glossaries-extra}
\makeglossaries
\setabbreviationstyle[acronym]{long-short}
\glssetcategoryattribute{acronym}{glossname}{firstuc}
\glssetcategoryattribute{acronym}{glossdesc}{title}
\newacronym{Repo}{repo}{repurchase agreement}
\begin{document}
First use: \gls{Repo}.
Next use: \gls{Repo}.
Explicitly case-change: \Gls{Repo}.
\printglossaries
\end{document}

Since \newacronym automatically sets the category to acronym, this modification will affect any entries defined with \newacronym but not any entries that are defined using other commands, such as \newabbreviation or \newglossaryentry (unless the category is set explicitly).