* [user] git-svn and svn cp
@ 2007-11-19 11:11 gerhard.oettl.ml
2007-11-19 12:29 ` Matthieu Moy
2007-11-19 16:26 ` Eric Wong
0 siblings, 2 replies; 11+ messages in thread
From: gerhard.oettl.ml @ 2007-11-19 11:11 UTC (permalink / raw)
To: git
I hope this is the correct mailing list. If not please point me in the
right direction.
I played a little with git (1.5.3.4 / debian) and had the following
observation:
Doing a "svn cp" (for example for a tag) results in a large traffic when
doing a "git-svn fetch" afterwards.
To verify I did:
git-svn clone -s svn://www.ogersoft.at/ogerlit
git-svn fetch
svn cp svn://... svn://... (one file ca 3mb)
svk checkout (a tcpflow output of about 3k - plaintext commands, I think
a svn checkout would be the same)
git-svn fetch (a tcpflow output of 700k - containing a textdelta of
nearly 700k)
So the question remains:
Does svn-git dont know about lightweight svn copies?
or can svn-git not handle them correct by now?
or did I something wrong?
thanks
gerhard
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [user] git-svn and svn cp
2007-11-19 11:11 [user] git-svn and svn cp gerhard.oettl.ml
@ 2007-11-19 12:29 ` Matthieu Moy
2007-11-19 12:50 ` David Kastrup
2007-11-19 16:26 ` Eric Wong
1 sibling, 1 reply; 11+ messages in thread
From: Matthieu Moy @ 2007-11-19 12:29 UTC (permalink / raw)
To: gerhard.oettl.ml; +Cc: git
gerhard.oettl.ml@ogersoft.at writes:
> I hope this is the correct mailing list. If not please point me in the
> right direction.
>
>
> I played a little with git (1.5.3.4 / debian) and had the following
> observation:
> Doing a "svn cp" (for example for a tag) results in a large traffic
> when doing a "git-svn fetch" afterwards.
>
> To verify I did:
> git-svn clone -s svn://www.ogersoft.at/ogerlit
I guess the --tags=... and --branches=... options of git-svn can help.
[ disclaimer: I never used git-svn on a repository with branches and
tags ]
--
Matthieu
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [user] git-svn and svn cp
2007-11-19 12:29 ` Matthieu Moy
@ 2007-11-19 12:50 ` David Kastrup
2007-11-19 12:56 ` Matthieu Moy
0 siblings, 1 reply; 11+ messages in thread
From: David Kastrup @ 2007-11-19 12:50 UTC (permalink / raw)
To: git
Matthieu Moy <Matthieu.Moy@imag.fr> writes:
> gerhard.oettl.ml@ogersoft.at writes:
>
>> I hope this is the correct mailing list. If not please point me in the
>> right direction.
>>
>>
>> I played a little with git (1.5.3.4 / debian) and had the following
>> observation:
>> Doing a "svn cp" (for example for a tag) results in a large traffic
>> when doing a "git-svn fetch" afterwards.
>>
>> To verify I did:
>> git-svn clone -s svn://www.ogersoft.at/ogerlit
>
> I guess the --tags=... and --branches=... options of git-svn can help.
You are aware of what the "-s" option does?
--
David Kastrup
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [user] git-svn and svn cp
2007-11-19 12:50 ` David Kastrup
@ 2007-11-19 12:56 ` Matthieu Moy
2007-11-19 13:20 ` Benoit Sigoure
0 siblings, 1 reply; 11+ messages in thread
From: Matthieu Moy @ 2007-11-19 12:56 UTC (permalink / raw)
To: David Kastrup; +Cc: git
David Kastrup <dak@gnu.org> writes:
> Matthieu Moy <Matthieu.Moy@imag.fr> writes:
>
>>> To verify I did:
>>> git-svn clone -s svn://www.ogersoft.at/ogerlit
>>
>> I guess the --tags=... and --branches=... options of git-svn can help.
>
> You are aware of what the "-s" option does?
Not in the details. Well, I believe the accurate question (to original
poster) is: does your svn repository use the standard svn layout
(tags/, branches/, trunk/)?
--
Matthieu
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [user] git-svn and svn cp
2007-11-19 12:56 ` Matthieu Moy
@ 2007-11-19 13:20 ` Benoit Sigoure
2007-11-19 13:34 ` gerhard.oettl.ml
2007-11-19 13:49 ` Matthieu Moy
0 siblings, 2 replies; 11+ messages in thread
From: Benoit Sigoure @ 2007-11-19 13:20 UTC (permalink / raw)
To: gerhard.oettl.ml; +Cc: David Kastrup, Git Mailing List, Matthieu Moy
[-- Attachment #1: Type: text/plain, Size: 1460 bytes --]
On Nov 19, 2007, at 1:56 PM, Matthieu Moy wrote:
> David Kastrup <dak@gnu.org> writes:
>
>> Matthieu Moy <Matthieu.Moy@imag.fr> writes:
>>
>>>> To verify I did:
>>>> git-svn clone -s svn://www.ogersoft.at/ogerlit
>>>
>>> I guess the --tags=... and --branches=... options of git-svn can
>>> help.
>>
>> You are aware of what the "-s" option does?
I personally don't know and I went through the code to see that it's
an (undocumented) alias for --stdlayout.
> Not in the details. Well, I believe the accurate question (to original
> poster) is: does your svn repository use the standard svn layout
> (tags/, branches/, trunk/)?
I think this is irrelevant to the question he asked.
Now I think that the fact that SVN does "lightweight" copies by
recording that such modification was in fact an `svn cp' / `svn mv'
isn't important for git-svn, because the data end up in the Git
repository which handles copies and moves much much better than SVN
does. But here the concerns raised by Gerhard seem to be more
network-wise, in which case I don't know. I looked at the code,
things seem to happen under the hood of Git::SVN::Fetcher but I don't
see what can be optimized (the code isn't trivial). Most of the
access are done through the underlying SVN Perl bindings, so if
someone knows how to use them better, I think Eric will be eager to
see the patches :)
--
Benoit Sigoure aka Tsuna
EPITA Research and Development Laboratory
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 186 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [user] git-svn and svn cp
2007-11-19 13:20 ` Benoit Sigoure
@ 2007-11-19 13:34 ` gerhard.oettl.ml
2007-11-19 13:37 ` David Kastrup
2007-11-19 13:49 ` Matthieu Moy
1 sibling, 1 reply; 11+ messages in thread
From: gerhard.oettl.ml @ 2007-11-19 13:34 UTC (permalink / raw)
Cc: Git Mailing List
Benoit Sigoure schrieb:
> On Nov 19, 2007, at 1:56 PM, Matthieu Moy wrote:
> I think this is irrelevant to the question he asked.
>
> Now I think that the fact that SVN does "lightweight" copies by
> recording that such modification was in fact an `svn cp' / `svn mv'
> isn't important for git-svn, because the data end up in the Git
> repository which handles copies and moves much much better than SVN
> does.
I hoped this and it was one of the motivations for looking at git ;-)
But why is so much traffic necessary to transfer data that is already
_complete_ present in the local git repository?
Traffic that seams not to be necessary when using the "not so good" svn.
gerhard
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [user] git-svn and svn cp
2007-11-19 13:34 ` gerhard.oettl.ml
@ 2007-11-19 13:37 ` David Kastrup
0 siblings, 0 replies; 11+ messages in thread
From: David Kastrup @ 2007-11-19 13:37 UTC (permalink / raw)
To: git
gerhard.oettl.ml@ogersoft.at writes:
> Benoit Sigoure schrieb:
>> On Nov 19, 2007, at 1:56 PM, Matthieu Moy wrote:
>
>> I think this is irrelevant to the question he asked.
>>
>> Now I think that the fact that SVN does "lightweight" copies by
>> recording that such modification was in fact an `svn cp' / `svn mv'
>> isn't important for git-svn, because the data end up in the Git
>> repository which handles copies and moves much much better than SVN
>> does.
>
> I hoped this and it was one of the motivations for looking at git ;-)
>
> But why is so much traffic necessary to transfer data that is
> already _complete_ present in the local git repository?
Is it? What is the right behavior when the file has been changed
within the git repository (after all, we are rebasing and not tracking
the svn archive)?
While I would probably prefer getting a copy from the changed file
rather than the original one, the matter does not seem completely
trivial in its implications.
> Traffic that seams not to be necessary when using the "not so good"
> svn.
It is not a git problem (git has good packing properties) but rather a
git-svn issue. So don't blame git in general.
--
David Kastrup
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [user] git-svn and svn cp
2007-11-19 13:20 ` Benoit Sigoure
2007-11-19 13:34 ` gerhard.oettl.ml
@ 2007-11-19 13:49 ` Matthieu Moy
2007-11-19 14:04 ` Benoit Sigoure
1 sibling, 1 reply; 11+ messages in thread
From: Matthieu Moy @ 2007-11-19 13:49 UTC (permalink / raw)
To: Benoit Sigoure; +Cc: gerhard.oettl.ml, David Kastrup, Git Mailing List
Benoit Sigoure <tsuna@lrde.epita.fr> writes:
>> Not in the details. Well, I believe the accurate question (to original
>> poster) is: does your svn repository use the standard svn layout
>> (tags/, branches/, trunk/)?
>
> I think this is irrelevant to the question he asked.
Well, I'm far enough from being a git-svn expert, but I suppose
git-svn will special-case the content of tags/ and branches/
directories, and consider copies there to be tags and branches. I
don't know whether git-svn does it efficiently, though.
If you use "svn copy" with the meaning "create a tag" with a
destination other than tags/ directory, then, git-svn can not guess it
was actually a tag.
--
Matthieu
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [user] git-svn and svn cp
2007-11-19 13:49 ` Matthieu Moy
@ 2007-11-19 14:04 ` Benoit Sigoure
0 siblings, 0 replies; 11+ messages in thread
From: Benoit Sigoure @ 2007-11-19 14:04 UTC (permalink / raw)
To: Matthieu Moy; +Cc: gerhard.oettl.ml, David Kastrup, Git Mailing List
[-- Attachment #1: Type: text/plain, Size: 1651 bytes --]
On Nov 19, 2007, at 2:49 PM, Matthieu Moy wrote:
> Benoit Sigoure <tsuna@lrde.epita.fr> writes:
>
>>> Not in the details. Well, I believe the accurate question (to
>>> original
>>> poster) is: does your svn repository use the standard svn layout
>>> (tags/, branches/, trunk/)?
>>
>> I think this is irrelevant to the question he asked.
>
> Well, I'm far enough from being a git-svn expert, but I suppose
> git-svn will special-case the content of tags/ and branches/
> directories, and consider copies there to be tags and branches. I
> don't know whether git-svn does it efficiently, though.
>
> If you use "svn copy" with the meaning "create a tag" with a
> destination other than tags/ directory, then, git-svn can not guess it
> was actually a tag.
No, git-svn only needs to know where to look for branches and tags so
that it can replicate them on the Git side by creating remote
branches. It has nothing to do with the fact that a tag or a branch
happen to be a copy of something else (which isn't necessarily true,
I can perfectly create a tag out of the blue which has its own unique
content, same thing for branches).
The question of Gerhard was thus, why do we need to transfer "so
much" data over the network when we should be able to guess that the
data is already in the Git repo (because git-svn can figure out that
something is a copy of something else -- because SVN records this
information -- and thus save the network from downloading useless
deltas). It's possible that the code can be optimized to handle
this, or so I guess.
--
Benoit Sigoure aka Tsuna
EPITA Research and Development Laboratory
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 186 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [user] git-svn and svn cp
2007-11-19 11:11 [user] git-svn and svn cp gerhard.oettl.ml
2007-11-19 12:29 ` Matthieu Moy
@ 2007-11-19 16:26 ` Eric Wong
2007-11-20 13:06 ` gerhard.oettl.ml
1 sibling, 1 reply; 11+ messages in thread
From: Eric Wong @ 2007-11-19 16:26 UTC (permalink / raw)
To: gerhard.oettl.ml; +Cc: git
gerhard.oettl.ml@ogersoft.at wrote:
> I hope this is the correct mailing list. If not please point me in the
> right direction.
>
>
> I played a little with git (1.5.3.4 / debian) and had the following
> observation:
> Doing a "svn cp" (for example for a tag) results in a large traffic when
> doing a "git-svn fetch" afterwards.
>
> To verify I did:
> git-svn clone -s svn://www.ogersoft.at/ogerlit
> git-svn fetch
> svn cp svn://... svn://... (one file ca 3mb)
> svk checkout (a tcpflow output of about 3k - plaintext commands, I think
> a svn checkout would be the same)
> git-svn fetch (a tcpflow output of 700k - containing a textdelta of
> nearly 700k)
>
>
> So the question remains:
> Does svn-git dont know about lightweight svn copies?
> or can svn-git not handle them correct by now?
> or did I something wrong?
Older versions of the Perl SVN bindings have a broken do_switch()
function, so I fall back to the do_update() function which re-downloads
the whole tree instead..
SVN 1.4.4+ has this fix which allows do_switch() to be used instead of
do_update().
do_switch() will only download the delta between two trees if the parent
is present.
If you don't have easy access to 1.4.4+ packages, I have patched 1.4.3
(x86) packages here for Debian Etch (I haven't built 1.4.4 or 1.4.5 yet):
http://git-svn.yhbt.net/svn/
--
Eric Wong
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [user] git-svn and svn cp
2007-11-19 16:26 ` Eric Wong
@ 2007-11-20 13:06 ` gerhard.oettl.ml
0 siblings, 0 replies; 11+ messages in thread
From: gerhard.oettl.ml @ 2007-11-20 13:06 UTC (permalink / raw)
To: git
Eric Wong schrieb:
> gerhard.oettl.ml@ogersoft.at wrote:
>> Does svn-git dont know about lightweight svn copies?
> Older versions of the Perl SVN bindings have a broken do_switch()
> SVN 1.4.4+ has this fix which allows do_switch() to be used
Thanks this sadisfies my question and its time to dive deeper into git
and git-svn ...
gerhard
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2007-11-20 13:04 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-19 11:11 [user] git-svn and svn cp gerhard.oettl.ml
2007-11-19 12:29 ` Matthieu Moy
2007-11-19 12:50 ` David Kastrup
2007-11-19 12:56 ` Matthieu Moy
2007-11-19 13:20 ` Benoit Sigoure
2007-11-19 13:34 ` gerhard.oettl.ml
2007-11-19 13:37 ` David Kastrup
2007-11-19 13:49 ` Matthieu Moy
2007-11-19 14:04 ` Benoit Sigoure
2007-11-19 16:26 ` Eric Wong
2007-11-20 13:06 ` gerhard.oettl.ml
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).