From: Thomas Rast Date: Thu, 03 Nov 2011 16:28:05 GMT Subject: Re: git svn dcommit COMMIT silently checks in everything if COMMIT is not a complete revision Message-ID: <201111031728.05121.trast@student.ethz.ch> In-Reply-To: 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 ' did something weird and you should avoid giving it arguments. -- Thomas Rast trast@{inf,student}.ethz.ch