* Please consider adding a -f switch to git-clone (or something similar)
@ 2015-03-07 21:54 Diego Viola
2015-03-07 22:26 ` Andreas Schwab
0 siblings, 1 reply; 7+ messages in thread
From: Diego Viola @ 2015-03-07 21:54 UTC (permalink / raw)
To: git
Hello,
I was thinking about creating a new repository in my home dir so that I could
keep my dot files in it.
However, I found that I can't do a `git clone url:user/repo.git .` in a
non-empty directory.
Is there a possibility of implementing a -f switch to git-clone so that when I
use that, git would still clone the repo in the non-empty directory and keep the
untracked files untracked/unstaged? (just as if I copied files to the git repo).
I know I could git-init in a empty directory and then copy the .git dir to the
non-empty directory as a workaround, but I like the idea of cloning better.
My C skills aren't that great or I would have sent a patch already.
Thanks,
Diego
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Please consider adding a -f switch to git-clone (or something similar)
2015-03-07 21:54 Please consider adding a -f switch to git-clone (or something similar) Diego Viola
@ 2015-03-07 22:26 ` Andreas Schwab
2015-03-07 22:53 ` brian m. carlson
2015-03-08 0:02 ` Diego Viola
0 siblings, 2 replies; 7+ messages in thread
From: Andreas Schwab @ 2015-03-07 22:26 UTC (permalink / raw)
To: Diego Viola; +Cc: git
Diego Viola <diego.viola@gmail.com> writes:
> I know I could git-init in a empty directory
You can also git init a non-empty directory.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Please consider adding a -f switch to git-clone (or something similar)
2015-03-07 22:26 ` Andreas Schwab
@ 2015-03-07 22:53 ` brian m. carlson
2015-03-08 0:02 ` Diego Viola
1 sibling, 0 replies; 7+ messages in thread
From: brian m. carlson @ 2015-03-07 22:53 UTC (permalink / raw)
To: Andreas Schwab; +Cc: Diego Viola, git
[-- Attachment #1: Type: text/plain, Size: 1007 bytes --]
On Sat, Mar 07, 2015 at 11:26:28PM +0100, Andreas Schwab wrote:
>Diego Viola <diego.viola@gmail.com> writes:
>
>> I know I could git-init in a empty directory
>
>You can also git init a non-empty directory.
I have a script to set up a new throwaway VM with my dotfiles using git.
It looks a bit like the following ($BRANCH != master):
SSH="ssh $DEST"
$SSH "cd; $GIT init"
git push --receive-pack=$GIT-receive-pack $DEST:~/.git $BRANCH
$SSH "
$GIT pull . $BRANCH
$GIT submodule update --init
"
It relies on the ability to git init a non-empty directory. $BRANCH can
be master if you use the new updateInstead functionality in git 2.3.0,
and you can use git pull from a remote location instead of the push/pull
pair if that suits you better.
--
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Please consider adding a -f switch to git-clone (or something similar)
2015-03-07 22:26 ` Andreas Schwab
2015-03-07 22:53 ` brian m. carlson
@ 2015-03-08 0:02 ` Diego Viola
2015-03-08 1:53 ` Diego Viola
1 sibling, 1 reply; 7+ messages in thread
From: Diego Viola @ 2015-03-08 0:02 UTC (permalink / raw)
To: Andreas Schwab; +Cc: git
Sorry, I wanted to say: I know I can git-clone in a empty directory
and then move the files over to $HOME.
I know I can git init in a non-empty directory. :-)
Thanks,
Diego
On Sat, Mar 7, 2015 at 7:26 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> Diego Viola <diego.viola@gmail.com> writes:
>
>> I know I could git-init in a empty directory
>
> You can also git init a non-empty directory.
>
> Andreas.
>
> --
> Andreas Schwab, schwab@linux-m68k.org
> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
> "And now for something completely different."
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Please consider adding a -f switch to git-clone (or something similar)
2015-03-08 0:02 ` Diego Viola
@ 2015-03-08 1:53 ` Diego Viola
2015-03-08 2:32 ` Kyle J. McKay
0 siblings, 1 reply; 7+ messages in thread
From: Diego Viola @ 2015-03-08 1:53 UTC (permalink / raw)
To: Andreas Schwab; +Cc: git
Something like this is the scenario I'm talking about:
$ mkdir non-empty-dir
$ cd non-empty-dir
$ touch foo bar baz
$ git clone -f url:user/dotfiles.git .
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
bar
baz
foo
nothing added to commit but untracked files present (use "git add" to track)
On Sat, Mar 7, 2015 at 9:02 PM, Diego Viola <diego.viola@gmail.com> wrote:
> Sorry, I wanted to say: I know I can git-clone in a empty directory
> and then move the files over to $HOME.
>
> I know I can git init in a non-empty directory. :-)
>
> Thanks,
>
> Diego
>
> On Sat, Mar 7, 2015 at 7:26 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
>> Diego Viola <diego.viola@gmail.com> writes:
>>
>>> I know I could git-init in a empty directory
>>
>> You can also git init a non-empty directory.
>>
>> Andreas.
>>
>> --
>> Andreas Schwab, schwab@linux-m68k.org
>> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
>> "And now for something completely different."
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Please consider adding a -f switch to git-clone (or something similar)
2015-03-08 1:53 ` Diego Viola
@ 2015-03-08 2:32 ` Kyle J. McKay
2015-03-08 18:27 ` Diego Viola
0 siblings, 1 reply; 7+ messages in thread
From: Kyle J. McKay @ 2015-03-08 2:32 UTC (permalink / raw)
To: Diego Viola; +Cc: Git Mailing List
On Mar 7, 2015, at 17:53, Diego Viola wrote:
> Something like this is the scenario I'm talking about:
>
> $ mkdir non-empty-dir
> $ cd non-empty-dir
> $ touch foo bar baz
> $ git clone -f url:user/dotfiles.git .
> $ git status
> On branch master
> Your branch is up-to-date with 'origin/master'.
> Untracked files:
> (use "git add <file>..." to include in what will be committed)
>
> bar
> baz
> foo
>
> nothing added to commit but untracked files present (use "git add"
> to track)
Have you considered using an alias?
git config --global alias.irfc \
'!sh -c '\''git init && git remote add origin "$1" && git fetch &&
git checkout "${2:-master}"'\'' sh'
(You'll likely have to carefully unwrap that line above.)
Then you get
git irfc <URL> [<branch>]
where <branch> defaults to master.
So your scenario would become just:
$ mkdir non-empty-dir
$ cd non-empty-dir
$ touch foo bar baz
$ git irfc url:user/dotfiles.git
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
bar
baz
foo
nothing added to commit but untracked files present (use "git add" to
track)
-Kyle
P.S. irfc = init, remote, fetch, checkout. But do make up a better
name. :)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Please consider adding a -f switch to git-clone (or something similar)
2015-03-08 2:32 ` Kyle J. McKay
@ 2015-03-08 18:27 ` Diego Viola
0 siblings, 0 replies; 7+ messages in thread
From: Diego Viola @ 2015-03-08 18:27 UTC (permalink / raw)
To: Kyle J. McKay; +Cc: Git Mailing List
Kyle,
Thanks, I suppose that works well enough for my needs. I wasn't aware
that aliases were that flexible in git.
I also have no problem to git-init and do all the other steps manually.
Thanks,
Diego
On Sat, Mar 7, 2015 at 11:32 PM, Kyle J. McKay <mackyle@gmail.com> wrote:
> On Mar 7, 2015, at 17:53, Diego Viola wrote:
>>
>> Something like this is the scenario I'm talking about:
>>
>> $ mkdir non-empty-dir
>> $ cd non-empty-dir
>> $ touch foo bar baz
>> $ git clone -f url:user/dotfiles.git .
>> $ git status
>> On branch master
>> Your branch is up-to-date with 'origin/master'.
>> Untracked files:
>> (use "git add <file>..." to include in what will be committed)
>>
>> bar
>> baz
>> foo
>>
>> nothing added to commit but untracked files present (use "git add" to
>> track)
>
>
> Have you considered using an alias?
>
> git config --global alias.irfc \
> '!sh -c '\''git init && git remote add origin "$1" && git fetch && git
> checkout "${2:-master}"'\'' sh'
>
> (You'll likely have to carefully unwrap that line above.)
>
> Then you get
>
> git irfc <URL> [<branch>]
>
> where <branch> defaults to master.
> So your scenario would become just:
>
>
>
> $ mkdir non-empty-dir
> $ cd non-empty-dir
> $ touch foo bar baz
> $ git irfc url:user/dotfiles.git
> $ git status
> On branch master
> Your branch is up-to-date with 'origin/master'.
> Untracked files:
> (use "git add <file>..." to include in what will be committed)
>
> bar
> baz
> foo
>
> nothing added to commit but untracked files present (use "git add" to track)
>
>
> -Kyle
>
> P.S. irfc = init, remote, fetch, checkout. But do make up a better name. :)
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-03-08 18:27 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-07 21:54 Please consider adding a -f switch to git-clone (or something similar) Diego Viola
2015-03-07 22:26 ` Andreas Schwab
2015-03-07 22:53 ` brian m. carlson
2015-03-08 0:02 ` Diego Viola
2015-03-08 1:53 ` Diego Viola
2015-03-08 2:32 ` Kyle J. McKay
2015-03-08 18:27 ` Diego Viola
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.