Re: git svn dcommit COMMIT silently checks in everything if COMMIT is not a complete revision
From: Thomas Rast <hidden>
Date: 2016-06-15 22:52:22
Reuben Thomas wrote:
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