Re: [PATCH] remote-hg: skip ill-formed references
On Sat, Aug 31, 2013 at 12:57:34PM -0500, Felipe Contreras wrote: > On Sat, Aug 31, 2013 at 8:58 AM, Max Kirillov wrote: >> Tha was some of the vim repositories, upstream >> https://code.google.com/p/vim/ or debian >> anonscm.debian.org/hg/pkg-vim/vim, or both. >> They contain tags with ~ symbol. > > I can clone both fine. This is what I get with the debian one: > > error: * Ignoring funny ref 'refs/tags/debian-7.2.436+hg~e12b9d992389-1' > locally Yes, it really works with the new version. I used 1.7.10 before. Since it is fixed already, just forget it. Sorry, should have checked it with the latest version. -- Max -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] remote-hg: skip ill-formed references
On Sat, Aug 31, 2013 at 8:58 AM, Max Kirillov wrote: > Felipe Contreras > gmail.com> writes: >> Which repository triggered this? > > Tha was some of the vim repositories, upstream > https://code.google.com/p/vim/ or debian > anonscm.debian.org/hg/pkg-vim/vim, or both. > They contain tags with ~ symbol. I can clone both fine. This is what I get with the debian one: error: * Ignoring funny ref 'refs/tags/debian-7.2.436+hg~e12b9d992389-1' locally error: * Ignoring funny ref 'refs/tags/debian-7.2.436+hg~e12b9d992389-1+' locally error: * Ignoring funny ref 'refs/tags/debian-7.2.438+hg~d44112feb815-1' locally error: * Ignoring funny ref 'refs/tags/debian-7.2.438+hg~d44112feb815-2' locally error: * Ignoring funny ref 'refs/tags/debian-7.2.438+hg~d44112feb815-3' locally error: * Ignoring funny ref 'refs/tags/debian-7.2.438+hg~d44112feb815-4' locally error: * Ignoring funny ref 'refs/tags/debian-7.2.438+hg~d44112feb815-5' locally error: * Ignoring funny ref 'refs/tags/debian-7.2.445+hg~cb94c42c0e1a-1' locally error: * Ignoring funny ref 'refs/tags/debian-7.3b.20100720+hg~7b7508ee56f1-1' locally error: * Ignoring funny ref 'refs/tags/debian-7.3f.20100812+hg~20e83abf88b1-1' locally error: * Ignoring funny ref 'refs/tags/debian-7.3.000+hg~ee53a39d5896-1' locally error: * Ignoring funny ref 'refs/tags/debian-7.3.035+hg~8fdc1210-1' locally error: * Ignoring funny ref 'refs/tags/debian-7.3.154+hg~74503f6ee649-1' locally error: * Ignoring funny ref 'refs/tags/debian-7.3.154+hg~74503f6ee649-2' locally error: * Ignoring funny ref 'refs/tags/debian-7.3.547-6~bpo60+1' locally error: * Ignoring funny ref 'refs/tags/debian-7.3.547-7~bpo60+1' locally Maybe you need a newer version of Git. I'm using v1.8.4. -- Felipe Contreras -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] remote-hg: skip ill-formed references
On Sat, Aug 31, 2013 at 8:58 AM, Max Kirillov wrote: > Felipe Contreras > gmail.com> writes: >> Which repository triggered this? > > Tha was some of the vim repositories, upstream > https://code.google.com/p/vim/ or debian > anonscm.debian.org/hg/pkg-vim/vim, or both. > They contain tags with ~ symbol. Thanks. > I don't have any experience with bazaar yet, so > cannot say much about it. That code is independent from bazaar. the ref_is_valid() method should return True or False depending on whether Git thinks it's a valid ref or not, it's independent from Bazaar or Mercurial, and all remote-helpers could share the same one. So this is what I have in mind: --- a/git-remote-hg.py +++ b/git-remote-hg.py @@ -617,6 +617,9 @@ def list_head(repo, cur): print "@refs/heads/%s HEAD" % head g_head = (head, node) +def ref_is_valid(name): +return not True in [c in name for c in '~^: \\'] + def do_list(parser): repo = parser.repo for bmark, node in bookmarks.listbookmarks(repo).iteritems(): @@ -635,15 +638,24 @@ def do_list(parser): if track_branches: for branch in branches: -print "? refs/heads/branches/%s" % gitref(branch) +branch = gitref(branch) +if not ref_is_valid(branch): +continue +print "? refs/heads/branches/%s" % branch for bmark in bmarks: -print "? refs/heads/%s" % gitref(bmark) +bmark = gitref(bmark) +if not ref_is_valid(bmark): +continue +print "? refs/heads/%s" % bmark for tag, node in repo.tagslist(): if tag == 'tip': continue -print "? refs/tags/%s" % gitref(tag) +tag = gitref(tag) +if not ref_is_valid(tag): +continue +print "? refs/tags/%s" % tag print -- Felipe Contreras -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] remote-hg: skip ill-formed references
Felipe Contreras gmail.com> writes: > Which repository triggered this? Tha was some of the vim repositories, upstream https://code.google.com/p/vim/ or debian anonscm.debian.org/hg/pkg-vim/vim, or both. They contain tags with ~ symbol. I don't have any experience with bazaar yet, so cannot say much about it. Br, -- Max -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] remote-hg: skip ill-formed references
On Fri, Aug 30, 2013 at 8:15 PM, Max Kirillov wrote: > References which fail check_refname_format() cause the whole > import to fail. This might be undesirable if the references > are not important. > > A better solution would be to provide some mapping, either > by some reversible encoding, or by generating and storing > the associations locally. > > But this is already going to allow working with many > existing repositories. Which repository triggered this? Maybe we should do something similar as in git-remote-bzr: def ref_is_valid(name): return not True in [c in name for c in '~^: \\'] if not ref_is_valid(tag): continue print "? refs/tags/%s" % tag -- Felipe Contreras -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html