On Wed, Nov 21, 2012 at 11:30 PM, Max Horn <max@xxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html