我目前正在开发一个简单的修订系统,使我能够存储单个文件的多个版本,到目前为止工作正常.
表结构如下(为简洁起见,删除了过时的列):
file_id file_revision file_parent file_name
--------------------------------------------------------
1 1 0 foo.jpg
2 2 1 foorevised.jpg
3 3 1 anotherrevision.jpg
Run Code Online (Sandbox Code Playgroud)
哪里:
file_id
是主键,自动递增file_revision
存储修订号,默认为1
第一个file_parent
是修订版的顶级父级,默认为0
第一级.file_name
是文件名.问题:
任何指针都非常感谢.提前致谢.
我知道一个Eclipse功能,用于显示修订信息(逐渐着色,更多信息,如版本号,鼠标悬停时的日期和作者),以便在linenumbers视图中显示行中的最后一个更改.
有没有人知道如何为文件激活此功能,或者更好,默认情况下更好?我最近意外地点了一些快捷方式,这使得它显示在一个文件中,但它并没有显示在其他文件中.
我意识到这可能是一个简单的问题,我可能在文档中忽略了,但我没有找到这样的任何其他问题.
当我移动文件时,或者在我的情况下有大量文件(我将所有文件从repo root移动到trunk)我是否会丢失修订历史记录?我的想法是它看起来很像删除和添加文件,因此我会失去历史.思考?
我正在尝试为我们的项目设置审核.我从默认配置开始工作正常.
下一步是存储已进行更改的用户.按照手册我创建了自定义实体修订:
package com.csbi.samples.utils.audit;
import java.io.Serializable;
import java.text.DateFormat;
import java.util.Date;
import org.hibernate.envers.RevisionNumber;
import org.hibernate.envers.RevisionTimestamp;
import org.hibernate.envers.RevisionEntity;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
@Entity
@Table(name="REVISIONS")
@RevisionEntity(CustomRevisionListener.class)
public class CustomRevisionEntity implements Serializable {
private static final long serialVersionUID = -1255842407304508513L;
@Id
@GeneratedValue
@RevisionNumber
private int id;
@RevisionTimestamp
private long timestamp;
private String username;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Transient
public Date getRevisionDate() {
return new Date(timestamp);
} …
Run Code Online (Sandbox Code Playgroud) 在我的问题之后,我正在探讨在CouchDB中文档版本控制的通用方法的想法.虽然我想可能没有规范方法,但我有以下想法并且正在寻找反馈.
我希望尽可能保持可读的文档ID,因此存在的文档document1
将包含指向系统上所有现有版本的指针文档.实际的修订文件,将在像document1/308ef032a3801a
这里
308ef032a3801a
是一些随机数或哈希值.
指针文件
{
"_id" : "document1",
"versions" : [ "document1/308ef032a3801a" ]
}
Run Code Online (Sandbox Code Playgroud)
版本文件
{
"_id" : "document1/308ef032a3801a",
... actual content
}
Run Code Online (Sandbox Code Playgroud) 我有一个asp.net/C#应用程序,它使用subversion进行源代码控制.
我的应用程序会自动增加每个构建的AssembleVersion和AssemblyFileVersion,它就像魅力一样,并在站点的管理端显示构建号.
我们在部署时会跟踪AssembleVersion和AssemblyFileVersion,但是,当出现问题并且我们需要回滚到某个版本时,我们不知道在subversion中要定位哪个版本.
我的想法很少:
任何帮助和建议将不胜感激
更新: 选项"1"实际上是一个愚蠢的想法,因为这意味着每次构建时,所有文件都将被标记为已更新,当我提交时,每个文件都将被更新
我设法创建了一个使用GIT作为源代码控制的CI项目,以及一个基于CCNet构建标签标记程序集的MSBuild扩展,并提交更改后的标签
我有其他手动触发的项目将此版本发布到特定网站等.
我希望仪表板中的项目状态显示程序集中的构建标签(例如2.1.345.0),或者来自内置的dll,以便我们可以轻松查看在上次手动触发时发布的修订版本.
有关于更新构建的程序集信息的大量信息,但没有使用汇编的ifnfo版本来显示"最后构建标签"
任何想法任何人?我是否需要创建一个手动更新状态文件的任务?听起来有点狡猾.
提前致谢
我正在开展一个项目,将问题攻击者链接到我们的源控制系统.
我发现您可以在svn Web浏览器中查找特定的修订版本:
https://svn-repo/!svn/bc/100/
要么
https://svn-repo/?p=100
要么
https://svn-repo/?r=100
但是这会向您显示该修订版的整个存储库结构.最终目标是能够创建指向浏览器可以单击的URL的链接以查看修订所做的更改.这可能吗?我似乎找不到任何东西.
请注意,在本页的右下角,它有SVN修订版ID?我假设这是动态的.
我希望将它添加到我的一些网站,就像在源代码中的注释,以确保代码推送正在进行.
注意:您还可以假设相关站点的工作目录是有问题的repo的svn签出.
编辑:我正在寻找全球修订号,而不是我正在查看的文件的修订号.
我一直在阅读有关C如何工作的很多内容,我想我对如何使其更好有所了解.从我所看到的情况来看,似乎标准的变化似乎不时,我想知道是否有一个地方我可以去为下一次修订提交新想法.