git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: -q option for git to suppress informational messages?

From
Michal Suchánek <msuchanek@suse.de>
Date
Oct 13, 2023, 06:49 UTC
Message-ID
<20231013064916.GC6241@kitsune.suse.cz>
In-Reply-To
<CAJoAoZ=MrjjfH6Noganejey0bAaB=d+jH_rXAqbscPG8E0m3Pw@mail.gmail.com>
Hello,
On Thu, Oct 12, 2023 at 01:46:09PM -0700, Emily Shaffer wrote:
Show 19 quoted lines
> On Thu, Oct 12, 2023 at 11:53 AM Michal Suchánek <msuchanek@suse.de> wrote:
> >
> > Hello,
> >
> > when using git in scripts I find that many git commands insist on
> > printing informational messages, and the only way to avoid this is to
> > sent the output to /dev/null.
> 
> Michal, you might want to investigate further whether there is a
> plumbing-specific command that meets the needs you're concerned about
> instead. Those commands will not have additional human-facing output,
> and have a stronger guarantee around backwards-compatibility than the
> human-facing commands do.
> 
> Commands which count as "plumbing" can be located in `git help git` in
> the full list of subcommands; if you're not sure what alternative to
> use, I think you can feel free to describe what you're trying to do
> here and get advice on which plumbing commands to use instead of
> porcelain ones.
I want to replicate the repository data between multiple machines.

Git is 'distributed' VCS but AFAICS it supports replicating repositories very poorly.

In one direction there is git push which has convenient --mirror option and also can be scripted to replicate only selected references. AFAICS there is no lower level command that can be used. There are commands for uploading data to the remote repository but only push updates references, no -q option.

In the other direction there is git remote. Of course there is no cross-reference from git push, cross-references are for losers that don't know everything about the thing. There are lower level commands that could be used instead I suppose. Commands for downloading data are available as well as for updating local references, and for one fetch does provide a -q option. Also unlike push git remote cannot operate on commandline arguments alone, it requires configuration. Rewriting it using lower level commands might bring the benefit of not requiring that.

However, this whole suggestion somewhat sounds along the lines
 - The shape of this chisel is not great, maybe it could be improved?
 - The other side of the hammer has an edge, maybe you could do
   without a chisel?
Thanks
Michal
Previous: Emily Shaffer
Message 3 of 3 in “-q option for git to suppress informational messages?”
  1. Michal SuchánekOct 12, 2023
  2. Emily ShafferOct 12, 2023
  3. Michal SuchánekOct 13, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.