我只想查看已修改,添加等文件的列表,不是内容(svn diff
输出),只有{{1}等文件列表}}
svn status
抛弃了大量信息,很难快速理解。
svn diff -r HEAD
仅显示将工作副本与其本地原始版本(而不是存储库版本)进行比较的更改。
svn status
不支持svn update
简单地说,我需要类似--dry-run
的内容,但将当前工作副本与存储库修订版进行比较(我将与HEAD修订版进行比较)。
我查看了SVN手册,但遗憾的是没有任何帮助: - /
答案 0 :(得分:43)
尝试
svn status --show-updates
-u
的{{1}}(或--show-updates
)选项会导致svn联系存储库并显示存储库中已更改的内容 - 这对您来说足够了吗?根据您的需要,您可能还需要svn status
或-q
标记
答案 1 :(得分:23)
svn diff -r head
这将为工作副本和存储库之间的所有文件生成diff
列表,给出文件列表和实际更改。正如你所说,这很难理解。
所以试试这个:
svn diff -r head --diff-cmd meld
这与dos相同,但使用meld
显示更改(您可以在您的库中提供任何其他视觉差异工具),这更易于管理。
但严重的是,习惯于阅读那些差异输出,因为它们构成了许多其他事物(例如补丁)的基础,并且在Linux世界中很难避免。减少输出:
svn status -u
将为您提供已修改文件的列表,然后:
svn diff <file> -r head --diff-cmd <tool>
将为您提供您感兴趣的特定文件的视觉差异。
答案 2 :(得分:2)
你说出原始问题的方式,正确的答案是svn status -u已经给出了。根据后续评论,您还应该了解svn diff --summarize,因为这可能是您正在寻找的。这将用于比较存储库中的两个存储库修订或两个标记或其他内容。您无法使用此选项将工作副本与存储库进行比较(状态就是这样)。
请参阅:http://blogs.collab.net/subversion/2007/03/computing_the_d/
答案 3 :(得分:1)
这就是我所做的,它解决了我的问题:我希望看到我的工作副本和回购副本之间有什么不同。
svn diff > ~/svndiff.txt
然后我在SublimeText 2中提取了明文文件,这样我就可以更轻松地阅读它了。猜猜这是非常基本的东西,但我想发布它,因为它帮助我解决了类似的问题。
答案 4 :(得分:1)
我只想查看已修改,添加等文件的列表,而不是内容(svn diff输出),只有svn status等文件列表。
和OP一样,我希望看到&#34; svn状态&#34;项目分支的当前工作副本的样式报告,它嵌套在较大的svn存储库下面的最新主干,我想使用svn diff使用的相同路径和修订参数。
以下是:
if beacons.count > 0 {
let sortedBeacons = beacons.sorted { (first, second) -> Bool in
if first.accuracy == -1 || second.accuracy == -1 {
return true
}
return first.accuracy < second.accuracy
}
let beacon = sortedBeacons[0]
if beacon.major.intValue == helperMajorValue && beacon.accuracy < 2.5 {
if beacon.accuracy != -1 {
if triggeredMajor == 0 {
counter += 1
} else if abs((helperMajorValue - triggeredMajor)) < 3 {
counter += 1
}
}
} else {
counter = 0
helperMajorValue = beacon.major.intValue
}
if counter > 4 {
counter = 0
print("majorValue: \(beacon.major.intValue) distance: \(beacon.accuracy)")
if beacon.accuracy < 2.5 {
startNavigation = true
majorValue = helperMajorValue
triggered = false
}
}
if majorValue == 171 {
//call action
} else if majorValue == 170 {
//call action
} else if majorValue == 172 {
//Call action
}}
当然,替换&#34; pathToTrunk&#34;到存储库使用的实际路径。
答案 5 :(得分:0)
这可能是您正在寻找的:
svn diff -r HEAD --summarize