]> source.dussan.org Git - jgit.git/commit
Extend FileUtils.rename to common git semantics 14/11414/3
authorRobin Rosenberg <robin.rosenberg@dewire.com>
Sun, 24 Mar 2013 00:06:29 +0000 (01:06 +0100)
committerChristian Halstrick <christian.halstrick@sap.com>
Mon, 25 Mar 2013 23:48:00 +0000 (00:48 +0100)
commitd0e92885e911c96be917574a5f804bf64d622cf9
tree72a36fdd5d370e10b0585d9658b68d36dc3903e8
parent7aa54967a26cb027fe390ad1c624ebb30f9ac6d5
Extend FileUtils.rename to common git semantics

Unlike the OS or Java rename this method will (on *nix) try (on Windows)
replace the target with the source provided the target does not exist,
the target does exist and is a file, or if it is a directory which only
contains directories. In the latter case the directory hierarchy will be
deleted.
If the initial rename fails and the target is an existing file the the
target file will be deleted first and then the rename is retried.

Change-Id: Iae75c49c85445ada7795246a02ce02f7c248d956
Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/FileUtilTest.java
org.eclipse.jgit/src/org/eclipse/jgit/util/FileUtils.java