* Help debugging git-svn
@ 2015-12-16 4:00 Edmundo Carmona Antoranz
2015-12-16 7:41 ` Eric Wong
0 siblings, 1 reply; 6+ messages in thread
From: Edmundo Carmona Antoranz @ 2015-12-16 4:00 UTC (permalink / raw)
To: Eric Wong, Git List
Hello, Eric, Everybody!
I need your help getting git-svn to clone a repository.
I had already cloned it once but then a few months ago I discovered
the authors map file and it's like the first time I did a checkout
using git.... well, perhaps not that much, but close. Seeing the real
names of people when using log, blame, etc is a major difference...
so, back to my tale of sorts.
The thing is that I have already tried to clone it _several_ times and
it always breaks at one point or another (or rather, at one revision
of a branch or another). I have come to think that it's more or less
at the same revisions that it breaks but I'm not 100% certain.
What I _think_ is the cause of most of the problems is that in our
repo people have misplaced branches _inside_ other branches, at least
for a few revisions before realizing their mistake and deleting it.
So.... say I have a standard layout.
trunk
branches
tags
Then at one point I copy trunk to branches/a
Later on I copy trunk to branches/b
Later on I copy trunk to branches/b/c (instead of branches/c)
And a few revisions later I realize my mistake and copy branches/b/c
to branches/c and remove branches/b/c
I infer this because I'm seeing that on one of the revisions where git
svn usually breaks when fetching has the content of the project inside
a directory, like, say I have directories A, B and C in the project
and I'm seeing that git svn is fetching a revision where the all the
paths of the files are prepended by a directory that looks like a
branch, like this:
branch_name/A/filea.txt
branch_name/A/fileb.txt
etc etc
Instead of
A/filea.txt
A/fileb.txt
So... throw some ideas around that... and then, could you tell a
non-perl developer how to debug it? Perhaps increase verbosity?
One of the errors I see often when fetching (my memory tells me that
it's associated to the branch-in-branch problem but I'm not completely
sure right now), looks like this:
1 [main] perl 5652 cygwin_exception::open_stackdumpfile: Dumping stack
trace to perl.exe.stackdump
And then, in the file:
Exception: STATUS_ACCESS_VIOLATION at rip=0048360C10C
rax=0000000601E4BFF8 rbx=000000005219E248 rcx=000000060003A590
rdx=0000000000000000 rsi=000000000000A950 rdi=0000000000000004
r8 =0000000000000000 r9 =0000000000000000 r10=0000000000230000
r11=000000048D78607A r12=0000000000000003 r13=000006FFFFF54A98
r14=0000000601E18030 r15=000006FFFFF54AB0
rbp=0000000000054A88 rsp=000000000022B810
program=C:\Program Files\Git\usr\bin\perl.exe, pid 5652, thread main
cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B
With my very flawed knowledge of perl I have seen that the process is
getting to Ra.pm around here:
our $AUTOLOAD;
sub AUTOLOAD {
my $class = ref($_[0]);
$AUTOLOAD =~ s/^${class}::(SUPER::)?//;
return if $AUTOLOAD =~ m/^[A-Z]/;
my $self = shift;
no strict 'refs';
my $method = $self->can("invoke_$AUTOLOAD")
or die "no such method $AUTOLOAD";
no warnings 'uninitialized';
$method->(@$self, @_);
}
The value of $AUTOLOAD there is 'finish_report' but I don't know (or
at least see) where $method->(@$self, @_) is going.
Well... I think that's enough of a mess of a mail (sorry about that).
Hope I was able to provide enough information to at least move a
little bit forward.
Thanks in advance.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Help debugging git-svn
2015-12-16 4:00 Help debugging git-svn Edmundo Carmona Antoranz
@ 2015-12-16 7:41 ` Eric Wong
2015-12-16 12:36 ` Edmundo Carmona Antoranz
0 siblings, 1 reply; 6+ messages in thread
From: Eric Wong @ 2015-12-16 7:41 UTC (permalink / raw)
To: Edmundo Carmona Antoranz; +Cc: git
Edmundo Carmona Antoranz <eantoranz@gmail.com> wrote:
> 1 [main] perl 5652 cygwin_exception::open_stackdumpfile: Dumping stack
> trace to perl.exe.stackdump
>
> And then, in the file:
>
> Exception: STATUS_ACCESS_VIOLATION at rip=0048360C10C
> rax=0000000601E4BFF8 rbx=000000005219E248 rcx=000000060003A590
> rdx=0000000000000000 rsi=000000000000A950 rdi=0000000000000004
> r8 =0000000000000000 r9 =0000000000000000 r10=0000000000230000
> r11=000000048D78607A r12=0000000000000003 r13=000006FFFFF54A98
> r14=0000000601E18030 r15=000006FFFFF54AB0
> rbp=0000000000054A88 rsp=000000000022B810
> program=C:\Program Files\Git\usr\bin\perl.exe, pid 5652, thread main
> cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B
Any chance you can reproduce this on a Linux system?
I do not use non-Free systems and have no debugging experience
there at all.
> With my very flawed knowledge of perl I have seen that the process is
> getting to Ra.pm around here:
It could also be a bug in the SVN bindings or the port of
Perl. Which versions are you running?
I've also been wondering about the motivation of SVN developers to do a
good job on maintaining their Perl bindings (given git-svn is likely the
main user of them).
We've certainly had problems in the past with SVN breaking and
causing git-svn to segfault around 2011-2012; but it's been a while...
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Help debugging git-svn
2015-12-16 7:41 ` Eric Wong
@ 2015-12-16 12:36 ` Edmundo Carmona Antoranz
2015-12-18 17:28 ` Edmundo Carmona Antoranz
0 siblings, 1 reply; 6+ messages in thread
From: Edmundo Carmona Antoranz @ 2015-12-16 12:36 UTC (permalink / raw)
To: Eric Wong; +Cc: Git List
On Wed, Dec 16, 2015 at 1:41 AM, Eric Wong <normalperson@yhbt.net> wrote:
>
> Any chance you can reproduce this on a Linux system?
> I do not use non-Free systems and have no debugging experience
> there at all.
>
My wish.... But it's a big resounding "no".
>> With my very flawed knowledge of perl I have seen that the process is
>> getting to Ra.pm around here:
>
> It could also be a bug in the SVN bindings or the port of
> Perl. Which versions are you running?
I'm working on git for windows 2.6.3. I think I could use cygwin, just
in case (I used it before).
>
>
> I've also been wondering about the motivation of SVN developers to do a
> good job on maintaining their Perl bindings (given git-svn is likely the
> main user of them).
> We've certainly had problems in the past with SVN breaking and
> causing git-svn to segfault around 2011-2012; but it's been a while...
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Help debugging git-svn
2015-12-16 12:36 ` Edmundo Carmona Antoranz
@ 2015-12-18 17:28 ` Edmundo Carmona Antoranz
2015-12-19 4:31 ` Edmundo Carmona Antoranz
0 siblings, 1 reply; 6+ messages in thread
From: Edmundo Carmona Antoranz @ 2015-12-18 17:28 UTC (permalink / raw)
To: Eric Wong; +Cc: Git List
Ok.... I came up with another idea to avoid having to deal with the
old svn history (I'm having no problems fetching/dcommitting with my
current repo). I already have the branches I work with, the thing is
that the revisions I fetched before I started using the svn authors
file have nasty IDs instead of human names. I though that I could
create a script to rewrite the whole history of the project adjusting
the usernames to real names (I'll take care of the details, no problem
there... just found out about filter-branch, could work for what I'm
thinking of). My question would be in the direction of rebuilding
git-svn metainfo once I'm done so that I can continue fetching from
svn as if nothing had happened. I checked the documentation in
git-scm.com but didn't find the details about it. Is there a
straight-forward document that explains how the git-svn metadata files
are built?
Thanks in advance.
On Wed, Dec 16, 2015 at 6:36 AM, Edmundo Carmona Antoranz
<eantoranz@gmail.com> wrote:
> On Wed, Dec 16, 2015 at 1:41 AM, Eric Wong <normalperson@yhbt.net> wrote:
>>
>> Any chance you can reproduce this on a Linux system?
>> I do not use non-Free systems and have no debugging experience
>> there at all.
>>
>
> My wish.... But it's a big resounding "no".
>
>>> With my very flawed knowledge of perl I have seen that the process is
>>> getting to Ra.pm around here:
>>
>> It could also be a bug in the SVN bindings or the port of
>> Perl. Which versions are you running?
>
> I'm working on git for windows 2.6.3. I think I could use cygwin, just
> in case (I used it before).
>
>>
>>
>> I've also been wondering about the motivation of SVN developers to do a
>> good job on maintaining their Perl bindings (given git-svn is likely the
>> main user of them).
>> We've certainly had problems in the past with SVN breaking and
>> causing git-svn to segfault around 2011-2012; but it's been a while...
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Help debugging git-svn
2015-12-18 17:28 ` Edmundo Carmona Antoranz
@ 2015-12-19 4:31 ` Edmundo Carmona Antoranz
2016-01-09 3:39 ` Edmundo Carmona Antoranz
0 siblings, 1 reply; 6+ messages in thread
From: Edmundo Carmona Antoranz @ 2015-12-19 4:31 UTC (permalink / raw)
To: Eric Wong; +Cc: Git List
On Fri, Dec 18, 2015 at 11:28 AM, Edmundo Carmona Antoranz
<eantoranz@gmail.com> wrote:
> Ok.... I came up with another idea to avoid having to deal with the
> old svn history (I'm having no problems fetching/dcommitting with my
> current repo). I already have the branches I work with, the thing is
> that the revisions I fetched before I started using the svn authors
> file have nasty IDs instead of human names. I though that I could
> create a script to rewrite the whole history of the project adjusting
> the usernames to real names (I'll take care of the details, no problem
> there... just found out about filter-branch, could work for what I'm
> thinking of). My question would be in the direction of rebuilding
> git-svn metainfo once I'm done so that I can continue fetching from
> svn as if nothing had happened. I checked the documentation in
> git-scm.com but didn't find the details about it. Is there a
> straight-forward document that explains how the git-svn metadata files
> are built?
>
> Thanks in advance.
.rev_map files appear to be simple enough. I'll have fun with them a
little bit. Will let you know how it goes later (don't hold your
breath.... it might take a while).
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Help debugging git-svn
2015-12-19 4:31 ` Edmundo Carmona Antoranz
@ 2016-01-09 3:39 ` Edmundo Carmona Antoranz
0 siblings, 0 replies; 6+ messages in thread
From: Edmundo Carmona Antoranz @ 2016-01-09 3:39 UTC (permalink / raw)
To: Eric Wong; +Cc: Git List
Hi!
On Fri, Dec 18, 2015 at 10:31 PM, Edmundo Carmona Antoranz
<eantoranz@gmail.com> wrote:
> On Fri, Dec 18, 2015 at 11:28 AM, Edmundo Carmona Antoranz
> <eantoranz@gmail.com> wrote:
>> Ok.... I came up with another idea to avoid having to deal with the
>> old svn history (I'm having no problems fetching/dcommitting with my
>> current repo). I already have the branches I work with, the thing is
>> that the revisions I fetched before I started using the svn authors
>> file have nasty IDs instead of human names. I though that I could
>> create a script to rewrite the whole history of the project adjusting
>> the usernames to real names (I'll take care of the details, no problem
>> there... just found out about filter-branch, could work for what I'm
>> thinking of). My question would be in the direction of rebuilding
>> git-svn metainfo once I'm done so that I can continue fetching from
>> svn as if nothing had happened. I checked the documentation in
>> git-scm.com but didn't find the details about it. Is there a
>> straight-forward document that explains how the git-svn metadata files
>> are built?
>>
>> Thanks in advance.
>
> .rev_map files appear to be simple enough. I'll have fun with them a
> little bit. Will let you know how it goes later (don't hold your
> breath.... it might take a while).
I was able to rewrite git-svn's history and I'm fetching/dcommitting
as usual using the new branches. I posted the tool I developed for the
task in github [1]. The readme explains how to use it.
Cheers!
[1] https://github.com/eantoranz/git_svn_rewrite
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-01-09 3:39 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-16 4:00 Help debugging git-svn Edmundo Carmona Antoranz
2015-12-16 7:41 ` Eric Wong
2015-12-16 12:36 ` Edmundo Carmona Antoranz
2015-12-18 17:28 ` Edmundo Carmona Antoranz
2015-12-19 4:31 ` Edmundo Carmona Antoranz
2016-01-09 3:39 ` Edmundo Carmona Antoranz
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).