P2D3::Push is missing destination repos?!!

Issue #136 resolved
JD Fagan created an issue

This is the first serious issue I've run into where I cannot complete my work I want to do. I'm trying to push out some commits to the repo I cloned from. However, the destination drop down menu to choose from in Push dialog popup does NOT show the correct repo for me to select, thus I can NOT do this push from MacHg. See attachment..

Comments (13)

  1. Marko Käning

    This normally does work for repos cloned via http and ssh, but obviously not for clones of repos pointed to by a normal path, like e.g. "/Volumes/Stick/transport_repo"

    I ran into this a while ago and meant to file a bug/feature report for it.

    MacHg should on its own consider the default path according to the clone's .hg/hgrc configuration (which normally contains the parent repo), be it for a server path or a simple file path.

  2. Jason Harris repo owner
    • changed status to open

    Marko can I get you to give me exact steps to reproduce what you are seeing here? Thanks!! Jas

  3. Marko Käning

    Yes, of course, this is my .hg/hgrc:

    [paths]
    default = /Volumes/MKFLASH2GB/publications
    

    But if I try to push this clone into it's parent repository it would not display this default path as a possible push destination in the corresponding selection drop-down list.

  4. Jason Harris repo owner

    Sorry Marko, I am just being dim I guess. Can you give me steps like

    1. hg clone http://selenic.com/repo/hello
    2. hg clone hello helloOther
    3. open a fresh document in MacHg
    4. Drag hello into the MacHg sidebar
    5. Drag helloOther into the MacHg sidebar
    6. Make a change in helloOther/hello.c and commit it
    7. Push changes from helloOther

    For me hello (server) and hello (local) both come up. Yet I have:

    [Bolt:~/test/helloOther/.hg] helloOther 2(2) $ more hgrc 
    [paths]
    default = /Users/jason/test/hello
    

    Thus I am missing something... Any hints to reproduce? :)

  5. Marko Käning

    OK, I think I've understood what makes this happen. It's rather a usability issue than a bug, actually.

    It turned out that MacHg will correctly assign the parent repo as a remote repo (to push to or to pull from) if I add the parent repo to the list of repositories in the left sidebar.

    I.e. if the parent repo is NOT in the sidebar, MacHg will NOT recognize it as a valid repo for push/pull. It looks like that this is wanted behavior?! Am I right?

    It just irritated me that, although the repo existed in my filesystem and Mercurial itself would work fine with it, MacHg would be no means recognize it as source of destination repo.

  6. Jason Harris repo owner

    Ahhh... I understand the problem now. This will be fixed in a new MacHg soonish. Not 0.9.14 (which should go out today or tomorrow) but the one after that...

    Thanks! Jas

  7. Marko Käning

    Fixed?

    So, it isn't wanted behavior?

    Anyway, I have "fixed" the issue for me now in such a way that I've simply added the parent repo to the sidebar. Even if the removable media it resides on (SD card) is not mounted it still appears, but doesn't do any harm, just shows "-:-".

    But I guess it would be more intuitive to allow push and pull also for not explicitly "sidebared" repos.

  8. Jason Harris repo owner

    Yes. I will try and populate the popup with the users default paths but highlight them somehow to indicate they are not server references in the side bar. Also I will try and fix the general issue of servers for git, svn, or google code, or fogzbugs, to be recognized.

    Thanks, Jas

  9. Log in to comment