Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6872071
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T03:52:55+00:00 2026-05-27T03:52:55+00:00

I work on a team where we have a code in a mercurial repository

  • 0

I work on a team where we have a code in a mercurial repository with several subrepositories:

main/
main/subrepo1/
main/subrepo1/subrepo2/

The default behavior of Mercurial is that when a hg commit is performed in “main”, any outstanding changes in the subrepositories “subrepo1” and “subrepo2” will also be committed. Similarly, when “main” is pushed, any outgoing commits in “subrepo1” and “subrepo2” will also be pushed.

We find that people frequently inadvertently commit and push changes in their subrepositories (because they forgot they had made changes, and hg status by default does not show recursive changes). We also find that such global commits / pushes are almost always accidental in our team.

Mercurial 1.7 recently improved the situation with hg status -S and hg outgoing -S, which show changes in subrepositories; but still, this requires people to be paying attention.

Is there a way in Mercurial to make hg commit and hg push abort if there are changes/commits in subrepostories that would otherwise be committed/pushed?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T03:52:55+00:00Added an answer on May 27, 2026 at 3:52 am

    Mercurial 2.0 automatically prevents you from committing subrepositories unless you manually specify the --subrepos (or, alternatively, -S) argument to commit.

    For example, you try to perform a commit while there are pending changes in a subrepository, you get the following message:

    # hg commit -m 'change main repo'
    abort: uncommitted changes in subrepo hello
    (use --subrepos for recursive commit)
    

    You can successfully perform the commit, however, by adding --subrepos to the command:

    # hg commit --subrepos -m 'commit subrepos'
    committing subrepository hello
    

    Some things to still be careful about: If you have changed the revision a subrepository is currently at, but not the contents of the subrepository, Mercurial will happily commit the version change without the --subrepos flag. Further, recursive pushes are still performed without warning.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have to work with another team that is developing in php, when I'm
I work in the Systems & admin team and have been given the task
In Team Foundation Server is there a way to have work items in one
At the team with which I work, we have an old codebase using PHP's
I work with a team that has a sharepoint site currently runnning and its
I have build an Addin for code generation (C#, VS 08) for our team.
We have a team of 40+ engineers working on a common code base. We're
In the company I work for, I'm part of a team which will have
As of late, my team and I have been hard at work turning our
I work on a team that supports a mobile web site. It's a typical

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.