> On Sep 13, 2024, at 2:34 PM, Александр Литягин <alexraynepe...@gmail.com> > wrote: > > Hallow Matt! > > i try to make some test, but i guess it take more then month > > try explain what i fix here: > 1) have repo: > root/ - repo with hg-subs: > /sub - hg-subrepo, from some remote > .hgsub - contains /sub=[hg]<some url>
So if I understand this correctly, your top level repo has a .hgsub file with an absolute path (in this case a url starting with http) on the right side? That’s why it’s not pushing relative to where the parent repo is pushing- you specified an absolute location. The recommendation is for the left and right side of the file to be the same (in your case “sub=sub”). Otherwise you run into surprises like this. > 2) have copy of above repo on local file system - usualy i use flash-drive. > so call this copy <flash-copy> > 3) try push repo into flash-copy. > > current implementation push sub to it`s source <some url>. and worse - if > this url not accesible, push fails. > > This patch supposes that pushing into flash-copy expects passing changes from > root/sub -> flash-copy/sub. And it does such push into flash-copy/sub after > pushing into -> <some url> > If we run with --force - this patch ingnores failure on push to <some url>, > so push -> flash-copy/sub makes anyway. > Forced push supposed success if any of <some url> or flash-copy/sub succesed. Unfortunately, this is too complicated and breaks existing workflows. Also, I don’t think there’s an existing concept of —force => “ignore errors”. The closest thing I can think of is overriding the check that push will add a new head, and I think everyone agrees that is bad (it should have been a flag specific to that error, not disabling all checks). The good news is that this is a known potential problem, with an existing solution. If you can’t just edit the .hgsub file to the recommended form, you can put a “subpaths” section in the root repo’s hgrc file. See the end of “hg help subrepos”, and “hg help config.subpaths” for details. > That what this patch do. > > > On 13.09.2024 1:55, Matt Harbison wrote: >>>> On Sep 12, 2024, at 5:46 PM, alexraynepe...@gmail.com wrote: >>> >>> # HG changeset patch >>> # User alexrayne >>> # Date 1726176902 -10800 >>> # Fri Sep 13 00:35:02 2024 +0300 >>> # Node ID fca662b31c85f27ecc0221c64666cafd9a9bbb97 >>> # Parent a000ac71e41a56e3b1c7697f44e34683d0fd47bd >>> subrepo: hg pushes into local subrepos, after with source. >>> when --force claimed, subrepo push into local besides source >> Can you write some *.t test to show the problem before making changes? Then >> the test will change with the commit, and prevent future regressions. I’m >> not sure what you’re trying to fix here. >> >> Additionally, you should run the test-check-*.t and test-*subrepo*.t tests >> locally. I can tell this commit message would be flagged for not following >> the usual format. Also, an existing subrepo test might change with your >> change, and then you might not need to write your own test. >> >> Thanks! > > _______________________________________________ Mercurial-devel mailing list Mercurial-devel@lists.mercurial-scm.org https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel