Re: [PATCH 3/5] Add option for using a foreign VCS

4 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH 3/5] Add option for using a foreign VCS

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:28

Daniel Barkalow [off-list ref] writes:
quoted hunk
This simply configures the remote to use a transport that doesn't have
any methods at all and is therefore unable to do anything yet.

Signed-off-by: Daniel Barkalow <redacted>
---
 Documentation/config.txt |    4 ++++
 remote.c                 |    2 ++
 remote.h                 |    2 ++
 transport.c              |    3 ++-
 4 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 089569a..14b0e07 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -1305,6 +1305,10 @@ remote.<name>.tagopt::
 	Setting this value to \--no-tags disables automatic tag following when
 	fetching from remote <name>
 
+remote.<name>.vcs::
+	Setting this to a value <vcs> will cause git to interact with
+	the remote with the git-vcs-<vcs> helper.
+
Nice.
quoted hunk
diff --git a/remote.h b/remote.h
index de3d21b..e77dc1b 100644
--- a/remote.h
+++ b/remote.h
@@ -11,6 +11,8 @@ struct remote {
 	const char *name;
 	int origin;
 
+	const char *foreign_vcs;
+
 	const char **url;
 	int url_nr;
 	int url_alloc;
What are these extra blank lines for?  Isn't it pretty much part of the
URL group that immediately follows it?
quoted hunk
diff --git a/transport.c b/transport.c
index 26c578e..8a37db5 100644
--- a/transport.c
+++ b/transport.c
@@ -939,7 +939,8 @@ struct transport *transport_get(struct remote *remote, const char *url)
 	ret->remote = remote;
 	ret->url = url;
 
-	if (!prefixcmp(url, "rsync:")) {
+	if (remote && remote->foreign_vcs) {
+	} else if (!prefixcmp(url, "rsync:")) {
	if (...) {
        	; /* empty */
	} else ...
 		ret->get_refs_list = get_refs_via_rsync;
 		ret->fetch = fetch_objs_via_rsync;
 		ret->push = rsync_transport_push;
-- 
1.6.2.1.476.g9bf04b

Re: [PATCH 3/5] Add option for using a foreign VCS

From: Daniel Barkalow <hidden>
Date: 2016-06-15 22:46:28

On Tue, 24 Mar 2009, Junio C Hamano wrote:
Daniel Barkalow [off-list ref] writes:
quoted
This simply configures the remote to use a transport that doesn't have
any methods at all and is therefore unable to do anything yet.

Signed-off-by: Daniel Barkalow <redacted>
---
 Documentation/config.txt |    4 ++++
 remote.c                 |    2 ++
 remote.h                 |    2 ++
 transport.c              |    3 ++-
 4 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/remote.h b/remote.h
index de3d21b..e77dc1b 100644
--- a/remote.h
+++ b/remote.h
@@ -11,6 +11,8 @@ struct remote {
 	const char *name;
 	int origin;
 
+	const char *foreign_vcs;
+
 	const char **url;
 	int url_nr;
 	int url_alloc;
What are these extra blank lines for?  Isn't it pretty much part of the
URL group that immediately follows it?
I'd been thinking of it as being a higher-level switch than the URLs, but 
it could go together.
quoted
diff --git a/transport.c b/transport.c
index 26c578e..8a37db5 100644
--- a/transport.c
+++ b/transport.c
@@ -939,7 +939,8 @@ struct transport *transport_get(struct remote *remote, const char *url)
 	ret->remote = remote;
 	ret->url = url;
 
-	if (!prefixcmp(url, "rsync:")) {
+	if (remote && remote->foreign_vcs) {
+	} else if (!prefixcmp(url, "rsync:")) {
	if (...) {
        	; /* empty */
	} else ...
I don't think I've ever tried writing an empty block for git before. It's 
braces containing a semicolon and comment? (Of course, the reason I wrote 
this one this way is so that the next patch could put two "+" lines in 
there and have no "-" lines)

	-Daniel
*This .sig left intentionally blank*

Re: [PATCH 3/5] Add option for using a foreign VCS

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:28

Daniel Barkalow [off-list ref] writes:
quoted
quoted
-	if (!prefixcmp(url, "rsync:")) {
+	if (remote && remote->foreign_vcs) {
+	} else if (!prefixcmp(url, "rsync:")) {
	if (...) {
        	; /* empty */
	} else ...
I don't think I've ever tried writing an empty block for git before. It's 
braces containing a semicolon and comment? (Of course, the reason I wrote 
this one this way is so that the next patch could put two "+" lines in 
there and have no "-" lines)
Wasn't a serious "this has to be the final style" suggestion, but more
about "what do you mean by this?  are you going to add more code here in
the later round?" question.

Re: [PATCH 3/5] Add option for using a foreign VCS

From: Daniel Barkalow <hidden>
Date: 2016-06-15 22:46:28

On Wed, 25 Mar 2009, Junio C Hamano wrote:
Daniel Barkalow [off-list ref] writes:
quoted
quoted
quoted
-	if (!prefixcmp(url, "rsync:")) {
+	if (remote && remote->foreign_vcs) {
+	} else if (!prefixcmp(url, "rsync:")) {
	if (...) {
        	; /* empty */
	} else ...
I don't think I've ever tried writing an empty block for git before. It's 
braces containing a semicolon and comment? (Of course, the reason I wrote 
this one this way is so that the next patch could put two "+" lines in 
there and have no "-" lines)
Wasn't a serious "this has to be the final style" suggestion, but more
about "what do you mean by this?  are you going to add more code here in
the later round?" question.
Ah, yes, I do intend to add code there subsequently, and this is just a 
placeholder so that it returns a correctly-constructed struct which 
doesn't support any operations until those operations are added.

	-Daniel
*This .sig left intentionally blank*
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help