git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 0/5] Foreign VCS as remote config
@ 2009-03-25  3:04 Daniel Barkalow
  0 siblings, 0 replies; only message in thread
From: Daniel Barkalow @ 2009-03-25  3:04 UTC (permalink / raw
  To: Junio C Hamano; +Cc: git

This series, like my previous series, makes it possible to set up a git 
config like:

[remote "origin"]
        vcs = p4
        port = localhost:1666
        ignoreCodeline = //depot/projects/oof-1.0
        codeline = //depot/projects/foo-1.0
        fetch = refs/p4/depot/projects/*:refs/remotes/origin/*

And then "git fetch origin" will actually incrementally import a p4 
project.

The main difference from the previous series, aside from a nicer version 
of the p4 importer that can use the free-as-in-beer C++ API, is the fact 
that the only diff for a builtin command is to builtin-clone, which just 
needs to make a copy of a const struct before passing it to a function 
that can now change it.

Parts 1 and 2 are potentially useful for other other protocols 
transporting git data, and could be applied now. Part 3 creates the option 
and makes it not work at all. Part 4 is the same old API, and transport.c 
code to use it. Part 5 is my p4 example.

There's still the oddity that foreign systems that don't use a URL will 
lead to struct remotes that don't look valid to some git code that expects 
the URL field to be filled.

Daniel Barkalow (5):
  Allow late reporting of fetched hashes
  Document details of transport function APIs
  Add option for using a foreign VCS
  Draft of API for git-vcs-*, transport.c code to use it.
  p4 example of git-vcs API for fetch direction

 Documentation/config.txt     |    4 +
 Documentation/git-vcs-p4.txt |   33 ++
 Documentation/git-vcs.txt    |   93 ++++
 Makefile                     |   25 +
 builtin-clone.c              |    6 +-
 p4-notes                     |   33 ++
 remote.c                     |    2 +
 remote.h                     |    2 +
 transport.c                  |  129 ++++-
 transport.h                  |   42 ++-
 vcs-p4/p4client-api.cc       |  169 ++++++
 vcs-p4/p4client.c            |  137 +++++
 vcs-p4/p4client.h            |   38 ++
 vcs-p4/vcs-p4.c              | 1229 ++++++++++++++++++++++++++++++++++++++++++
 vcs-p4/vcs-p4.h              |  128 +++++
 15 files changed, 2057 insertions(+), 13 deletions(-)
 create mode 100644 Documentation/git-vcs-p4.txt
 create mode 100644 Documentation/git-vcs.txt
 create mode 100644 p4-notes
 create mode 100644 vcs-p4/p4client-api.cc
 create mode 100644 vcs-p4/p4client.c
 create mode 100644 vcs-p4/p4client.h
 create mode 100644 vcs-p4/vcs-p4.c
 create mode 100644 vcs-p4/vcs-p4.h

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-03-25  3:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-25  3:04 [PATCH 0/5] Foreign VCS as remote config Daniel Barkalow

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).