From 654086f1117ee22d9f7e8270330daff6c463c9ad Mon Sep 17 00:00:00 2001 From: Thomas Guyot-Sionnest Date: Mon, 11 Oct 2010 21:38:42 -0400 Subject: [PATCH] sfsnapshotgit: Better handling of remote refs This commit allow to track branches from unusually-named remote refs and makes possible using external remotes (other than origin) for snapshots. --- tools/sfsnapshotgit | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tools/sfsnapshotgit b/tools/sfsnapshotgit index e79dd55..8bc19fc 100755 --- a/tools/sfsnapshotgit +++ b/tools/sfsnapshotgit @@ -44,11 +44,17 @@ cd "$SFSNAP_REPO" # Sometimes "make dist" can modify versioned files so we must reset first git reset --hard git clean -qfdx -# Any branch used to create snapshots must already exist + +# Any branch used to create snapshots must already exist and be properly configured git checkout "$HEAD" -git fetch "$SFSNAP_ORIGIN" -git reset --hard "$SFSNAP_ORIGIN"/"$HEAD" -# Tags are important for git-describe + +# Get the remote tracking branch from config +origin=$(git config branch.$HEAD.remote) +ref=$(git config branch.$HEAD.merge |sed -e 's|^refs/heads/||') +git fetch "$origin" +git reset --hard "$origin/$ref" + +# Tags are important for git-describe, but take only the ones from the hard-coded origin git fetch --tags "$SFSNAP_ORIGIN" # Write our snapshot version string (similar to NP-VERSION-GEN) to "release" -- 2.30.2