# [PATCH Cogito] cg-fetch: fix local cloning with symbolic refs

1 messages from 2005-10-08 to 2005-10-08. Participants: Jonas Fonseca.
Thread: https://gitlist.dev/t/2048

## Jonas Fonseca, 2005-10-08 17:48

Subject: [PATCH Cogito] cg-fetch: fix local cloning with symbolic refs
Message-ID: <20051008174857.GB28875@diku.dk>
URL: https://gitlist.dev/e/20051008174857.GB28875%40diku.dk

```
Ugly workaround for making the HEAD getter use 'git-symbolic-ref HEAD'
so that git-local-fetch is passed the proper ID and not 'ref: ...'.

---

Yeah, it is ugly, it assumes we are getting the HEAD (which is currently
the only one using the -b flag.

diff --git a/cg-fetch b/cg-fetch
index d0d37e1..57096cd 100755
--- a/cg-fetch
+++ b/cg-fetch
@@ -248,9 +248,10 @@ fetch_ssh()
 
 get_local()
 {
+	symref=
 	cp_flags_l="-vdpR"
 	if [ "$1" = "-b" ]; then
-		cp_flags_l="-vb" # Dereference symlinks
+		symref=1
 		shift
 	fi
 
@@ -270,6 +271,7 @@ get_local()
 
 	src="$1"
 	dest="$2"
+	[ "$symref" ] && src="$(dirname $src)/$(git-symbolic-ref HEAD)"
 	[ "$cut_last" ] && dest=${dest%/*}
 
 	cp $cp_flags_l "$src" "$dest"

-- 
Jonas Fonseca

```
