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

[RFC 01/11] Add specification of git-vcs-* helper programs

From
Johan Herland <johan@herland.net>
Date
Jul 27, 2009, 01:04 UTC
Message-ID
<1248656659-21415-2-git-send-email-johan@herland.net>
In-Reply-To
<1248656659-21415-1-git-send-email-johan@herland.net>
From: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Johan Herland <johan@herland.net>
---
 Documentation/git-vcs.txt |   77 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 77 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/git-vcs.txt
diff --git a/Documentation/git-vcs.txt b/Documentation/git-vcs.txt
new file mode 100644
index 0000000..402c927
--- /dev/null
+++ b/Documentation/git-vcs.txt
@@ -0,0 +1,77 @@
+git-vcs(1)
+============
+
+NAME
+----
+git-vcs - Helper programs for interoperation with foreign systems
+
+SYNOPSIS
+--------
+'git vcs-<system>' <remote>
+
+DESCRIPTION
+-----------
+
+These programs are normally not used directly by end users, but are
+invoked by various git programs that interact with remote repositories
+when the repository they would operate on uses a foreign system.
+
+Each 'git vcs-<system>' is a helper for interoperating with a
+particular version control system. Different helpers have different
+capabilities (limited both by the particular helper and by the
+capabilities of the system they connect to), and they report what
+capabilities they support.
+
+These programs can store refs in refs/<system>/*, and arbitrary
+information in info/<system>.
+
+COMMANDS
+--------
+
+Commands are given by the caller on the helper's standard input, one per line.
+
+'capabilities'::
+	Outputs a single line with a list of feature names separated
+	by spaces. Each of these indicates a supported feature of the
+	helper, and the caller will only attempt operations that are
+	supported.
+
+'list'::
+	Outputs the names of refs, one per line. These may be
+	followed, after a single space, by "changed" or "unchanged",
+	indicating whether the foreign repository has changed from the
+	state in the ref. If the helper doesn't know, it doesn't have
+	to provide a value. (In particular, it shouldn't do expensive
+	operations, such as importing the content, to see whether it
+	matches.) Other information, not yet supported, may be output
+	as well, separated by single spaces.
+
+'import' ref::
+	Imports the given ref by outputting it in git-fast-import
+	format.
+
+'export' commit ref::
+	Sends the given commit to the foreign system, with the
+	location given by ref, and reimports it by outputting it in
+	git-fast-import format as the foreign system rendered it.
++
+All parents of commit must either have been created with 'import' or
+have been passed to 'export' previously. Depending on the features,
+there may be other restrictions on what may be exported.
+
+FEATURES
+--------
+
+'export'::
+	Helper supports exporting commits, at least exporting
+	non-merge commits whose parents are not the parents of any
+	other commit exported to the same branch or make in the other
+	system on the same branch.
+
+'export-branch'::
+	Helper supports creating new branches by exporting commits to
+	them.
+
+'export-merges'::
+	Helper supports exporting two-parent merges, where both
+	parents have already been exported successfully.
-- 
1.6.4.rc3.138.ga6b98.dirty
Previous: Johan HerlandNext: Johan Herland
Message 2 of 30 in “[RFC 00/11] Foreign VCS helper program for CVS repositories”
  1. Johan HerlandJul 27, 2009
  2. 01/11 Add specification of git-vcs-* helper programsJohan Herland, Jul 27, 2009
  3. 02/11 Use a function to determine whether a remote is validJohan Herland, Jul 27, 2009
  4. 03/11 Allow programs to not depend on remotes having urlsJohan Herland, Jul 27, 2009
  5. Junio C HamanoJul 27, 2009
  6. Daniel BarkalowJul 27, 2009
  7. Alex RiesenJul 29, 2009
  8. Johan HerlandJul 30, 2009
  9. 04/11 Add a transport implementation using git-vcs-* helpersJohan Herland, Jul 27, 2009
  10. 05/11 Refactor path name parsing into new function: get_path_str()Johan Herland, Jul 27, 2009
  11. 06/11 Add support for mark references as path namesJohan Herland, Jul 27, 2009
  12. Shawn O. PearceJul 27, 2009
  13. Johan HerlandJul 27, 2009
  14. Shawn O. PearceJul 27, 2009
  15. 06/11 fast-import: Add support for importing commit notesJohan Herland, Jul 28, 2009
  16. Junio C HamanoJul 29, 2009
  17. Johan HerlandJul 29, 2009
  18. Shawn O. PearceJul 29, 2009
  19. Junio C HamanoJul 29, 2009
  20. Johan HerlandJul 30, 2009
  21. Junio C HamanoJul 30, 2009
  22. Junio C HamanoJul 29, 2009
  23. Johan HerlandJul 29, 2009
  24. 07/11 Preliminary clarifications to git-vcs documentationJohan Herland, Jul 27, 2009
  25. 08/11 Teach foreign transport code to perform the "capabilities" commandJohan Herland, Jul 27, 2009
  26. 09/11 Introduce a 'marks <filename>' feature to the foreign transport codeJohan Herland, Jul 27, 2009
  27. 11/11 Add simple test cases of git-vcs-cvs functionalityJohan Herland, Jul 27, 2009
  28. Daniel BarkalowJul 27, 2009
  29. Johan HerlandJul 27, 2009
  30. Daniel BarkalowJul 27, 2009

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.