[Bug 4223] New: hg push does not fail in case of git subrepo push failure

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Fri Apr 11 05:55:46 CDT 2014


http://bz.selenic.com/show_bug.cgi?id=4223

          Priority: normal
            Bug ID: 4223
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: hg push does not fail in case of git subrepo push
                    failure
          Severity: bug
    Classification: Unclassified
                OS: Mac OS
          Reporter: pastey at readdle.com
          Hardware: Macintosh
            Status: UNCONFIRMED
           Version: 2.9.2
         Component: Mercurial
           Product: Mercurial

Created attachment 1761
  --> http://bz.selenic.com/attachment.cgi?id=1761&action=edit
test repos

Main repo push should fail if git subrepo push fails.

Now it's not so, see log below for example:
hg push
pushing to https://hg.example.com/mainrepo
...
pushing branch master of subrepo Dependencies/gitsubrepo
To https://hg.example.com/gitsubrepo.git
 ! [rejected]        master -> master (fetch first)                            
  <----- failure
error: failed to push some refs to 'https://hg.example.com/gitsubrepo.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
...
searching for changes
remote: Repository size .hg:994.2 MB repo:255.0 MB total:1.2 GB
remote: Last revision is now r24557:76c0aae10e55                               
  <----- success


To my mind, this is rather serious issue, as it leaves main repo in
inconsistent state – .hgsubstate points to the commit in subrepo that is not
available at remote server.
I also believe that it must fail, as it does fail if hg subrepo push fails.

To reproduce the issue, you can find test.zip in attachment. Try to push from
'loc_hg' directory.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list