Hiya, I just had my uncommitted changes to my overlay and several in-progress ebuilds wiped out by what seems to be a new feature: * Syncing selected overlay(s)... * Running Git... # ( cd /var/lib/layman/ikelos && /usr/bin/git remote set-url origin git+ssh://git@git.gentoo.org/dev/ikelos.git git://git.overlays.gentoo.org/dev/ikelos.git ) fatal: No such URL found: git://git.overlays.gentoo.org/dev/ikelos.git * Failure result returned from Git * Running Git... # ( cd /var/lib/layman/ikelos && /usr/bin/git remote set-url origin git://anongit.gentoo.org/dev/ikelos.git git://git.overlays.gentoo.org/dev/ikelos.git ) fatal: No such URL found: git://git.overlays.gentoo.org/dev/ikelos.git * Failure result returned from Git * Running Git... # ( cd /var/lib/layman/ikelos && /usr/bin/git remote set-url origin https://anongit.gentoo.org/git/dev/ikelos.git git://git.overlays.gentoo.org/dev/ikelos.git ) fatal: No such URL found: git://git.overlays.gentoo.org/dev/ikelos.git * Failure result returned from Git * Failed to update repo...readding * Deleting directory "/var/lib/layman/ikelos" I guess the main layman repo list got updated to point everyone to anongit, but however it happened, it was quite destructive. 5:\ I suspect a number of developers work directly on the git repository within their layman overlay folder, because it's a very convenient way to keep them synced. Unfortunately, this functionality will destroy all uncommitted/in-progress commits, as well as branches that were not committed to the public repo, but kept locally for the development history. Please ensure that layman does not delete an overlay without prompting the user first.
HMMmm, layman should not have deleted the repo and re-installed it. Since it is still a git repo, it should have just swapped out the old remote url for the new one. Deleting and re-adding the repo is for VCS changes like a svn overlay is now git. What version of layman is this?
looking at your output more... It seems that is what it was trying to do originally, but failed all changed remote urls. Then attempted the re-add. Yes, it should have paused and asked confirmation I wonder if you got caught with a bad repositories.xml list. Robin, was there an interim list at some point during the mass url updates with some bad urls still?
Added fix in layman's git HEAD. Thank you for pointing out that bug and I apologize for the troubles caused by it. In the live version and the next upcoming release it will prompt the user if they wish to re-add the overlay after a failed URL update.
Hiya, thanks for getting a fix in so quickly. It was layman 2.3.0, and I figured I might have been messing with my local repo (since on one box I added the repo in layman and then in git swapped out the URL to point to my local git repo, but this log was from my main box and I didn't think I'd tampered with that one?). Given that these now sync off of anongit, I may still have to change the repo address so I can push new changes up to it. Will layman detect that and try and change them back, or does it only detect changes to the repositories XML?
If the git+ssh is a source listed in the xml, then you can swap it out and it will not try to reset it. Until it is no longer part of the xml. One of the things on our/overlay teams todo list was to make sure all gentoo hosted/github hosted overlays had all available protocols/urls listed in their xml definition. We know many of them did not. Devan created a utility for creating xml definitions. It adds all protocols/urls provided by gentoo/github/??? (I'm sure there was one more, but don't remember). Yes, we want to make another release, but both of us have been very busy this past few weeks.
2.4.1 is out which resolves this issue, therefore, I'm resolving the bug.