Mailinglist Archive: opensuse-buildservice (327 mails)

< Previous Next >
Re: [opensuse-buildservice] [PATCH] checkout git branch with tar_scm source servce
On Monday 11 April 2011 14:33:47 Marcus Meissner wrote:
On Mon, Apr 11, 2011 at 02:31:02PM +0200, Will Stephenson wrote:
On Monday 11 April 2011 13:16:25 Adrian Schröter wrote:
Hm, but why do you need this at all ?

^^^^

I'm not sure what 'this' refers to, did you mean this line:

+ git checkout -B "$MYBRANCH"

Isn't

git checkout -r $BRANCH

working for you ?

? Did I miss a git syntax trick? the git-checkout manpage doesn't
mention an -r option.

My intention is to have a source service that can tar up an arbitrary
branch, and afaics there isn't a way to do that with git in tar_scm at
present. If I understand correctly, tar_scm may be called where an
existing clone exists, so I used checkout -B to cover the case that the
user changes the branch in an existing source service so the existing
clone is checked out to the requested branch.

Errm, just use

git archive <tag or branchname>

e.g. I use for Wine:

git archive origin --prefix=wine-$winever.$xdate/ | bzip2
$bsdir/wine-$winever.$xdate.tar.bz2

Of your you can replace "origin" by whatever branch or tag or other GIT
thingie you want.

This is how I understand the existing algorithm, augmented (+) by my patch:

if (tarball exists)
extract it
update it
+ ensure requested git branch is checked out
else
clone + requested branch
endif
tar up the result.

git archive doesn't include the .git dir so it wouldn't be updateable.

Will


--
Will Stephenson, KDE Developer, openSUSE Boosters Team
SUSE LINUX Products GmbH - Nürnberg - AG Nürnberg - HRB 16746 - GF: Markus Rex
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

< Previous Next >