CN100452038C - 管理文件修订的方法与系统 - Google Patents

管理文件修订的方法与系统 Download PDF

Info

Publication number
CN100452038C
CN100452038C CNB2005101203786A CN200510120378A CN100452038C CN 100452038 C CN100452038 C CN 100452038C CN B2005101203786 A CNB2005101203786 A CN B2005101203786A CN 200510120378 A CN200510120378 A CN 200510120378A CN 100452038 C CN100452038 C CN 100452038C
Authority
CN
China
Prior art keywords
version
modification
indicated
file
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005101203786A
Other languages
English (en)
Other versions
CN1773506A (zh
Inventor
克雷斯-弗雷德里克·U·曼拜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IBM China Co Ltd
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1773506A publication Critical patent/CN1773506A/zh
Application granted granted Critical
Publication of CN100452038C publication Critical patent/CN100452038C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files

Abstract

提供了一种方法、系统与程序,用来管理对文件的修订。接收文件的新版本,包括对文件所指示的版本的新的修改。响应于确定所指示的版本为比当前版本早的版本,访问文件的当前版本。比较文件的所指示的版本与当前版本,以确定当前版本相对于所指示的版本的先前修改。相对于所指示的版本,对新版本中的新修改以及当前版本的先前修改是否以冲突的方式影响至少一个语义单元进行确定。

Description

管理文件修订的方法与系统
技术领域
本发明涉及一种管理文件修订的方法、系统、与程序。
背景技术
源码控制系统提供对由在不同站点的开发者登出(check out)的源码文件的修订控制管理。这些在不同站点的开发者可以对其同一源文件的拷贝进行本地修改。随着软件的开发与部署,开发者可能对同一源文件的多个版本进行工作。源码控制系统确保对同一文件进行修改的两个用户不会进行相互冲突的改变,从而该改变覆盖一个开发者的改变,或者造成代码中的不一致,而这会使代码不稳定。
在现有技术中,如果正在修改的源文件为具有回车的文本文件,则源代码控制程序进行比较与合并,以逐行地检查来自两个不同开发者对源代码同一版本(祖先版本)的修改。对于特定行进行的改变,如果没有冲突,则进行该改变。如果来自不同用户进行的修改是针对同一文本行的,则向提示最后一个用户登入其修改,以选择应用哪个修改,或者进行新的进一步的改变以解决该冲突。
某些源代码文件以结构化文档维护,例如可扩展标记语言(XML)文档,其具有表示元素与属性的标签。如果源代码控制程序逐行处理来自两个用户的、对此类结构化文档改变,则可能会发生若干语义方面的违规。文档或者相关文档一个部分的改变可能会要求文档其它地方的相应改变,但是用户可以选择拒绝该改变。例如,可能删除某元素,但是未删除对该元素的引用。或者可能违反XML结构自身,例子如下:
祖先:
<tag>foo
bar</tag>
本地贡献者:
<tag/>
其它贡献者:
<tag>foo
baz</tag>
如果从“本地贡献者”选择行1,从“其它贡献者”选择行2,则会产生以下非法结构:
<tag/>
baz</tag>
因此,某些当前的源代码控制程序将XML源文件处理为“团块”,从而不通过比较不同版本来确定是否应该允许修改。在这种不进行合并与比较情况下,例如对于XML文件的修订控制,只允许改变以串行方式发生,其中一次只有一个用户可以登出并修改文件。文本文件可以由多个用户登出,并且通过逐行比较与合并管理修订控制。
在现有技术中,为了绕开对当作“团块”的文件的串行修改限制,即在不进行比较与合并的情况下,用户可以在不将其登出的情况下编辑文件,然后当文件可用时登出该文件,并且在系统中利用用户修改的源文件进行当前源文件的手工比较与合并。这种方式依赖于用户正确选择了版本来比较与合并,并且正确进行了手工比较与合并,否则用户就要冒进行不一致修改的风险,而不一致的修改会导致改变丢失。
发明内容
提供了一种方法、系统与程序,用来管理对文件的修订。接收文件的新版本,包括对文件所指示的版本的新的修改。响应于确定所指示的版本为比当前版本早的版本,访问文件的当前版本。比较文件的所指示的版本与当前版本,以确定当前版本相对于所指示的版本的先前修改。相对于所指示的版本,对新版本中的新修改以及当前版本的先前修改是否以冲突的方式影响至少一个语义单元进行确定。
附图说明
现在参照附图,其中类似的标号表示相应的部件:
图1显示实现实施例的计算环境;
图2显示文件版本信息;以及
图3与4显示处理对文件的修改的版本控制程序操作。
具体实施方式
在以下描述中,将参照附图,这些附图构成了本发明的一部分,并且显示了本发明的几种实施方式。应该理解:在不脱离本发明范围的前提下,可以使用其它实施方式,以及对结构与操作进行改变。
图1显示网络计算环境,包含服务器2与多个客户端系统4a与4b(可能有多于或少于两个的客户端系统)。服务器2包含修订控制程序6,例如源代码控制系统,其管理在不同客户端系统4a与4b上的用户对存储设备10中的文件8a、8b...8n的修改。文件8a、8b...8n可能包含本领域公知的任意电子文档文件格式,例如文本文件、结构化文档(例如XML、超文本标记语言(HTML)、二进制文件、图像等等)。文件8a、8b...8n可能包含本领域公知的内容类型,例如源代码。修订控制程序6可以管理文件版本,而该文件版本同时由客户端系统4a与4b上的多个用户登出,以修改并创建新版本。每个客户端系统4a与4b都包含文件编辑器12a、12b,其能够访问并编辑文件8a、8b...8n,以及向修订控制程序6返回具有修改的新版本。文件编辑器12a、12b可以包含软件开发工具,以修改源代码文件,例如集成开发环境(IDE)软件开发工具。可替换地,文件编辑器12a、12b可以包含能够修改文件8a、8b...8n的任意程序。
服务器2与客户端系统4a、4b可以通过网络14(例如局域网(LAN)、存储区域网络(SAN)、因特网、内联网等等)或者本领域公知的其它数据传送接口(例如高级技术附加(ATA)、串行ATA(SATA)、小型计算机系统接口(SCSI)等等)通信。存储设备10可以包含本领域公知的任意存储设备,例如一个存储设备或者多个互连的设备(例如盘驱动器),其被配置为独立磁盘冗余阵列(RAID)、简单磁盘捆绑(JBOD)的,直接访问存储设备(DASD),磁带存储设备,单个或多个存储单元(例如磁带库)等等。存储设备10与服务器2通过网络或者本领域公知的数据接口或者网络14通信。
修订控制程序6还维护存储设备10中的文件版本信息16,以提供关于每个文件以及文件版本的信息。图2显示对于由修订控制程序6管理的每个文件的文件版本信息的例子。可以由多个用户登出的文件的文件版本信息50包含:文件标识符52,例如至该文件的指针、文件名称、以及目录位置;文件地址等等;版本信息54a、54b...54n,其中版本信息54a、54b...54n可能包含至文件的完整的修改后版本的指针或者至相对于先前版本的修改(即变化)的指针;以及用户登出信息56。
在每个版本的版本信息54a、54b...54n只包含修改(即变化(delta))的实施方式中,特定版本54a、54b...54n上的完整文件包括先于任何修订的基本文件,以及至该特定版本的每个随后修订54a、54b...54n的聚合,其中从最早版本54a进行修改直至该特定版本。通过这种方式,可以容易地从为每个版本54a、54b...54n维护的修改重新构造特定位于修订处的文件,而不用为每个修订存储文件的完整内容。
用户登出信息56可以包含关于已经登出文件的多个用户的信息以及这些用户的身份。当用户登入文件的新版本时,已经登出文件的用户的数目降低,并且去除该用户的身份。当具有修改的文件被正确登入时,修订控制程序6存储被提供给该登入的修改,作为该文件的最新版本54(n+1)。在某些实施方式中,由修订控制程序6管理的文件8a、8b...8n的文件版本信息50可以在数据库、或者用来维护元数据以及有关于文件的信息的其它数据结构(例如表等等)中维护。
图3与4显示由修订控制程序6进行的操作,用来管理来自不同用户的文件的新版本,而这些用户可能正在同时对文件8a、8b...8n(例如源代码文件)进行改变。当修订控制程序6收到(在块100)更新文件的所指示的版本(即登出版本)的、包含对该文件所指示的版本的新修改请求时,开始控制。所指示的版本包含用户起初登出的版本,并且新修改包含登入所指示的版本的用户希望进行的修改。可以由在一个客户端系统4a、4b内运行文件编辑器12a、12b的用户启动该请求。另外,该请求可以包含文件8a、8b...8n的登入。修订控制程序6可以更新(在块102)登出的数目,以指示新的登出,其中此类信息可以包含在对于经受登入操作的文件8a、8b...8n的文件版本信息50的用户登出信息56中。如果(在块104)经受新修改的所指示的版本与当前版本为同一版本,即自从所指示的版本被登出后没有进行中间修改,则向所指示的版本(在这种情况下为当前版本)施加(在块106)该新修改,以产生新的当前版本。创建新的当前版本包括:添加版本信息(例如56(n+1)),提供至收到的修改、或者用收到的修改修改的文件的完整内容的指针。
如果(在块104)所指示的版本为比当前版本早的版本,即所指示的版本随后由另一用户修改了,则访问文件的当前版本(在块108)。如果在所指示的版本被登出时另一用户登入了对所指示的版本、或者随后版本的修改,则所指示的版本与当前版本不同。该访问操作可能包括:登出当前版本(即版本54n),以及更新该文件的用户登出信息56以指示新的登出,以及对所指示的版本的先前检查。在利用登入与登出程序的实施方式中,修订控制程序6可以为登入所指示的版本与新修改的用户撤消对所指示的版本的登出(在块110),从而该用户登出当前版本,而其对所指示的版本的登出撤消。
修订控制程序6比较(在块112)该文件的旧的所指示的版本以及由版本信息54n表示的当前版本,以确定当前版本相对于所指示的版本进行的先前修改。该先前修改包含由成功登入当前版本的最后一个用户相对于所指示的版本进行的那些修改,即当前版本与所指示的版本之间的差异或者变化。
比较先前修改与新修改的操作可能包含:检查所指示的版本中文本的每一行,并且确定是否有新修改和/或影响同一或相关信息的先前修改(由登入当前版本的用户进行)。例如,比较操作可能包含:检查修改,以逐行确定改变或者对文档数据结构的修改。例如,对改变的比较可能包含确定改变是否影响:(1)结构完整性(结构可以跨越多行,例如在<tag>与<foo>的例子中),(2)引用完整性(从一个元素或属性到另一个元素或属性的引用可以跨越结构甚至文档,并且需要维护一致——这包括:如果目标元素已经移动,则将引用指向新位置;或者如果目标元素已经被删除,则删除引用);以及(3)域特有完整性(被存储的数据可能具有进一步的规则,例如防止同一名称的两个元素由包含元素拥有,在信息结构内导航多个引用等等)。由此,比较操作可能包含:检测对文档中任何语义单元的冲突修改。“语义单元”包含文档中可能以冲突方式经受修改的任何信息、标签、元素、引用、或者数据结构,其中“冲突方式”的修改包含对语义单元的、相互不一致的、或者违反文档或语言规则的修改。
如果(在块114)对于所指示的版本所有新的与先前的修改没有以冲突方式影响至少一个语义单元,则修订控制程序6对文件所指示的版本施加(在块116)新的与先前的修改,从而当前版本与所指示的版本之间的差异(先前修改)与新修改两者都得到实现。否则,如果(在块114)对于所指示的版本存在某些新的与先前的修改以冲突方式影响了语义单元,则修订控制程序6提交(在块118)关于新修改子集的信息,其中该子集中的新修改影响了所指示的版本中受到先前修改影响的语义单元。修订控制程序6还可以进一步提交(在块120)关于当前版本与所指示的版本之间的改变的信息。更进一步地,修订控制程序6可以提交(在块122)信息,用来显示所指示的版本、冲突新修改子集与先前修改,以使用户能够选择子集中的冲突新修改、或者先前修改,以施加到所指示的版本上。
所提交的信息可以在客户端系统4a、4b处提交,其中信息从服务器2传送给客户端系统4a、4b。该信息允许文件编辑器12a、12b的用户查看所指示的版本与先前修改,以及用户希望添加的新修改,当将先前修改施加到所指示的版本上时会得到当前版本。这就允许用户查看相对于所指示的版本的、该用户提供的、与由最后一个用户进行的对语义单元的先前修改相冲突的、对语义单元的新修改。然后相对于所指示的版本中新修改与先前修改两者都修改的语义单元,用户可以选择(在块124)使用冲突的新修改、先前修改、或者用户输入的修改。可以向用户显示关于冲突的信息,从而以交互方式修改或者接受。
另外,通过对用户提交来登入的任何文件自动进行比较与合并操作,从而所提出的修改与先前修改之间的任何冲突修改都被标记以备用户查看以及采取动作,所述实施方式以防止用户绕过正常工作流的方式进行比较与合并程序。
所述实施方式提供了以下技术:当不同用户可以进行改变、并且可以在不同时间登入这些改变时,管理对被登出的文件版本的改变,从而允许一致、无冲突改变,并且以防止允许冲突的改变的方式处理冲突的改变。
其它实施方式细节
利用产生软件、固件、硬件、或其组合的标准编程和/或工程技术,所述操作可以实现为方法、装置、或者制造的产品。此处使用的名词“制造的产品”指在硬件逻辑(例如集成电路芯片、可编程门阵列(PAG)、应用专用集成电路(ASIC)等等)或者计算机可读介质(诸如:磁存储介质,例如硬盘驱动器、软盘驱动器、磁带等等;光存储,例如CD-ROM、光盘等等;易失与非易失存储器设备,例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等等)中实现的代码或者逻辑。由处理器访问并执行计算机可读介质中的代码。其中实现优选实施方式的代码还可以通过传送介质、或者从文件服务器通过网络访问。在这样的情况下,其中实现该代码的制造的产品可以包含传送介质,例如网络传送线、无线传送介质、通过空间的信号传播、无线电波、红外线等等。由此,“制造的产品”可以包含其中实现代码的介质。另外,“制造的产品”可以包含硬件与软件组件的组合,其中实现、处理、并执行所述代码。当然,本领域技术人员应该理解:在不脱离本发明范围的情况下,可以对该配置进行许多修改,并且制造的产品可以包含本领域公知的任何信息承载介质。
所述操作可以由电路执行,其中“电路”指硬件或者软件或者其组合。用来执行所述实施方式的操作的电路可以包含硬件设备,例如集成电路芯片、可编程门阵列(PAG)、应用专用集成电路(ASIC)等等。该电路还可以包含处理器组件,例如集成电路,以及计算机可读介质(例如存储器)中的代码,其中该代码由处理器执行,以执行所述实施方式的操作。
在所述实施方式中,修订控制程序通过网络接收来自不同客户端系统上的文件编辑器程序的修改。在可替换实施方式中,修订控制程序可以在运行文件编辑器程序的同一系统上运行。
图3与4所示的操作显示以特定顺序发生的特定事件。在可替换实施方式中,某些操作可以不同顺序执行、修改、或者删除。另外,可以向上述逻辑添加步骤,并且仍然符合所述实施方式。另外,此处描述的操作依次发生,或者某些操作可以并行处理。另外,可以由单个处理单元或者由分布式处理单元进行操作。
以上对本发明各种实施方式的描述只是为了说明与描述的目的。其非穷尽,也不是要将本发明限制到所公开的精确形式。根据上述,许多修改与变化都是可能的。本发明的范围不限于该详细描述,而是所附权利要求。上述说明、例子、以及数据提供了对本发明的制造与使用的完整描述。因为在不脱离本发明精神与范围的情况下可以实现本发明的许多实施方式,所以本发明蕴涵在权利要求中。

Claims (16)

1.一种用于管理文件修订的方法,包含:
接收文件的新版本,包括对文件所指示的版本的新的修改;
响应于确定所指示的版本为比当前版本早的版本,访问文件的当前版本;
比较文件的所指示的版本与当前版本,以确定当前版本相对于所指示的版本的先前修改;
相对于所指示的版本,确定新版本中的新修改以及当前版本的先前修改是否以冲突的方式影响至少一个语义单元;以及
响应于新修改以及先前修改以冲突的方式影响至少一个语义单元,提交有关新修改的子集的信息,其中相对于所指示的版本,该子集中的新修改以及先前修改以冲突的方式影响至少一个语义单元。
2.如权利要求1所述的方法,还包含:
响应于确定在所指示的版本中新修改以及先前修改未以冲突的方式影响至少一个语义单元,将新修改以及先前修改施加到文件的所指示的版本。
3.如权利要求1所述的方法,其中提交信息还包含:
提交用来显示所指示的版本、新修改的该子集以及先前修改的信息,以使得能够为所指示的版本中的语义单元选择该子集中的新修改或者先前修改。
4.如权利要求1所述的方法,还包含:
接收用户选择,以便对于所指示的版本中由该子集中的新修改与先前修改以冲突的方式影响的语义单元使用该子集中的新修改、先前修改或者用户输入的修改。
5.如权利要求1所述的方法,还包含:
为基本文件维护对基本文件每个版本的修改,其中先前修改包含对于该文件维护的修改。
6.如权利要求1所述的方法,其中文件包含由源代码控制系统管理的源代码文件,其中在源代码控制系统处接收来自耦合于源代码控制系统的多个客户端系统之一的更新文件所指示的版本的、包含对该文件所指示的版本的新修改的请求,并且其中由该源代码控制系统执行所述方法。
7.如权利要求1所述的方法,其中文件包含具有用来指定表示该文件内容的元素以及属性的标签的文档。
8.如权利要求1所述的方法,其中接收文件的新版本为对于登入具有新修改的所指示的版本的请求的一部分,并且其中所指示的版本先前向一用户登出,该用户提交了对所指示的版本与修改的登入,其中所述响应于确定所指示的版本为比当前版本早的版本、访问文件的当前版本的操作包含:
响应于确定所指示的版本为较早的版本,撤消对所指示的版本的登出,其中访问当前版本包括登出当前版本;以及
所述方法还包含:
完成登入并创建具有所施加的修改的文件的新的当前版本。
9.一种用于管理文件修订的制造的产品,包含:
用于接收文件的新版本的部件,其中该新版本包括对文件所指示的版本的新的修改;
用于响应于确定所指示的版本为比当前版本早的版本而访问文件的当前版本的部件;
用于比较文件的所指示的版本与当前版本以确定当前版本相对于所指示的版本的先前修改的部件;
用于相对于所指示的版本而确定新版本中的新修改以及当前版本的先前修改是否以冲突的方式影响至少一个语义单元的部件;以及
用于响应于新修改以及先前修改以冲突的方式影响至少一个语义单元而提交有关新修改的子集的信息的部件,其中相对于所指示的版本,该子集中的新修改以及先前修改以冲突的方式影响至少一个语义单元。
10.如权利要求9所述的制造的产品,还包含:
响应于确定在所指示的版本中新修改以及先前修改未以冲突的方式影响至少一个语义单元,将新修改以及先前修改施加到文件的所指示的版本的部件。
11.如权利要求9所述的制造的产品,其中提交信息还包含:
提交用来显示所指示的版本、新修改的该子集以及先前修改的信息,以使得能够为所指示的版本中的语义单元选择该子集中的新修改或者先前修改。
12.如权利要求9所述的制造的产品,还包含:
用于接收用户选择以便对于所指示的版本中由该子集中的新修改与先前修改以冲突的方式影响的语义单元使用该子集中的新修改、先前修改或者用户输入的修改的部件。
13.如权利要求9所述的制造的产品,还包含:
用于为基本文件维护对基本文件每个版本的修改的部件,其中先前修改包含对于该文件维护的修改。
14.如权利要求9所述的制造的产品,其中所述制造的产品是源代码控制系统,文件包含由该源代码控制系统管理的源代码文件,其中在源代码控制系统处接收来自耦合于源代码控制系统多个客户端系统之一的更新文件所指示的版本的、包含对该文件所指示的版本的新修改的请求。
15.如权利要求9所述的制造的产品,其中文件包含具有用来指定表示该文件内容的元素以及属性的标签的文档。
16.如权利要求9所述的制造的产品,其中接收文件的新版本为对于登入具有新修改的所指示的版本的请求的一部分,并且其中所指示的版本先前向一用户登出,该用户提交了对所指示的版本与修改的登入,其中所述用于响应于确定所指示的版本为比当前版本早的版本而访问文件的当前版本的部件响应于确定所指示的版本为较早的版本,撤消对所指示的版本的登出,其中访问当前版本包括登出当前版本;以及
所述制造的产品还包括:
用于完成登入并创建具有所施加的修改的文件的新的当前版本的部件。
CNB2005101203786A 2004-11-12 2005-11-11 管理文件修订的方法与系统 Expired - Fee Related CN100452038C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/987,382 US20060106889A1 (en) 2004-11-12 2004-11-12 Method, system, and program for managing revisions to a file
US10/987,382 2004-11-12

Publications (2)

Publication Number Publication Date
CN1773506A CN1773506A (zh) 2006-05-17
CN100452038C true CN100452038C (zh) 2009-01-14

Family

ID=36387721

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101203786A Expired - Fee Related CN100452038C (zh) 2004-11-12 2005-11-11 管理文件修订的方法与系统

Country Status (2)

Country Link
US (1) US20060106889A1 (zh)
CN (1) CN100452038C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022127557A1 (zh) * 2020-12-16 2022-06-23 华为云计算技术有限公司 代码分析的方法和相关设备

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7644239B2 (en) * 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7366740B2 (en) * 2004-05-03 2008-04-29 Microsoft Corporation Systems and methods for automatic maintenance and repair of enitites in a data model
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US8719786B2 (en) * 2005-03-30 2014-05-06 Alcatel Lucent Method for performing conditionalized N-way merging of source code
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US7797743B2 (en) * 2007-02-26 2010-09-14 Microsoft Corporation File conversion in restricted process
CN101641678B (zh) * 2007-04-09 2012-03-21 富士通株式会社 源程序再次研究方法及源程序再次研究装置
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
JP5067235B2 (ja) * 2008-03-28 2012-11-07 富士通株式会社 設計支援システム及び設計支援プログラム
US20090307274A1 (en) * 2008-06-06 2009-12-10 Microsoft Corporation Delayed merge
US7899883B2 (en) * 2008-06-13 2011-03-01 Microsoft Corporation Merging versions of documents using multiple masters
US9311626B2 (en) * 2008-08-07 2016-04-12 International Business Machines Corporation Electronic mail reply with update
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
JP5239674B2 (ja) * 2008-09-17 2013-07-17 株式会社リコー 情報処理装置、処理制御方法、プログラムおよび記録媒体
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
JPWO2010044150A1 (ja) * 2008-10-15 2012-03-08 富士通株式会社 プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法
US9069751B1 (en) * 2009-07-21 2015-06-30 Exelis, Inc. Systems and methods for managing document pedigrees
US8789024B2 (en) * 2009-11-04 2014-07-22 Red Hat, Inc. Integration of visualization with source code in the Eclipse development environment
US8893093B2 (en) * 2010-05-07 2014-11-18 Salesforce.Com, Inc. Method and system for automated performance testing in a multi-tenant environment
CN102314411B (zh) * 2010-06-30 2015-02-18 百度在线网络技术(北京)有限公司 处理词条编创冲突的方法与系统
CN101937457A (zh) * 2010-08-31 2011-01-05 中山大学 一种基于html的版本管理方法及系统
CN102799569A (zh) * 2011-05-27 2012-11-28 汉王科技股份有限公司 一种epub文档的校对方法及装置
CN103020026B (zh) * 2012-11-15 2016-05-25 无锡永中软件有限公司 协同文档处理系统及方法
US20150286623A1 (en) * 2014-04-02 2015-10-08 Samsung Electronics Co., Ltd. Method and apparatus for marking relevant updates to html 5
KR101634571B1 (ko) * 2014-07-31 2016-07-08 주식회사 파수닷컴 문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체
CN105183789A (zh) * 2015-08-21 2015-12-23 福建天晴数码有限公司 基于git源代码冲突的文件合并方法及系统
US10261782B2 (en) * 2015-12-18 2019-04-16 Amazon Technologies, Inc. Software container registry service
US9977786B2 (en) * 2015-12-23 2018-05-22 Github, Inc. Distributed code repository with limited synchronization locking
US9430748B1 (en) 2016-01-29 2016-08-30 International Business Machines Corporation Verifying historical artifacts in disparate source control systems
US9747098B2 (en) 2016-01-29 2017-08-29 International Business Machines Corporation Verifying source code in disparate source control systems
CN106406918B (zh) * 2016-11-25 2020-02-28 华胜信泰信息产业发展有限公司 源代码自动合并方法和源代码自动合并装置
US10146530B1 (en) 2017-07-12 2018-12-04 International Business Machines Corporation Simulating and evaluating code branch merge
CN110069455B (zh) * 2017-09-21 2021-12-14 北京华为数字技术有限公司 一种文件合并方法及装置
CN113110868B (zh) * 2021-04-07 2023-08-08 网易(杭州)网络有限公司 文件合并方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226652B1 (en) * 1997-09-05 2001-05-01 International Business Machines Corp. Method and system for automatically detecting collision and selecting updated versions of a set of files
CN1310388A (zh) * 2000-02-21 2001-08-29 英业达股份有限公司 借由增量的方式来使数据文件升级的方法
US20040031027A1 (en) * 2002-08-08 2004-02-12 Hiltgen Daniel K. System for updating diverse file versions
US6757893B1 (en) * 1999-12-17 2004-06-29 Canon Kabushiki Kaisha Version control system for software code
US20040177343A1 (en) * 2002-11-04 2004-09-09 Mcvoy Lawrence W. Method and apparatus for understanding and resolving conflicts in a merge

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193191A (en) * 1989-06-30 1993-03-09 Digital Equipment Corporation Incremental linking in source-code development system
US5579223A (en) * 1992-12-24 1996-11-26 Microsoft Corporation Method and system for incorporating modifications made to a computer program into a translated version of the computer program
US5522079A (en) * 1993-06-14 1996-05-28 International Business Machines Corporation Compiler merging new and preexisting modules while preserving function order
US6760840B1 (en) * 1994-03-15 2004-07-06 Kabushiki Kaisha Toshiba File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing
US5745906A (en) * 1995-11-14 1998-04-28 Deltatech Research, Inc. Method and apparatus for merging delta streams to reconstruct a computer file
US5729743A (en) * 1995-11-17 1998-03-17 Deltatech Research, Inc. Computer apparatus and method for merging system deltas
US5878414A (en) * 1997-06-06 1999-03-02 International Business Machines Corp. Constructing a transaction serialization order based on parallel or distributed database log files
US6216140B1 (en) * 1997-09-17 2001-04-10 Hewlett-Packard Company Methodology for the efficient management of hierarchically organized information
NL1007462C1 (nl) * 1997-11-06 1997-11-28 Nederland Ptt Werkwijze en systeem voor de generatie van bedrijfsinformatie.
US6393437B1 (en) * 1998-01-27 2002-05-21 Microsoft Corporation Web developer isolation techniques
EP0981099A3 (en) * 1998-08-17 2004-04-21 Connected Place Limited A method of and an apparatus for merging a sequence of delta files
US6336217B1 (en) * 1998-12-30 2002-01-01 International Business Machines Corporation Systems, methods and computer program products for end-to-end software development process automation
US6460052B1 (en) * 1999-08-20 2002-10-01 Oracle Corporation Method and system for performing fine grain versioning
US6449624B1 (en) * 1999-10-18 2002-09-10 Fisher-Rosemount Systems, Inc. Version control and audit trail in a process control system
GB9930124D0 (en) * 1999-12-21 2000-02-09 Ibm File system for a computer and method of synchronising sets of files
US6415299B1 (en) * 2000-04-12 2002-07-02 Unisys Corp. Method for merging versions of a model in an object oriented repository
US7532340B2 (en) * 2002-04-19 2009-05-12 Toshiba Tec Kabushiki Kaisha Document management system rule-based automation
US7203708B2 (en) * 2003-11-06 2007-04-10 Microsoft Corporation Optimizing file replication using binary comparisons
US7487471B2 (en) * 2004-07-23 2009-02-03 Sap Ag User interface for conflict resolution management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226652B1 (en) * 1997-09-05 2001-05-01 International Business Machines Corp. Method and system for automatically detecting collision and selecting updated versions of a set of files
US6757893B1 (en) * 1999-12-17 2004-06-29 Canon Kabushiki Kaisha Version control system for software code
CN1310388A (zh) * 2000-02-21 2001-08-29 英业达股份有限公司 借由增量的方式来使数据文件升级的方法
US20040031027A1 (en) * 2002-08-08 2004-02-12 Hiltgen Daniel K. System for updating diverse file versions
US20040177343A1 (en) * 2002-11-04 2004-09-09 Mcvoy Lawrence W. Method and apparatus for understanding and resolving conflicts in a merge

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022127557A1 (zh) * 2020-12-16 2022-06-23 华为云计算技术有限公司 代码分析的方法和相关设备

Also Published As

Publication number Publication date
CN1773506A (zh) 2006-05-17
US20060106889A1 (en) 2006-05-18

Similar Documents

Publication Publication Date Title
CN100452038C (zh) 管理文件修订的方法与系统
KR101246996B1 (ko) 전자 데이터 스냅샷 생성기
CN100414547C (zh) 用于访问文件系统快照的方法和文件系统
US6505212B2 (en) System and method for website development
CN102132273B (zh) 注释网页内容
US7574488B2 (en) Method and apparatus for peer-to-peer file sharing
US20040216084A1 (en) System and method of managing web content
US7028032B1 (en) Method of updating network information addresses
US7765464B2 (en) Method and system for dynamically assembling presentations of web pages
US20080282175A1 (en) Automatically encoded, gracefully degrading panels
US20050033728A1 (en) Methods, systems, architectures and data structures for delivering software via a network
US8572032B2 (en) Method and apparatus for editing a production data store by shadowing content
US20070143242A1 (en) Disk-based cache
JP2005346717A (ja) データソースを発見して接続するための方法、システムおよび装置
CN101268464A (zh) 使用文档使用统计量的排位函数
ZA200503578B (en) Adaptively interfacing with a data repository
US20080301299A1 (en) Automatically targeting and filtering shared network resources
US11080344B2 (en) Cloud-native documents integrated with legacy tools
JP2007526543A (ja) ジャーナリングおよび親マップ置換を含むWebサイト開発用システムおよび方法
JP2011191862A (ja) ファイル管理装置、ファイル管理システム、およびファイル管理プログラム
JP4068373B2 (ja) 近位キューを使用するウェブサイトの使用を予測するための方法
US9766949B2 (en) System and method for locking exclusive access to a divided resource
JP2007148739A (ja) ファイル管理システム及びそのプログラム
US20060136438A1 (en) Process server array for processing documents and document components and a method related thereto
US20090006942A1 (en) Embedded markup resources

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: IBM (CHINA) CO., LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORP.

Effective date: 20101101

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: NEW YORK, UNITED STATES TO: 201203 7/F, BUILDING 10, ZHANGJIANG INNOVATION PARK, NO.399, KEYUAN ROAD, HIGH-TECH PARK, ZHANGJIANG, PUDONG NEW DISTRICT, SHANGHAI

TR01 Transfer of patent right

Effective date of registration: 20101101

Address after: 201203 Shanghai city Pudong New Area Keyuan Road No. 399 Zhang Jiang Zhang Jiang high tech Park Innovation Park 10 Building 7 layer

Patentee after: International Business Machines (China) Co., Ltd.

Address before: American New York

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090114

Termination date: 20171111

CF01 Termination of patent right due to non-payment of annual fee