如何从文件转换为 git 路径?
How to convert from File to git path?
我正在使用 jgit、log() 命令,addPath(String path) 要求我输入 git 兼容路径,即 [=13= 这样的相对路径].java.但是我得到的是一个 File 对象,它的绝对路径类似于:c:\hello\irrelevant\myproject\src\java\com\foo\test.java。
如何从这个转换为 git 路径? jgit 本身有一些方便的功能吗?我找不到....
您可以使用Path::relativize
获取要添加的文件和工作目录之间的相对路径。
例如:
File workDir = git.getWorkTree(); // e.g. "/path/to/workdir"
File file = new File("/path/to/workdir/foo.txt");
Path relativePath = workDir.toPath().relativize(file.toPath());
assertEquals("foo.txt", relativePath.toString());
我正在使用 jgit、log() 命令,addPath(String path) 要求我输入 git 兼容路径,即 [=13= 这样的相对路径].java.但是我得到的是一个 File 对象,它的绝对路径类似于:c:\hello\irrelevant\myproject\src\java\com\foo\test.java。 如何从这个转换为 git 路径? jgit 本身有一些方便的功能吗?我找不到....
您可以使用Path::relativize
获取要添加的文件和工作目录之间的相对路径。
例如:
File workDir = git.getWorkTree(); // e.g. "/path/to/workdir"
File file = new File("/path/to/workdir/foo.txt");
Path relativePath = workDir.toPath().relativize(file.toPath());
assertEquals("foo.txt", relativePath.toString());