Thread (2 messages) 2 messages, 1 author, 2016-06-15

Can I recover lost commits in a SVN repository using a local tracking git-svn branch?

flat view

From: Ian Stevens <hidden>
Date: 2016-06-15 22:48:42

A SVN repo I use git-svn to track was recently corrupted and a backup
was recovered. However, a week's worth of commits were lost in the
recovery. Is it possible to recover those lost commits using git-svn
dcommit on my local git repo? Is it sufficient to run git-svn dcommit
with the SHA1 of the last recovered commit in SVN? eg.

    > svn info http://tracked-svn/trunk | sed -n "s/Revision: //p"
    252
    > git log --grep="git-svn-id:.*@252" --format=oneline | cut -f1 -
d" "
    55bb5c9cbb5fe11a90ec2e9e1e0c7c502908cf9a
    > git svn dcommit 55bb5c9cbb5fe11a90ec2e9e1e0c7c502908cf9a
    Or will the git-svn-id need to be stripped from the intended
commits?

I tried this using --dry-run but couldn't tell whether it would try to
submit all commits:

    > git svn dcommit --verbose --dry-run
55bb5c9cbb5fe11a90ec2e9e1e0c7c502908cf9a
    Committing to http://tracked-svn/trunk ...
    dcommitted on a detached HEAD because you gave a revision
argument.
    The rewritten commit is: 55bb5c9cbb5fe11a90ec2e9e1e0c7c502908cf9a

I also tried a naive git-svn dcommit but receive this error (r285 is
the old SVN HEAD which was lost):

    > git svn dcommit
    Committing to http://tracked-svn/trunk ...
    Invalid filesystem revision number: No such revision 285 at /opt/
local/libexec/git-core/git-svn line 4346

Thanks for your help,
Ian.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help