[issue2445] SVN Subrepositories will always commit empty changesets

Scott Palmer bugs at mercurial.selenic.com
Tue Oct 19 14:55:26 UTC 2010


New submission from Scott Palmer <swpalmer at gmail.com>:

Commiting from a master repo that contains subversion subrepos (directly or
nested in mercurial subrepos that have their own subversion subrepos) always
creates a changeset regardless of if there are changes.


To reproduce create a repo with a subversion subrepo and commit several
times in a row without creating any changes.  You will always get the
message "committing subrepositry XXXXX" and unless there were real changes,
the changeset created is empty.

e.g. given a layout like:

mercMaster
+-mercSubrepo
  +-svnSubrepoOfMercSubrepo

Commits to mercSubrepo will always produce a changeset, because it has a
subversion subrepository.  This changes set will be an empty one if there
are no actual changes.

Commits to mercMaster will see the change in mercSubrepo caused by the empty
changeset and therefore the .hgsubstate file of the master repo is changed
to reflect the new tip of the nested Mercurial subrepo.

This leads to harmless but unnecessary and confusing noise in the repo history.

----------
messages: 14101
nosy: mg, swpalmer
priority: bug
status: unread
title: SVN Subrepositories will always commit empty changesets
topic: 1.6.4

____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue2445>
____________________________________________________


More information about the Mercurial-devel mailing list