* [PATCH] cg-clone fails to clone tags
@ 2005-06-01 1:58 Miguel Bazdresch
0 siblings, 0 replies; only message in thread
From: Miguel Bazdresch @ 2005-06-01 1:58 UTC (permalink / raw)
To: git
Hi,
I noticed that cg-clone fails to clone tags when the source and
destination directories are on different filesystems (this is on a local
clone). The command produces warnings of the type:
cp: cannot create link `.git/refs/tags/git-pasky-0.6.2': Invalid cross-device link
`/home/miguel/bin/cogito/.git/refs/tags/git-pasky-0.6.3' -> `.git/refs/tags/git-pasky-0.6.3'
I think the culprit is the "l" flag passed to cp in fetch-local() in
script cg-pull. After thinking a bit on how to solve this, I decided on
a "blunt force" approach, where the cp is done twice, once with "l" and
once without it. Only when both fail is a warning issued about the
failure to get the tag list.
This has the unfortunate side effect of also removing the "u" flag to
cp, but I don't think it's a big deal (cg-pull adds the "l" and "u"
flags at the same time).
Following is the output of cg-mkpatch:
---
Currently, cg-clone fails to clone the tag list if the destination
and source directory are in different filesystem. This caused by the
"l" flag used by fetch_local.
This patch tries the copy without the "l" flag if it fails with it.
Signed-off-by: Miguel Bazdresch <miguelb@ieee.org>
---
commit 5823514635ca67be41914d9294081353b70272a4
tree 19092122a45366f46b7f140d411f875000ff2ba7
parent 20e473c9afd8b5d2d549b0e7881473600beb9c37
author Miguel Bazdresch <miguelb@ieee.org> Tue, 31 May 2005 20:23:44
-0500
committer Miguel Bazdresch <miguelb@ieee.org> Tue, 31 May 2005 20:23:44
-0500
cg-pull | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/cg-pull b/cg-pull
--- a/cg-pull
+++ b/cg-pull
@@ -259,8 +259,16 @@ rsyncerr=
$fetch -i -s -u -d "$uri/refs/tags" "$_git/refs/tags" || rsyncerr=1
if [ "$rsyncerr" ]; then
rsyncerr=
- $fetch -i -s -u -d "$uri/tags" "$_git/refs/tags" || rsyncerr=1
+ $fetch -i -s -d "$uri/refs/tags" "$_git/refs/tags" || rsyncerr=1
fi
+if [ "$rsyncerr" ]; then
+rsyncerr=
+ $fetch -i -s -u -d "$uri/tags" "$_git/refs/tags" || rsyncerr=1
+fi
+if [ "$rsyncerr" ]; then
+rsyncerr=
+ $fetch -i -s -d "$uri/tags" "$_git/refs/tags" || rsyncerr=1
+fi
[ "$rsyncerr" ] && echo "unable to get tags list (non-fatal)" >&2
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-06-01 1:51 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-01 1:58 [PATCH] cg-clone fails to clone tags Miguel Bazdresch
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 NNTP newsgroup(s).