git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v5 15/15] fast-export: don't handle uninteresting refs

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Nov 22, 2012, 00:38 UTC
Message-ID
<CAMP44s1tkAZPza7skVza-qm5aQMur7CEbXZdE=RYYN2ZV2gwGw@mail.gmail.com>
In-Reply-To
<0F47AA24-F5B6-4197-8D74-6DD32E253856@quendi.de>
On Wed, Nov 21, 2012 at 11:30 PM, Max Horn <max@quendi.de> 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.

Show 6 quoted lines
> - 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
Previous: Max HornNext: Junio C Hamano
Message 59 of 65 in “fast-export and remote-testgit improvements”
  1. 00/15 fast-export and remote-testgit improvementsFelipe Contreras, Nov 11, 2012
  2. 01/15 fast-export: avoid importing blob marksFelipe Contreras, Nov 11, 2012
  3. Torsten BögershausenNov 11, 2012
  4. Jeff KingNov 11, 2012
  5. Junio C HamanoNov 12, 2012
  6. Felipe ContrerasNov 11, 2012
  7. 02/15 remote-testgit: fix direction of marksFelipe Contreras, Nov 11, 2012
  8. Max HornNov 11, 2012
  9. 03/15 remote-helpers: fix failure messageFelipe Contreras, Nov 11, 2012
  10. 04/15 Rename git-remote-testgit to git-remote-testpyFelipe Contreras, Nov 11, 2012
  11. 05/15 Add new simplified git-remote-testgitFelipe Contreras, Nov 11, 2012
  12. Max HornNov 11, 2012
  13. Junio C HamanoNov 21, 2012
  14. Felipe ContrerasNov 21, 2012
  15. 06/15 remote-testgit: get rid of non-local functionalityFelipe Contreras, Nov 11, 2012
  16. Junio C HamanoNov 21, 2012
  17. Felipe ContrerasNov 21, 2012
  18. 07/15 remote-testgit: remove irrelevant testFelipe Contreras, Nov 11, 2012
  19. 08/15 remote-testgit: cleanup testsFelipe Contreras, Nov 11, 2012
  20. Junio C HamanoNov 21, 2012
  21. Felipe ContrerasNov 22, 2012
  22. 09/15 remote-testgit: exercise more featuresFelipe Contreras, Nov 11, 2012
  23. Junio C HamanoNov 21, 2012
  24. Felipe ContrerasNov 21, 2012
  25. 10/15 remote-testgit: report success after an importFelipe Contreras, Nov 11, 2012
  26. 11/15 remote-testgit: make clear the 'done' featureFelipe Contreras, Nov 11, 2012
  27. Max HornNov 11, 2012
  28. Felipe ContrerasNov 11, 2012
  29. Max HornNov 12, 2012
  30. Jonathan NiederNov 12, 2012
  31. Felipe ContrerasNov 12, 2012
  32. Junio C HamanoNov 21, 2012
  33. Sverre RabbelierNov 21, 2012
  34. 12/15 fast-export: trivial cleanupFelipe Contreras, Nov 11, 2012
  35. 13/15 fast-export: fix comparison in testsFelipe Contreras, Nov 11, 2012
  36. 14/15 fast-export: make sure updated refs get updatedFelipe Contreras, Nov 11, 2012
  37. Max HornNov 11, 2012
  38. Junio C HamanoNov 21, 2012
  39. 15/15 fast-export: don't handle uninteresting refsFelipe Contreras, Nov 11, 2012
  40. Felipe ContrerasNov 12, 2012
  41. Junio C HamanoNov 20, 2012
  42. Felipe ContrerasNov 21, 2012
  43. Jonathan NiederNov 21, 2012
  44. Felipe ContrerasNov 21, 2012
  45. Junio C HamanoNov 21, 2012
  46. Felipe ContrerasNov 21, 2012
  47. Felipe ContrerasNov 21, 2012
  48. Jeff KingNov 21, 2012
  49. Felipe ContrerasNov 22, 2012
  50. Junio C HamanoNov 26, 2012
  51. Felipe ContrerasNov 26, 2012
  52. Johannes SchindelinNov 26, 2012
  53. Junio C HamanoNov 26, 2012
  54. Felipe ContrerasNov 26, 2012
  55. Johannes SchindelinNov 26, 2012
  56. Sverre RabbelierNov 26, 2012
  57. Junio C HamanoNov 26, 2012
  58. Max HornNov 21, 2012
  59. Felipe ContrerasNov 22, 2012
  60. Junio C HamanoNov 21, 2012
  61. Felipe ContrerasNov 22, 2012
  62. Felipe ContrerasNov 24, 2012
  63. Felipe ContrerasNov 21, 2012
  64. Junio C HamanoNov 21, 2012
  65. Felipe ContrerasNov 22, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.