Some people in #linux-rt claimed that you cannot define "--mirror" with
"mirror".
Signed-off-by: Uwe Kleine-König <redacted>
---
Documentation/git-clone.txt | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
@@ -128,7 +128,16 @@ objects from the source repository into a pack in the cloned repository. configuration variables are created. --mirror::- Set up a mirror of the remote repository. This implies `--bare`.+ Set up a mirror of the remote repository.+ Using++ git remote update origin++ (or `<name>` instead of `origin` if -o is given) in the resulting+ repository overwrites the local branches without asking.+ This implies `--bare`.+ Without --mirror (but with --bare) git remote update doesn't touch any+ branches at all. --origin <name>:: -o <name>::
@@ -128,7 +128,16 @@ objects from the source repository into a pack in the cloned repository.
configuration variables are created.
--mirror::
- Set up a mirror of the remote repository. This implies `--bare`.
+ Set up a mirror of the remote repository.
+ Using
+
+ git remote update origin
+
+ (or `<name>` instead of `origin` if -o is given) in the resulting
+ repository overwrites the local branches without asking.
+ This implies `--bare`.
+ Without --mirror (but with --bare) git remote update doesn't touch any
+ branches at all.
--origin <name>::
-o <name>::
--
1.7.2.3
@@ -128,7 +128,16 @@ objects from the source repository into a pack in the cloned repository. configuration variables are created. --mirror::- Set up a mirror of the remote repository. This implies `--bare`.+ Set up a mirror of the remote repository.+ Using++ git remote update origin++ (or `<name>` instead of `origin` if -o is given) in the resulting+ repository overwrites the local branches without asking.+ This implies `--bare`.+ Without --mirror (but with --bare) git remote update doesn't touch any+ branches at all. --origin <name>:: -o <name>::--
From: Michael J Gruber <hidden> Date: 2016-06-15 22:49:41
Steven Rostedt venit, vidit, dixit 01.10.2010 23:16:
On Fri, 2010-10-01 at 13:18 -0700, Darren Hart wrote:
quoted
2010/10/1 Uwe Kleine-König [off-list ref]:
quoted
Some people in #linux-rt claimed that you cannot define "--mirror" with
"mirror".
I'd say "mirror" is a commonly known term for an exact copy. Moreover,
the text below doesn't explain what a mirror is either, only how
"update" behaves in it.
@@ -128,7 +128,16 @@ objects from the source repository into a pack in the cloned repository. configuration variables are created. --mirror::- Set up a mirror of the remote repository. This implies `--bare`.+ Set up a mirror of the remote repository.+ Using++ git remote update origin++ (or `<name>` instead of `origin` if -o is given) in the resulting
"remote" has no "-o" option. You probably mean the "clone" option, but
the way it's written it refers to the preceding command.
quoted
quoted
+ repository overwrites the local branches without asking.
+ This implies `--bare`.
Again, "this" refers to the preceding sentence. But the update behavior
does not imply "--bare". Specifying "--mirror" for "clone" implies "--bare".
quoted
quoted
+ Without --mirror (but with --bare) git remote update doesn't touch any
+ branches at all.
That's not true. It just doesn't touch any local branches; it updates
the remote branches, of course.
I'm sorry but I can't consider this patch an improvement.
Michael
Hello Michael,
On Mon, Oct 04, 2010 at 09:25:17AM +0200, Michael J Gruber wrote:
Steven Rostedt venit, vidit, dixit 01.10.2010 23:16:
quoted
On Fri, 2010-10-01 at 13:18 -0700, Darren Hart wrote:
quoted
2010/10/1 Uwe Kleine-König [off-list ref]:
quoted
Some people in #linux-rt claimed that you cannot define "--mirror" with
"mirror".
I'd say "mirror" is a commonly known term for an exact copy. Moreover,
the text below doesn't explain what a mirror is either, only how
"update" behaves in it.
hmm. The --mirror option doesn't have any effect (apart from the
changes in the config file) until you update. So I think it's natural
to talk about git update. No?
@@ -128,7 +128,16 @@ objects from the source repository into a pack in the cloned repository. configuration variables are created. --mirror::- Set up a mirror of the remote repository. This implies `--bare`.+ Set up a mirror of the remote repository.+ Using++ git remote update origin++ (or `<name>` instead of `origin` if -o is given) in the resulting
"remote" has no "-o" option. You probably mean the "clone" option, but
the way it's written it refers to the preceding command.
So what do you think about:
... (or `<name>` instead of `origin` if -o is given to clone)
quoted
quoted
quoted
+ repository overwrites the local branches without asking.
+ This implies `--bare`.
Again, "this" refers to the preceding sentence. But the update behavior
does not imply "--bare". Specifying "--mirror" for "clone" implies "--bare".
OK.
quoted
quoted
quoted
+ Without --mirror (but with --bare) git remote update doesn't touch any
+ branches at all.
That's not true. It just doesn't touch any local branches; it updates
the remote branches, of course.
Hmm, for me there are no remote branches when using --bare:
ukleinek@cassiopeia:~/tmp$ git clone --bare ~/gsrc/topgit
Cloning into bare repository topgit.git...
done.
ukleinek@cassiopeia:~/tmp$ cd topgit.git/
ukleinek@cassiopeia:~/tmp/topgit.git$ git remote update
Fetching origin
From /home/ukleinek/gsrc/topgit
* branch HEAD -> FETCH_HEAD
This is also documented for --bare:
When this option is used, neither remote-tracking branches nor
the related configuration variables are created.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
From: Michael J Gruber <hidden> Date: 2016-06-15 22:49:41
Uwe Kleine-König venit, vidit, dixit 04.10.2010 09:50:
Hello Michael,
On Mon, Oct 04, 2010 at 09:25:17AM +0200, Michael J Gruber wrote:
quoted
Steven Rostedt venit, vidit, dixit 01.10.2010 23:16:
quoted
On Fri, 2010-10-01 at 13:18 -0700, Darren Hart wrote:
quoted
2010/10/1 Uwe Kleine-König [off-list ref]:
quoted
Some people in #linux-rt claimed that you cannot define "--mirror" with
"mirror".
I'd say "mirror" is a commonly known term for an exact copy. Moreover,
the text below doesn't explain what a mirror is either, only how
"update" behaves in it.
hmm. The --mirror option doesn't have any effect (apart from the
changes in the config file) until you update. So I think it's natural
to talk about git update. No?
"git clone" (with or without --mirror) does a couple of things, and it
does them differently when "--mirror" is used. It mirrors each branch
from the source repo in the target repo under the same name, including
for example any remote branches in the source repo. This is completely
different without "--mirror", where clone does not look at the source's
remote branches at all. Also, it sets up a mirroring refspec, i.e.
+refs/*:refs/*
Then, when you use the mirror clone, the refspec makes it behave
differently from a normal clone, which is what you notice with "update" etc.
@@ -128,7 +128,16 @@ objects from the source repository into a pack in the cloned repository. configuration variables are created. --mirror::- Set up a mirror of the remote repository. This implies `--bare`.+ Set up a mirror of the remote repository.+ Using++ git remote update origin++ (or `<name>` instead of `origin` if -o is given) in the resulting
"remote" has no "-o" option. You probably mean the "clone" option, but
the way it's written it refers to the preceding command.
So what do you think about:
... (or `<name>` instead of `origin` if -o is given to clone)
maybe "was given"
quoted
quoted
quoted
quoted
+ repository overwrites the local branches without asking.
+ This implies `--bare`.
Again, "this" refers to the preceding sentence. But the update behavior
does not imply "--bare". Specifying "--mirror" for "clone" implies "--bare".
OK.
quoted
quoted
quoted
quoted
+ Without --mirror (but with --bare) git remote update doesn't touch any
+ branches at all.
That's not true. It just doesn't touch any local branches; it updates
the remote branches, of course.
Hmm, for me there are no remote branches when using --bare:
I'm sorry, I missed the parenthetical remark. You're completely right
for the case with "--bare" only.
ukleinek@cassiopeia:~/tmp$ git clone --bare ~/gsrc/topgit
Cloning into bare repository topgit.git...
done.
ukleinek@cassiopeia:~/tmp$ cd topgit.git/
ukleinek@cassiopeia:~/tmp/topgit.git$ git remote update
Fetching origin
From /home/ukleinek/gsrc/topgit
* branch HEAD -> FETCH_HEAD
This is also documented for --bare:
When this option is used, neither remote-tracking branches nor
the related configuration variables are created.
Best regards
Uwe
This makes me think that --mirror should be explained on top of --bare.
For example:
In addition to the mapping of local branches to local branches which
--bare does, --mirror maps all refs which the source has under the same
name in the target (including remote branches, notes etc.) and sets up a
refspec configuration so that all these refs are updated by a `git
update` in the target repo.
Michael
Hello Michael,
On Mon, Oct 04, 2010 at 10:23:13AM +0200, Michael J Gruber wrote:
Uwe Kleine-König venit, vidit, dixit 04.10.2010 09:50:
quoted
Hello Michael,
On Mon, Oct 04, 2010 at 09:25:17AM +0200, Michael J Gruber wrote:
quoted
Steven Rostedt venit, vidit, dixit 01.10.2010 23:16:
quoted
On Fri, 2010-10-01 at 13:18 -0700, Darren Hart wrote:
quoted
2010/10/1 Uwe Kleine-König [off-list ref]:
quoted
Some people in #linux-rt claimed that you cannot define "--mirror" with
"mirror".
I'd say "mirror" is a commonly known term for an exact copy. Moreover,
the text below doesn't explain what a mirror is either, only how
"update" behaves in it.
hmm. The --mirror option doesn't have any effect (apart from the
changes in the config file) until you update. So I think it's natural
to talk about git update. No?
"git clone" (with or without --mirror) does a couple of things, and it
does them differently when "--mirror" is used. It mirrors each branch
from the source repo in the target repo under the same name, including
for example any remote branches in the source repo. This is completely
different without "--mirror", where clone does not look at the source's
remote branches at all. Also, it sets up a mirroring refspec, i.e.
+refs/*:refs/*
Ah, didn't notice that.
[...]
This makes me think that --mirror should be explained on top of --bare.
OK.
For example:
In addition to the mapping of local branches to local branches which
--bare does, --mirror maps all refs which the source has under the same
name in the target (including remote branches, notes etc.) and sets up a
refspec configuration so that all these refs are updated by a `git
update` in the target repo.
Hmm, I didn't understand this when I read it the first few times. The
special thing is that --mirror maps *all* refs, not *same name*.
So maybe:
Set up a mirror of the remote repository. This implies `--bare`.
Compared to `--bare`, `--mirror` doesn't only map local branches of
the remote to local branches of the target but all refs
(including remote branches, notes etc.) and sets up a refspec
configuration such that all these refs are overwritten by a
`git remote update` in the target repository.
I choosed to write "overwritten" instead of "updated" to make it clearer
that it makes no sence to push into these branches from a different
source. Should this be noted more explicit?
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
From: Michael J Gruber <hidden> Date: 2016-06-15 22:49:41
Uwe Kleine-König venit, vidit, dixit 04.10.2010 10:50:
Hello Michael,
On Mon, Oct 04, 2010 at 10:23:13AM +0200, Michael J Gruber wrote:
quoted
Uwe Kleine-König venit, vidit, dixit 04.10.2010 09:50:
quoted
Hello Michael,
On Mon, Oct 04, 2010 at 09:25:17AM +0200, Michael J Gruber wrote:
quoted
Steven Rostedt venit, vidit, dixit 01.10.2010 23:16:
quoted
On Fri, 2010-10-01 at 13:18 -0700, Darren Hart wrote:
quoted
2010/10/1 Uwe Kleine-König [off-list ref]:
quoted
Some people in #linux-rt claimed that you cannot define "--mirror" with
"mirror".
I'd say "mirror" is a commonly known term for an exact copy. Moreover,
the text below doesn't explain what a mirror is either, only how
"update" behaves in it.
hmm. The --mirror option doesn't have any effect (apart from the
changes in the config file) until you update. So I think it's natural
to talk about git update. No?
"git clone" (with or without --mirror) does a couple of things, and it
does them differently when "--mirror" is used. It mirrors each branch
from the source repo in the target repo under the same name, including
for example any remote branches in the source repo. This is completely
different without "--mirror", where clone does not look at the source's
remote branches at all. Also, it sets up a mirroring refspec, i.e.
+refs/*:refs/*
Ah, didn't notice that.
quoted
[...]
This makes me think that --mirror should be explained on top of --bare.
OK.
quoted
For example:
In addition to the mapping of local branches to local branches which
--bare does, --mirror maps all refs which the source has under the same
name in the target (including remote branches, notes etc.) and sets up a
refspec configuration so that all these refs are updated by a `git
update` in the target repo.
Hmm, I didn't understand this when I read it the first few times. The
special thing is that --mirror maps *all* refs, not *same name*.
Yep, my sentence was bad, it could be misunderstood.
So maybe:
Set up a mirror of the remote repository. This implies `--bare`.
Compared to `--bare`, `--mirror` doesn't only map local branches of
"does not"
the remote to local branches of the target but all refs
(including remote branches, notes etc.) and sets up a refspec
Maybe "of the source" for "of the remote"? Because remote comes up right
after in a different meaning.
configuration such that all these refs are overwritten by a
`git remote update` in the target repository.
I like that a lot!
I choosed to write "overwritten" instead of "updated" to make it clearer
that it makes no sence to push into these branches from a different
source. Should this be noted more explicit?
"update" may be more Git lingo but I think either is fine. "overwritten"
makes it clearer this is not a repo to do development in...
Cheers,
Michael
Some people in #linux-rt claimed that you cannot define "--mirror" with
"mirror" only.
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Darren 'Some People' Hart <redacted>
Cc: Michael J Gruber <redacted>
Signed-off-by: Uwe Kleine-König <redacted>
---
Documentation/git-clone.txt | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
@@ -128,7 +128,12 @@ objects from the source repository into a pack in the cloned repository. configuration variables are created. --mirror::- Set up a mirror of the remote repository. This implies `--bare`.+ Set up a mirror of the source repository. This implies `--bare`.+ Compared to `--bare`, `--mirror` does not only map local branches of+ the source to local branches of the target but all refs (including+ remote branches, notes etc.) and sets up a refspec configuration such+ that all these refs are overwritten by a `git remote update` in the+ target repository. --origin <name>:: -o <name>::
@@ -128,7 +128,12 @@ objects from the source repository into a pack in the cloned repository. configuration variables are created. --mirror::- Set up a mirror of the remote repository. This implies `--bare`.+ Set up a mirror of the source repository. This implies `--bare`.+ Compared to `--bare`, `--mirror` does not only map local branches of+ the source to local branches of the target but all refs (including+ remote branches, notes etc.) and sets up a refspec configuration such+ that all these refs are overwritten by a `git remote update` in the+ target repository. --origin <name>:: -o <name>::
From: Michael J Gruber <hidden> Date: 2016-06-15 22:49:41
Uwe Kleine-König venit, vidit, dixit 04.10.2010 11:51:
quoted hunk
Some people in #linux-rt claimed that you cannot define "--mirror" with
"mirror" only.
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Darren 'Some People' Hart <redacted>
Cc: Michael J Gruber <redacted>
Signed-off-by: Uwe Kleine-König <redacted>
---
Documentation/git-clone.txt | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
@@ -128,7 +128,12 @@ objects from the source repository into a pack in the cloned repository. configuration variables are created. --mirror::- Set up a mirror of the remote repository. This implies `--bare`.+ Set up a mirror of the source repository. This implies `--bare`.+ Compared to `--bare`, `--mirror` does not only map local branches of+ the source to local branches of the target but all refs (including+ remote branches, notes etc.) and sets up a refspec configuration such+ that all these refs are overwritten by a `git remote update` in the+ target repository. --origin <name>:: -o <name>::
Yep, and thanks for being patient! JC may prefer a grammatically correct
commit subject ("more verbosely") but in any case, thanks for hanging in
there ;)
Michael
Acked-by: sender
From: Darren Hart <hidden> Date: 2016-06-15 22:49:41
Hi Uwe,
(sorry for the dup Uwe)
Thanks for iterating on this with Michael. The following looks good to
me, with one exception below:
2010/10/4 Uwe Kleine-König [off-list ref]:
quoted hunk
Some people in #linux-rt claimed that you cannot define "--mirror" with
"mirror" only.
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Darren 'Some People' Hart <redacted>
Cc: Michael J Gruber <redacted>
Signed-off-by: Uwe Kleine-König <redacted>
---
Documentation/git-clone.txt | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
@@ -128,7 +128,12 @@ objects from the source repository into a pack in the cloned repository.
configuration variables are created.
--mirror::
- Set up a mirror of the remote repository. This implies `--bare`.
+ Set up a mirror of the source repository. This implies `--bare`.
+ Compared to `--bare`, `--mirror` does not only map local branches of
s/does not only map/not only maps/
+ the source to local branches of the target but all refs (including
s/but all refs/, it maps all refs/
These changes form a more parallel sentence structure and is easier to
read/parse IMO.
Thanks,
Darren Hart
+ remote branches, notes etc.) and sets up a refspec configuration such
+ that all these refs are overwritten by a `git remote update` in the
+ target repository.
--origin <name>::
-o <name>::
--
1.7.2.3
Some people in #linux-rt claimed that you cannot define "--mirror" with
"mirror" only.
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Darren 'Some People' Hart <redacted>
Cc: Michael J Gruber <redacted>
Signed-off-by: Uwe Kleine-König <redacted>
---
Documentation/git-clone.txt | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
@@ -128,7 +128,12 @@ objects from the source repository into a pack in the cloned repository. configuration variables are created. --mirror::- Set up a mirror of the remote repository. This implies `--bare`.+ Set up a mirror of the source repository. This implies `--bare`.+ Compared to `--bare`, `--mirror` not only maps local branches of the+ source to local branches of the target, it maps all refs (including+ remote branches, notes etc.) and sets up a refspec configuration such+ that all these refs are overwritten by a `git remote update` in the+ target repository. --origin <name>:: -o <name>::