suggestion: store the URL somewhere in .git/

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

suggestion: store the URL somewhere in .git/

From: Jeff Carr <hidden>
Date: 2016-06-15 22:42:04

It would be nice if the URL could be stored somewhere in .git/ This
makes it a lot easier to update repositories because you don't always
have to go and track down where you got it in the first place. Something
like this perhaps:

~$ cat .git/location
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/
~$ git-pull-script

Then something like below could be added to handle that easy enough.

Jeff

--- git-pull-script.orig	2005-07-31 22:23:50.000000000 -0700
+++ git-pull-script	2005-08-22 13:01:22.000000000 -0700
@@ -4,13 +4,24 @@
 # cogito.]
 #

+LOCATION="$@"
+
+if [ ! $LOCATION ]
+then
+	if [ -f .git/location ]
+	then
+		LOCATION=`cat .git/location`
+	fi
+fi
+
 . git-sh-setup-script || die "Not a git archive"
-. git-parse-remote "$@"
+. git-parse-remote "$LOCATION"
 merge_name="$_remote_name"

-git-fetch-script "$@" || exit 1
+git-fetch-script "$LOCATION" || exit 1

 git-resolve-script \
 	"$(cat "$GIT_DIR"/HEAD)" \
 	"$(cat "$GIT_DIR"/FETCH_HEAD)" \
 	"Merge $merge_name"
+

Re: suggestion: store the URL somewhere in .git/

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:42:04

Hi,

On Mon, 22 Aug 2005, Jeff Carr wrote:
It would be nice if the URL could be stored somewhere in .git/ This
makes it a lot easier to update repositories because you don't always
have to go and track down where you got it in the first place.
This is why your original target (when you clone) is stored as "origin".

Hth,
Dscho

Re: suggestion: store the URL somewhere in .git/

From: Jeff Carr <hidden>
Date: 2016-06-15 22:42:04

On 08/22/2005 01:18 PM, Johannes Schindelin wrote:
Hi,

On Mon, 22 Aug 2005, Jeff Carr wrote:

quoted
It would be nice if the URL could be stored somewhere in .git/ This
makes it a lot easier to update repositories because you don't always
have to go and track down where you got it in the first place.

This is why your original target (when you clone) is stored as "origin".
OK. I rsync'ed the repository directly so a origin file wasn't created.
That explains that. So my small "feature" request reduces to adding
something like this to git-pull-script. Thanks, Jeff

diff --git a/git-pull-script b/git-pull-script
--- a/git-pull-script
+++ b/git-pull-script
@@ -1,10 +1,20 @@
 #!/bin/sh
 #
+ORIGIN="$@"
+
+if [ ! $ORIGIN ]
+then
+	if [ -f .git/branches/origin ]
+	then
+		ORIGIN=`cat .git/branches/origin`
+	fi
+fi
+
 . git-sh-setup-script || die "Not a git archive"
-. git-parse-remote "$@"
+. git-parse-remote "$ORIGIN"
 merge_name="$_remote_name"

-git-fetch-script "$@" || exit 1
+git-fetch-script "$ORIGIN" || exit 1

 git-resolve-script \
 	"$(cat "$GIT_DIR"/HEAD)" \

Re: suggestion: store the URL somewhere in .git/

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:04

Jeff Carr [off-list ref] writes:
So my small "feature" request reduces to adding
something like this to git-pull-script. Thanks, Jeff
Somebody else earlier asked for fetch and pull to default to
"origin" URL, and the necessary change is already in the
proposed updates branch.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help