Subject: Bugs in git-gui and git-push when pushing src:dst to mirror?

From: Mark Burton <[email-masked]>
Date: Tue, 2 Dec 2008 13:08:59 +0000

Hi,

Using git 1.6.0.4.

I just tried to push using git-gui to a mirror of the current
repository and it failed because git-gui included a src:dest refspec
and that upset git-push as the remote is a mirror. So, I think that it would
be useful if git-gui notices when the remote is a mirror and does not
pass the refspec (I shall try to form a patch later when I have some time).

The other issue is that although git-push did print the usage blurb,
it didn't actually produce a message saying what it's problem was.
Looking at the source, I would have expected to have seen "--mirror
can't be combined with refspecs" printed but it didn't happen. Here's
what I got when I run the same command (as attempted by git-gui) on the
command line:

$ git push -v tako refs/heads/multi-stream:refs/heads/multi-stream
usage: git push [--all | --mirror] [--dry-run] [--tags] [--receive-pack=<git-receive-pack>] [--repo=<repository>] [-f | --force] [-v] [<repository> <refspec>...]

    -v, --verbose         be verbose
    --repo <repository>   repository
    --all                 push all refs
    --mirror              mirror all refs
    --tags                push tags
    --dry-run             dry run
    -f, --force           force updates
    --thin                use thin pack
    --receive-pack <receive-pack>
                          receive pack program
    --exec <receive-pack>
                          receive pack program

Any ideas?

Cheers,

Mark