Re: git svn dcommit COMMIT silently checks in everything if COMMIT is not a complete revision
Show 6 quoted lines
> If I run
>
> git svn dcommit COMMIT
>
> with COMMIT being an unambiguous, but partial revision string, it
> behaves like git svn dcommit, i.e. commits everything.
In what git version? How do I reproduce? I just ran a simple test and can't:
svnadmin create svnrepo
svn co file://$(pwd)/svnrepo svnwt
cd svnwt
echo a > a
svn add a
svn ci -m'do a'
cd ..
git svn clone file://$(pwd)/svnrepo gitwt
cd gitwt
echo b > a
git add a
git commit -mb
echo c>a
git add a
git commit -mc
git log --oneline
git svn dcommit 1b4c4e1
where 1b4c4e1 was the abbreviated hash of the parent commit (i.e., the commit 'b'). As expected, it commits everything *up to* 1b4c4e1 from a detached HEAD, not affecting the current branch.
Note that this is different from what you describe:
> (If I remember to copy and paste the whole nine yards of the
> revision string, it works as expected, i.e. commits just that
> revision.)
It was never designed to commit "just that revision".
By "it" I mean 5eec27e (git-svn: let 'dcommit $rev' work on $rev instead of HEAD, 2009-05-29), which changed it to the current semantics and went into 1.6.4. Before that, 'git svn dcommit <foo>' did something weird and you should avoid giving it arguments.
--
Thomas Rast
trast@{inf,student}.ethz.ch