{"thread":{"id":"18518","subject":"[PATCH 0/5] Foreign VCS as remote config","startedAt":"2009-03-25T03:04:03Z","lastAt":"2009-03-25T03:04:03Z","messageCount":1,"participants":["Daniel Barkalow"],"isPatch":true,"patchVersion":1,"patchTotal":5},"messages":[{"id":"109297","messageId":"alpine.LNX.1.00.0903242239030.19665@iabervon.org","threadId":"18518","inReplyTo":null,"subject":"[PATCH 0/5] Foreign VCS as remote config","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2009-03-25T03:04:03Z","receivedAt":"2009-03-25T03:04:03Z","isPatch":true,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"This series, like my previous series, makes it possible to set up a git \nconfig like:\n\n[remote \"origin\"]\n        vcs = p4\n        port = localhost:1666\n        ignoreCodeline = //depot/projects/oof-1.0\n        codeline = //depot/projects/foo-1.0\n        fetch = refs/p4/depot/projects/*:refs/remotes/origin/*\n\nAnd then \"git fetch origin\" will actually incrementally import a p4 \nproject.\n\nThe main difference from the previous series, aside from a nicer version \nof the p4 importer that can use the free-as-in-beer C++ API, is the fact \nthat the only diff for a builtin command is to builtin-clone, which just \nneeds to make a copy of a const struct before passing it to a function \nthat can now change it.\n\nParts 1 and 2 are potentially useful for other other protocols \ntransporting git data, and could be applied now. Part 3 creates the option \nand makes it not work at all. Part 4 is the same old API, and transport.c \ncode to use it. Part 5 is my p4 example.\n\nThere's still the oddity that foreign systems that don't use a URL will \nlead to struct remotes that don't look valid to some git code that expects \nthe URL field to be filled.\n\nDaniel Barkalow (5):\n  Allow late reporting of fetched hashes\n  Document details of transport function APIs\n  Add option for using a foreign VCS\n  Draft of API for git-vcs-*, transport.c code to use it.\n  p4 example of git-vcs API for fetch direction\n\n Documentation/config.txt     |    4 +\n Documentation/git-vcs-p4.txt |   33 ++\n Documentation/git-vcs.txt    |   93 ++++\n Makefile                     |   25 +\n builtin-clone.c              |    6 +-\n p4-notes                     |   33 ++\n remote.c                     |    2 +\n remote.h                     |    2 +\n transport.c                  |  129 ++++-\n transport.h                  |   42 ++-\n vcs-p4/p4client-api.cc       |  169 ++++++\n vcs-p4/p4client.c            |  137 +++++\n vcs-p4/p4client.h            |   38 ++\n vcs-p4/vcs-p4.c              | 1229 ++++++++++++++++++++++++++++++++++++++++++\n vcs-p4/vcs-p4.h              |  128 +++++\n 15 files changed, 2057 insertions(+), 13 deletions(-)\n create mode 100644 Documentation/git-vcs-p4.txt\n create mode 100644 Documentation/git-vcs.txt\n create mode 100644 p4-notes\n create mode 100644 vcs-p4/p4client-api.cc\n create mode 100644 vcs-p4/p4client.c\n create mode 100644 vcs-p4/p4client.h\n create mode 100644 vcs-p4/vcs-p4.c\n create mode 100644 vcs-p4/vcs-p4.h\n"}]}