Re: contrib/git-normal-to-bare.sh

2013-05-28 Thread Junio C Hamano
Zenaan Harkness z...@freedbms.net writes:

 I needed this quite a bit in the last few days, basic script but
 serves my need. I think it would be useful for other beginners if in
 $git/contrib/ source dir.

 Just a start to a basic script. Needs more tests etc, but it's enough
 to get newbies (like me) off to a reasonable start. Handles multiple
 input dirs.

 PLEASE CC me, as I am not subscribed.

 (some SMTP server rejected attachment, so pasting below instead)

 Thanks,
 Zenaan


 #!/bin/bash

I do not think you need (nor used) any bash-ism in this script.
Saying #!/bin/sh here is cleaner.


 # Change one or more normal repos into bare repos:
 # See also 
 https://git.wiki.kernel.org/index.php/GitFaq#How_do_I_make_existing_non-bare_repository_bare.3F

 for i in $@; do

for i
do

You do not have to say 'in $@'; it is implied.

echo; echo --
echo Processing $i

Forgot to dq?


repo=$i
repo=`basename $i`
tmp_repo=${repo}.git
# Insert here: may be exit if any spaces in repo fqn
# Insert here: check for non-existent repo/.git dir
# Insert here: check that we are not inside the repo
# Insert here: add exit/do-nothing if fail to mv dirs etc

mv $repo/.git $tmp_repo

Forgot to dq?  i.e.

mv $repo/.git $tmp_repo

The same for all the variable references in the remainder of the
script.

More importantly, mv would fail if $repo is given as a full
pathname elsewhere in the filesystem that is different from your
current directory where you create $tmp_repo.

git --git-dir=$tmp_repo config core.bare true
mv $repo ${repo}.bak
mv $tmp_repo $repo
 done
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: contrib/git-normal-to-bare.sh

2013-05-28 Thread Felipe Contreras
Zenaan Harkness wrote:
 This question comes up every now and then - how to convert from normal
 to bare, or vice versa.
 
 This is just a start to a basic script to go one way. Needs more tests
 etc, but it's enough to get newbies (like me) off to a reasonable
 start.
 
 PLEASE CC me, as I am not subscribed.

You do not need to ask to be CC'ed. Any mailing list properly configued would
not munge the Reply-To header, so anybody replying to this mail would reply to
you.

Git is a properly configured mailing list, just like all the mailing list in
vger.kernel.org.

Cheers.

-- 
Felipe Contreras
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: contrib/git-normal-to-bare.sh

2013-05-27 Thread Matthieu Moy
Zenaan Harkness z...@freedbms.net writes:

rm -rf $repo

The user would appreciate if you check that there are no uncommited
changes and no untracked files (at least no untracked and not ignored
files) before running this.

Also, it's $repo, not just $repo, or you'll get surprising behavior if
$repo contain spaces.

The safe way would actually be stg like:

  rm -fr -- $repo

in case $repo starts with a dash.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: contrib/git-normal-to-bare.sh

2013-05-27 Thread Zenaan Harkness
On 5/27/13, Matthieu Moy matthieu@grenoble-inp.fr wrote:
 Zenaan Harkness z...@freedbms.net writes:

rm -rf $repo

 The user would appreciate if you check that there are no uncommited
 changes and no untracked files (at least no untracked and not ignored
 files) before running this.

 Also, it's $repo, not just $repo, or you'll get surprising behavior if
 $repo contain spaces.

 The safe way would actually be stg like:

   rm -fr -- $repo

Thanks.

In my later email, I changed it to mv - should have highlighted there
was a change. I got bitten, on a small repo thankfully, where a perms
or ownership problem caused the whole repo to disappear. So mv it is
:)

BTW, I've subscribed for a little while now...

Thanks again
Zenaan
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: contrib/git-normal-to-bare.sh

2013-05-27 Thread Fredrik Gustafsson
On Mon, May 27, 2013 at 07:43:13PM +1000, Zenaan Harkness wrote:
 In my later email, I changed it to mv - should have highlighted there
 was a change. I got bitten, on a small repo thankfully, where a perms
 or ownership problem caused the whole repo to disappear. So mv it is
 :)

Do you really need bash for that script or will it do with sh? I think
sh is preferred.

Also a mv instead of a rm will require a lot of disc space if you have a
big repository.

-- 
Med vänliga hälsningar
Fredrik Gustafsson

tel: 0733-608274
e-post: iv...@iveqy.com
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html