Re: contrib/git-normal-to-bare.sh
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
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
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
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
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