From: Felipe Contreras Date: Thu, 22 Nov 2012 00:38:57 GMT Subject: Re: [PATCH v5 15/15] fast-export: don't handle uninteresting refs Message-ID: In-Reply-To: <0F47AA24-F5B6-4197-8D74-6DD32E253856@quendi.de> On Wed, Nov 21, 2012 at 11:30 PM, Max Horn wrote: > 2) Some are interfaces to foreign systems (bzr, hg, mediawiki, ...). They cannot use sha1s and must use marks (at least that is how I understand felipe's explanation). These tools use import combined with either export, or push. Examples: > > - git-remote-mediawiki: import, push, refspec > (its capabilities command also prints "list", but that seems to be a bug?) I don't think remote mediawiki uses marks. They are strictly not needed by 'import' because the remote helper has full control over this operation. For example, in my remote helpers, I store the previous tip of the branches, so when git ask for 'import refs/heads/master', I only import the new commits. I named this file 'marks' anyway, but they are not marks for fast-import. > - git-remote-hg: import, export, refspec, import-marks, export-marks > (both the msysgit one and felipe's > - git-remote-bzr: import, push > (the one from https://github.com/lelutin/git-remote-bzr) > - git-remote-bzr (felipe's): import, export, refspec, *import-marks, *export-marks > (but why the * ?) AFAIK both of my remote helpers have * in them, they are to denote they are required. > Does that sound about right? If so, can somebody give me a hint when a type 2 helper would use "export" and when "push"? I don't know when would be appropriate to use push, there's another git-remote-bzr that uses the bzr-git infrastructure, and uses push. I picked export/import because I think they are the easiest to implement to get all the features, and should be efficient. > And while I am at it: git-remote-helpers.txt does not mention the "export", "import-marks" and "export-marks" capabilities. Could somebody who knows what they do look into fixing that? Overall, that doc helped me a bit, but it is more a reference to somebody who already understands in detail how remote helpers work, and who just wants to look up some specific detail :-(. Some hints on when to implement which capabilities might be useful (similar to the "Tips and Tricks" section in git-fast-import.txt). I've had problems finding out the right information, but I hope the git-remote-testgit I wrote in bash in less than 90 lines of code should give a pretty good idea of how the whole thing works. > As it is, felipe's recent explanation on why he thinks marks are essential for remote-helpers (I assume he was only referring to type 2 helpers, though) was one of the most enlightening texts I read on the whole subject so far (then again, I am fairly new to this list, so I may have missed lots of past goodness). Anyway, it would be nice if this could be augmented by "somebody from the other camp" ;). Wouldn't that be nice? Cheers. -- Felipe Contreras